]> BookStack Code Mirror - bookstack/blob - docker-compose.yml
Readme: Added sponsor, removed road map section
[bookstack] / docker-compose.yml
1 # This is a Docker Compose configuration
2 # intended for development purposes only
3
4 volumes:
5   db: {}
6
7 services:
8   db:
9     image: mysql:8
10     environment:
11       MYSQL_DATABASE: bookstack-dev
12       MYSQL_USER: bookstack-test
13       MYSQL_PASSWORD: bookstack-test
14       MYSQL_RANDOM_ROOT_PASSWORD: 'true'
15     command: --default-authentication-plugin=mysql_native_password
16     volumes:
17       - ./dev/docker/init.db:/docker-entrypoint-initdb.d
18       - db:/var/lib/mysql
19   app:
20     build:
21       context: .
22       dockerfile: ./dev/docker/Dockerfile
23     environment:
24       APP_URL: http://localhost:${DEV_PORT:-8080}
25       DB_CONNECTION: mysql
26       DB_HOST: db
27       DB_PORT: 3306
28       DB_DATABASE: bookstack-dev
29       DB_USERNAME: bookstack-test
30       DB_PASSWORD: bookstack-test
31       TEST_DATABASE_URL: mysql://bookstack-test:bookstack-test@db/bookstack-test
32       MAIL_DRIVER: smtp
33       MAIL_HOST: mailhog
34       MAIL_PORT: 1025
35     ports:
36       - ${DEV_PORT:-8080}:80
37     volumes:
38       - ./:/app
39       - ./dev/docker/php/conf.d/xdebug.ini:/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
40     entrypoint: /app/dev/docker/entrypoint.app.sh
41     extra_hosts:
42     - "host.docker.internal:host-gateway"
43   node:
44     image: node:alpine
45     working_dir: /app
46     user: node
47     volumes:
48       - ./:/app
49     entrypoint: /app/dev/docker/entrypoint.node.sh
50   mailhog:
51     image: mailhog/mailhog
52     ports:
53       - ${DEV_MAIL_PORT:-8025}:8025