feat(bookstack): añadir stack de wiki con integración Authentik SSO
Wiki basada en BookStack con autenticación delegada a Authentik via OIDC. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
services:
|
||||
bookstack-db:
|
||||
image: ${BOOKSTACK_DB_IMAGE}
|
||||
container_name: bookstack-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: ${BOOKSTACK_DB_ROOT_PASSWORD}
|
||||
MYSQL_DATABASE: ${BOOKSTACK_DB_NAME}
|
||||
MYSQL_USER: ${BOOKSTACK_DB_USER}
|
||||
MYSQL_PASSWORD: ${BOOKSTACK_DB_PASSWORD}
|
||||
TZ: ${TZ}
|
||||
volumes:
|
||||
- ${BOOKSTACK_DB_PATH}:/var/lib/mysql:Z
|
||||
networks:
|
||||
- bookstack
|
||||
|
||||
bookstack:
|
||||
image: ${BOOKSTACK_IMAGE}
|
||||
container_name: bookstack
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- bookstack-db
|
||||
environment:
|
||||
PUID: ${BOOKSTACK_PUID}
|
||||
PGID: ${BOOKSTACK_PGID}
|
||||
TZ: ${TZ}
|
||||
APP_KEY: ${APP_KEY}
|
||||
APP_URL: https://${BOOKSTACK_DOMAIN}
|
||||
DB_HOST: bookstack-db
|
||||
DB_PORT: 3306
|
||||
DB_DATABASE: ${BOOKSTACK_DB_NAME}
|
||||
DB_USERNAME: ${BOOKSTACK_DB_USER}
|
||||
DB_PASSWORD: ${BOOKSTACK_DB_PASSWORD}
|
||||
APP_LANG: ${BOOKSTACK_LANG}
|
||||
APP_DEFAULT_DARK_MODE: ${BOOKSTACK_DARK_MODE}
|
||||
MAIL_DRIVER: smtp
|
||||
MAIL_HOST: mail-relay
|
||||
MAIL_PORT: 587
|
||||
MAIL_FROM: ${BOOKSTACK_MAIL_FROM}
|
||||
MAIL_FROM_NAME: ${BOOKSTACK_MAIL_FROM_NAME}
|
||||
volumes:
|
||||
- ${BOOKSTACK_DATA_PATH}:/config:Z
|
||||
networks:
|
||||
- bookstack
|
||||
- proxy
|
||||
- mail_internal
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.docker.network: "${TRAEFIK_DOCKER_NETWORK}"
|
||||
traefik.http.routers.bookstack.rule: "Host(`${BOOKSTACK_DOMAIN}`)"
|
||||
traefik.http.routers.bookstack.entrypoints: "${TRAEFIK_ENTRYPOINT_SECURE}"
|
||||
traefik.http.routers.bookstack.tls: "true"
|
||||
traefik.http.routers.bookstack.tls.certresolver: "${TRAEFIK_CERTRESOLVER}"
|
||||
traefik.http.routers.bookstack.middlewares: "crowdsec-bouncer@file,${TRAEFIK_AUTH_MIDDLEWARE}"
|
||||
traefik.http.services.bookstack.loadbalancer.server.port: "80"
|
||||
homepage.group: "Productividad"
|
||||
homepage.name: "BookStack"
|
||||
homepage.icon: "bookstack.png"
|
||||
homepage.href: "https://${BOOKSTACK_DOMAIN}/"
|
||||
homepage.description: "Base de conocimiento y documentacion"
|
||||
homepage.siteMonitor: "https://${BOOKSTACK_DOMAIN}/"
|
||||
|
||||
networks:
|
||||
bookstack:
|
||||
driver: bridge
|
||||
mail_internal:
|
||||
external: true
|
||||
proxy:
|
||||
external: true
|
||||
@@ -0,0 +1,29 @@
|
||||
##### MariaDB BookStack #####
|
||||
BOOKSTACK_DB_IMAGE=mariadb:11
|
||||
BOOKSTACK_DB_ROOT_PASSWORD=change-me-root
|
||||
BOOKSTACK_DB_NAME=bookstack
|
||||
BOOKSTACK_DB_USER=bookstack
|
||||
BOOKSTACK_DB_PASSWORD=change-me
|
||||
BOOKSTACK_DB_PATH=/opt/bookstack/db
|
||||
|
||||
##### BookStack #####
|
||||
BOOKSTACK_IMAGE=lscr.io/linuxserver/bookstack:latest
|
||||
BOOKSTACK_PUID=1000
|
||||
BOOKSTACK_PGID=1000
|
||||
TZ=Europe/Madrid
|
||||
|
||||
BOOKSTACK_DOMAIN=wiki.example.com
|
||||
APP_KEY=
|
||||
BOOKSTACK_LANG=es
|
||||
BOOKSTACK_DARK_MODE=true
|
||||
BOOKSTACK_DATA_PATH=/opt/bookstack/data
|
||||
|
||||
##### Correo #####
|
||||
BOOKSTACK_MAIL_FROM=bookstack@example.com
|
||||
BOOKSTACK_MAIL_FROM_NAME=BookStack
|
||||
|
||||
##### Traefik #####
|
||||
TRAEFIK_DOCKER_NETWORK=proxy
|
||||
TRAEFIK_ENTRYPOINT_SECURE=websecure
|
||||
TRAEFIK_CERTRESOLVER=letsencrypt
|
||||
TRAEFIK_AUTH_MIDDLEWARE=ths-authentik@docker
|
||||
Reference in New Issue
Block a user