Lichen Docker Compose Deployment#
Deploy lichen to any VPS with Docker.
Quick start#
- Copy this directory to your server
- Create
.envfrom the example:cp .env.example .env # edit .env — set DOMAIN and ADMIN_PASSWORD - Point your domain's DNS A record to the server IP
- Start:
docker compose up -d - Caddy automatically obtains a TLS certificate via Let's Encrypt
Connect the CLI#
lm auth login --server https://your-domain.com --password
lm sites list
Custom binary (optional)#
To run a custom-built lichen-server instead of the image default:
mkdir -p bin
# build locally and copy, or scp from your dev machine:
scp your-machine:path/to/target/release/lichen-server bin/
docker compose restart app
The entrypoint checks for bin/lichen-server and uses it if present.
Remove the file and restart to revert to the standard image.
Files#
docker-compose.yml— service definitions (app + caddy)entrypoint.sh— startup script (admin user, custom binary check)Caddyfile— HTTPS with on-demand TLS via Let's Encrypt.env.example— configuration templatebin/— drop a custom lichen-server binary here (gitignored)