Requirements
Docker (or compatible runtime). Supported architectures: linux/amd64 and linux/arm64. Image on Docker Hub: averichev/cms.
Docker
The image includes Nginx and VerunaCMS. On startup the container fetches the latest binary from the update manifest and serves on port 80.
docker run -d \
--name veruna-cms \
-p 8080:80 \
-v veruna-cms-data:/opt/veruna/data \
averichev/cms:latestCMS is available at http://localhost:8080. Data is stored in the veruna-cms-data volume. Use --restart unless-stopped for production.
Check with curl: curl -sI http://localhost:8080 — expect HTTP/1.1 200 OK (or 301/302). Status code only: curl -s -o /dev/null -w "%{http_code}" http://localhost:8080 → 200, 301, or 302.
Docker Compose
services:
cms:
image: averichev/cms:latest
container_name: veruna-cms
ports:
- "8080:80"
volumes:
- veruna-cms-data:/opt/veruna/data
environment:
- MANIFEST_URL=https://cms.veruna.tech/release/manifest.json
restart: unless-stopped
volumes:
veruna-cms-data:Run with docker compose up -d.
Environment variables
| Variable | Default | Description |
|---|---|---|
MANIFEST_URL | https://cms.veruna.tech/release/manifest.json | Update manifest URL. The container downloads the CMS binary from this URL on each start. |
CMS_PORT | 20921 | Internal port the CMS backend listens on (Nginx proxies to it). Usually no need to change. |