# BookStack - Egyszerű, könyv-szerű wiki és dokumentáció platform # Domain: wiki.${DOMAIN} # Database: mariadb # RAM: ~150M (mem_limit: 512M) | Pi-compatible: Yes # # Environment variables: # DOMAIN - Your domain (e.g., demo-felhom.eu) # DB_PASSWORD - Adatbázis jelszó (auto-generated) # APP_KEY - Laravel application key (auto-generated) services: bookstack: image: lscr.io/linuxserver/bookstack:25.02.2 container_name: bookstack restart: unless-stopped depends_on: bookstack-db: condition: service_healthy environment: - TZ=Europe/Budapest - PUID=1000 - PGID=1000 - DB_HOST=bookstack-db - DB_PORT=3306 - DB_USER=bookstack - DB_PASS=${DB_PASSWORD} - DB_DATABASE=bookstack - APP_KEY=${APP_KEY} - APP_URL=https://wiki.${DOMAIN} volumes: - bookstack_config:/config networks: - traefik-public - bookstack-internal deploy: resources: limits: memory: 512M healthcheck: test: ["CMD", "curl", "-f", "http://localhost:80"] interval: 30s timeout: 5s retries: 3 start_period: 30s labels: - "traefik.enable=true" - "traefik.http.routers.bookstack.rule=Host(`wiki.${DOMAIN}`)" - "traefik.http.routers.bookstack.entrypoints=websecure" - "traefik.http.routers.bookstack.tls=true" - "traefik.http.routers.bookstack.tls.certresolver=letsencrypt" - "traefik.http.services.bookstack.loadbalancer.server.port=80" bookstack-db: image: mariadb:11.6 container_name: bookstack-db restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=${DB_PASSWORD} - MYSQL_DATABASE=bookstack - MYSQL_USER=bookstack - MYSQL_PASSWORD=${DB_PASSWORD} - TZ=Europe/Budapest volumes: - bookstack_db_data:/var/lib/mysql networks: - bookstack-internal deploy: resources: limits: memory: 256M healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 10s timeout: 5s retries: 5 start_period: 20s volumes: bookstack_config: bookstack_db_data: networks: traefik-public: external: true bookstack-internal: