services: bookstack-ts: image: tailscale/tailscale:latest hostname: bookstack container_name: bookstack-ts environment: - TS_AUTHKEY=${TS_AUTHKEY} - TS_LOGIN_SERVER=${TS_LOGIN_SERVER} - TS_STATE_DIR=/var/lib/tailscale - TS_SERVE_CONFIG=/config/serve.json - TS_EXTRA_ARGS=--login-server=${TS_LOGIN_SERVER} volumes: - ./tailscale/tailscale-data:/var/lib/tailscale - ./tailscale/config:/config - /dev/net/tun:/dev/net/tun cap_add: - net_admin restart: unless-stopped bookstack-db: image: lscr.io/linuxserver/mariadb:latest environment: - PUID=1000 - PGID=1000 - TZ=UTC - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD} - MYSQL_DATABASE=${DB_DATABASE} - MYSQL_USER=${DB_USERNAME} - MYSQL_PASSWORD=${DB_PASSWORD} volumes: - bookstack-db-data:/config depends_on: - bookstack-ts network_mode: service:bookstack-ts restart: unless-stopped bookstack: image: lscr.io/linuxserver/bookstack:latest environment: - PUID=1000 - PGID=1000 - TZ=UTC - APP_URL=${APP_URL} - APP_KEY=${APP_KEY} - DB_HOST=127.0.0.1 - DB_PORT=3306 - DB_USERNAME=${DB_USERNAME} - DB_PASSWORD=${DB_PASSWORD} - DB_DATABASE=${DB_DATABASE} volumes: - bookstack-data:/config depends_on: - bookstack-ts - bookstack-db network_mode: service:bookstack-ts restart: unless-stopped volumes: bookstack-db-data: bookstack-data: