Files
docker-compose-cookbooks/bookstack/docker-compose.yml
T
2020-04-14 19:20:25 -07:00

71 lines
2.0 KiB
YAML

################################################################################
# make sure you use the $PREFIX from .env for project_name
# docker-compose -p project_name up -d
#
# If you are importing directly using the db you have to do the following in the container:
# php artisan bookstack:regenerate-permissions
################################################################################
version: '2'
volumes:
bookstack-db:
bookstack-uploads:
bookstack-storage:
networks:
traefik_web:
external:
name: traefik_web
services:
bookstack-db:
image: mariadb:10.4.11
restart: always
volumes:
- bookstack-db:/var/lib/mysql
networks:
- traefik_web
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_USER: bookstack
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_DATABASE: bookstack
# It's only exposed if someone knows the ip
bookstack-phpdb:
#https://hub.docker.com/r/phpmyadmin/phpmyadmin/tags
image: phpmyadmin/phpmyadmin:5.0
environment:
- PMA_ARBITRARY=1
external_links:
- bookstack-db
depends_on:
- bookstack-db
networks:
- traefik_web
# https://hub.docker.com/r/solidnerd/bookstack
bookstack:
image: solidnerd/bookstack:0.29.0
depends_on:
- bookstack-db
environment:
- DB_HOST=${PREFIX}_bookstack-db_1:3306
- DB_DATABASE=bookstack
- DB_USERNAME=bookstack
- DB_PASSWORD=${MYSQL_PASSWORD}
- APP_URL=https://${DOMAIN_NAME}
networks:
- traefik_web
volumes:
- bookstack-uploads:/var/www/bookstack/public/uploads
- bookstack-storage:/var/www/bookstack/storage/uploads
labels:
- "traefik.enable=true"
- "traefik.http.routers.${PREFIX}_bookstack.rule=Host(`${DOMAIN_NAME}`)"
- "traefik.http.routers.${PREFIX}_bookstack.entrypoints=websecure"
- "traefik.http.routers.${PREFIX}_bookstack.tls=true"
- "traefik.http.services.${PREFIX}_bookstack.loadbalancer.server.port=8080"