Documentation for the Wiki.js service powering docs.enclari.com.
web/opt/stack/docs/docker-compose.ymlwebsecure with Let s Encrypt DNS-01 HetznerMinimal shape used in Enclari. See exact values in /opt/stack/docs/docker-compose.yml.
services:
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: wiki
POSTGRES_USER: wikijs
POSTGRES_PASSWORD: ${WIKIJS_DB_PASS}
volumes:
- db-data:/var/lib/postgresql/data
networks: [web]
restart: unless-stopped
wiki:
image: ghcr.io/requarks/wiki:2.5
depends_on: [db]
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: "5432"
DB_USER: wikijs
DB_PASS: ${WIKIJS_DB_PASS}
DB_NAME: wiki
LOG_LEVEL: info
LOG_FORMAT: json
labels:
- traefik.enable=true
- traefik.docker.network=web
- traefik.http.routers.docs.rule=Host(`docs.enclari.com`)
- traefik.http.routers.docs.entrypoints=websecure
- traefik.http.routers.docs.tls=true
- traefik.http.routers.docs.tls.certresolver=le
- traefik.http.routers.docs.middlewares=secure-headers
- traefik.http.services.docs.loadbalancer.server.port=3000
networks: [web]
restart: unless-stopped
volumes:
db-data:
networks:
web:
external: true
https://auth.enclari.com/application/o/wikijs/https://auth.enclari.com/application/o/authorize/https://auth.enclari.com/application/o/token/https://auth.enclari.com/application/o/userinfo/openid email profileemail -> Email, preferred_username -> Username, name -> Display Name.See also: /platform/authentik.
LOG_FORMAT=json, view with docker logs -f docs_wiki or centralize later to Loki.Backup with Restic under tag service=docs.
What to include
/opt/stack/docs (compose and config)Find the actual volume name
docker volume ls | grep '^docs_'
Manual backup example
restic backup /opt/stack/docs /var/lib/docker/volumes/<docs_db_volume> --tag service=docs
cd /opt/stack/docs && docker compose down/opt/restore/docs-<timestamp>.rsync -aHAX --delete /opt/restore/docs-*/opt/stack/docs/ /opt/stack/docs/
rsync -aHAX --delete /opt/restore/docs-*/var/lib/docker/volumes/<docs_db_volume>/_data/ /var/lib/docker/volumes/<docs_db_volume>/_data/
docker compose up -dhttps://docs.enclari.com and sign in via OIDC.# Update Wiki.js
cd /opt/stack/docs
docker compose pull && docker compose up -d
# Logs
docker compose logs -f --tail=200 wiki
# Health
curl -I https://docs.enclari.com
# DB shell
docker exec -it $(docker ps --filter name=docs_db --format '{{.ID}}') psql -U wikijs -d wiki