app-store/apps/bookstack/docker-compose.yml

62 lines
2.2 KiB
YAML

version: "3.7"
services:
bookstack:
image: lscr.io/linuxserver/bookstack:24.05.20240520
container_name: bookstack
environment:
- APP_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN}
- DB_HOST=bookstack-db
- DB_USERNAME=tipi
- DB_PASSWORD=${BOOKSTACK_DB_PASS}
- DB_DATABASE=bookstackapp
volumes:
- ${APP_DATA_DIR}/data/config:/config
dns:
- ${DNS_IP}
ports:
- ${APP_PORT}:80
restart: unless-stopped
depends_on:
- bookstack-db
networks:
- tipi_main_network
labels:
# Main
traefik.enable: true
traefik.http.middlewares.bookstack-web-redirect.redirectscheme.scheme: https
traefik.http.services.bookstack.loadbalancer.server.port: 80
# Web
traefik.http.routers.bookstack-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.bookstack-insecure.entrypoints: web
traefik.http.routers.bookstack-insecure.service: bookstack
traefik.http.routers.bookstack-insecure.middlewares: bookstack-web-redirect
# Websecure
traefik.http.routers.bookstack.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.bookstack.entrypoints: websecure
traefik.http.routers.bookstack.service: bookstack
traefik.http.routers.bookstack.tls.certresolver: myresolver
# Local domain
traefik.http.routers.bookstack-local-insecure.rule: Host(`bookstack.${LOCAL_DOMAIN}`)
traefik.http.routers.bookstack-local-insecure.entrypoints: web
traefik.http.routers.bookstack-local-insecure.service: bookstack
traefik.http.routers.bookstack-local-insecure.middlewares: bookstack-web-redirect
# Local domain secure
traefik.http.routers.bookstack-local.rule: Host(`bookstack.${LOCAL_DOMAIN}`)
traefik.http.routers.bookstack-local.entrypoints: websecure
traefik.http.routers.bookstack-local.service: bookstack
traefik.http.routers.bookstack-local.tls: true
bookstack-db:
image: lscr.io/linuxserver/mariadb
container_name: bookstack-db
environment:
- TZ=${TZ}
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=tipi
- MYSQL_PASSWORD=${BOOKSTACK_DB_PASS}
volumes:
- ${APP_DATA_DIR}/data/db:/config
restart: unless-stopped
networks:
- tipi_main_network