# Deploying Lichen This repo contains reference configurations for deploying [lichen.page](https://lichen.page) to a server. ## Docker images Official images are on Docker Hub: [notplants/lichen-full](https://hub.docker.com/r/notplants/lichen-full) and [notplants/lichen-min](https://hub.docker.com/r/notplants/lichen-min). | Image | Size | Description | |-------|------|-------------| | `notplants/lichen-full` | ~87MB | All features: git sync, AT Protocol auth, OIDC, Hugo, mdbook, shell access. Includes `hugo`, `git`, and `git-remote-pds`. **(recommended)** | | `notplants/lichen-min` | ~23MB | Lichen SSG only, no external dependencies. | Pull the latest: ```bash docker pull notplants/lichen-full:latest ``` ## Docker Compose (recommended) The [`docker-compose/`](docker-compose/) directory has a ready-to-use setup with lichen + Caddy (automatic HTTPS). ```bash cd docker-compose cp .env.example .env # set DOMAIN and ADMIN_PASSWORD docker compose up -d ``` See [`docker-compose/README.md`](docker-compose/README.md) for full instructions including custom binaries and tmpfs configuration. ## Other deployment methods | Method | Directory | Description | |--------|-----------|-------------| | **Ansible** | [`ansible/`](ansible/) | Automates Docker install, file sync, and lifecycle on a VPS. Wraps the docker-compose setup. | | **Helm** | [`helm/`](helm/) | Kubernetes Helm chart. | Each directory has its own README with setup instructions. ## Local verification Run `python3 -m unittest discover -s tests` for the isolated entrypoint checks. Ansible playbooks can be checked without deploying using `ansible-playbook -i inventory.example.yml --syntax-check override.yml` from `ansible/`.