Get Started
View production requirements in Preparation documentation before continuing.
services:
rexi:
image: oci.registry.sudovanilla.org/rexi:amd64 # or arm64
restart: always
ports:
- 2048:8085
volumes:
- ./config.json:/rexi/config.json
- ./About.md:/rexi/src/components/About.md
The OCI images available for Docker and other container software are available
for both amd64 and arm64 system architecture. By default, amd64 is already
selected in the compose.yml file as it’s more common to see in servers. This
is shown at the end of the OCI image name in the image section.
If your server does not run on either of the architecture, then you’ll need to build the OCI image on the server itself, if that is the case please continue to Building OCI Image.
| Architecture | OCI Image |
|---|---|
amd64 | oci.registry.sudovanilla.org/rexi:amd64 |
arm64 | oci.registry.sudovanilla.org/rexi:arm64 |
By default, port host 2048 is used for the Rexi container in
compose.yml. You are most welcome to change this port in compose.yml,
however please do NOT change the container port which is 8085.
If for unknown reasons the ports aren’t being properly exposed, possibility under
a janky Docker setup, you may need to open the network_mode to host.
Switching network_mode means it’ll use the container port on the network
instead, which would be 8085. This is rare situation and is not necessary
for most server environments.
Docker volumes are used to persist data generated by and used by Docker
containers, all volumes that are already included in compose.yml should not be
removed, although you’re welcome to add volumes with caution.
The about text is shown at the homepage, which is stored in the About.md file.
Using volumes, you can also add files which should be used to override components in Rexi, as an example for the footer:
...
- ./overrides/Footer.astro:/rexi/src/components/Footer.astro
...
For your config.json, use the following:
{
"Global": {
"PoweredBy": true,
"Login": true,
"Register": true
},
"Links": {
"Footer": [
{
"Text": "Documentation",
"Link": "https://rexi.docs.sudovanilla.org"
},
{
"Text": "Source Code",
"Link": "https://ark.sudovanilla.org/Korbs/Rexi"
}
]
},
"Texts": {
"Header": {
"Site": "Company LLC Registry",
"OCI": "OCI Images",
"JS": "JavaScript",
"Linux": "Packages"
},
"Footer": {
"Copyright": {
"Author": "Company LLC",
"Year": "2026"
}
}
},
"Instances": {
"Zot": {
"Enable": true,
"Protocol": "https",
"Hostname": "oci.registry.example.org",
"ShowAmount": true,
"ShowExternalLink": false
},
"Verdaccio": {
"Enable": false,
"Protocol": "https",
"Hostname": "js.registry.example.org",
"ShowAmount": true,
"ShowExternalLink": false,
"Badges": "badges.sudovanilla.org",
"Imgur": "imgur.sudovanilla.org"
},
"OpenRepo": {
"Enable": false,
"Protocol": "https",
"Hostname": "linux.registry.example.org",
"ShowAmount": false,
"APIKey": "YOUR_OPENREPO_API_KEY",
"Repos": ["REPO_NAME"]
}
}
}
Be sure that you’re pointing to the your instances for Zot, Verdaccio, and OpenRepo. If you’re not using one of these registries, you can simply set the Enable option for it to false.
Retrieve the OCI image:
docker compose pull
Then launch:
docker compose up -d
Within a few moments, Rexi will be available at http://localhost:2048.
If it still not available yet at the port
2048, then it may still be building or something was mis-configured resulting in error. To check the status, run the log command:docker compose logs --follow