wikijs-db)```yaml
services:
wikijs-db:
image: 'postgres:16-alpine'
restart: unless-stopped
environment:
- POSTGRES_DB=wikijs
- POSTGRES_USER=wikijs
- 'POSTGRES_PASSWORD=${WIKIJS_DB_PASSWORD}'
volumes:
- 'wikijs-db-data:/var/lib/postgresql/data'
logging:
driver: none
wikijs:
image: 'ghcr.io/requarks/wiki:2'
restart: unless-stopped
depends_on:
- wikijs-db
environment:
- DB_TYPE=postgres
- DB_HOST=wikijs-db
- DB_PORT=5432
- DB_USER=wikijs
- 'DB_PASS=${WIKIJS_DB_PASSWORD}'
- DB_NAME=wikijs
expose:
- '3000'
volumes:
- 'wikijs-data:/wiki-data'
labels:
- traefik.http.middlewares.security-headers-wiki.headers.stsSeconds=31536000
- traefik.http.middlewares.security-headers-wiki.headers.stsIncludeSubdomains=true
- traefik.http.middlewares.security-headers-wiki.headers.contentTypeNosniff=true
- traefik.http.middlewares.security-headers-wiki.headers.customFrameOptionsValue=SAMEORIGIN
- traefik.http.middlewares.security-headers-wiki.headers.referrerPolicy=no-referrer
- traefik.http.middlewares.security-headers-wiki.headers.browserXssFilter=true
- traefik.http.middlewares.security-headers-wiki.headers.customResponseHeaders.X-Permitted-Cross-Domain-Policies=none
- 'traefik.http.middlewares.security-headers-wiki.headers.customResponseHeaders.X-Robots-Tag=noindex, nofollow, noarchive'
- coolify.traefik.middlewares=security-headers-wiki
volumes:
wikijs-db-data: null
wikijs-data: null
```
| Variable | Beschreibung |
|---|---|
WIKIJS_DB_PASSWORD |
Zufälliges, starkes Passwort für die Postgres-DB (z.B. via `openssl rand -base64 32`) |
X-Robots-Tag: noindex, nofollow, noarchive gesetzt, damit die Doku nicht in Suchmaschinen landet| Datum | Änderung |
|---|---|
| 2026-07-02 | Ersteinrichtung via Coolify, Security-Headers + noindex konfiguriert |