# Creating a Server
Photon OS 3.0 includes a `rpm-ostree-repo` package that can be installed on a VM.
This package provides an automated script that creates a repo tree that acts as a server.
Run the following commands to create a server:
```
tdnf install rpm-ostree-repo
```
A script is created, which provides options to create a server.
<p>Script to create a Photon OSTree repo
Usage:
```
/usr/bin/rpm-ostree-server/mkostreerepo -r=<repo path>
/usr/bin/rpm-ostree-server/mkostreerepo -r=<repo path> -p=<json treefile>
/usr/bin/rpm-ostree-server/mkostreerepo -c -r=<repo path> -p=<json treefile>
-r|--repopath <Provide repo path>
-p|--jsonfile <Provide Json file>
-c|--customrepo <Provide custom repo file inside repo path directory>
```
**Note**
- Use **PATH=$PATH:/usr/bin/rpm-ostree-server** and then use **mkostreerepo** from any directory for ease of use.
- **mkostreerepo** is used to create the fresh tree for ostree.
- **mkostreerepo** is also used to update a new commit to the existing tree.
- You can also use custom repo as to create/append the tree.
Run the following command to initiate the script, choose different help options to create a server.
```
mkostreerepo
```
## Manually Composing your OSTree repo
Use the following commands to initialize a new repo and to compose it.
```
root [ ~ ]# cd /srv/rpm-ostree
root [ /srv/rpm-ostree ]# ostree --repo=repo init --mode=archive-z2
root [ /srv/rpm-ostree ]# rpm-ostree compose tree --repo=repo photon-base.json
```
You can now deploy a host. For more information, see [File oriented server operations](Photon-RPM-OStree-8-File-oriented-server-operations.md) and [Package oriented server operations](Photon-RPM-OSTree-9-Package-oriented-server-operations.md) to learn create your own customized file tree.