################################################################################ # 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"