Files
2024-01-25 12:54:01 +01:00

110 lines
3.3 KiB
YAML

services:
php:
container_name: php
build:
context: .
target: open_marketplace_php_dev
depends_on:
- migrations
environment:
- APP_ENV=dev
- APP_DEBUG=1
- APP_SECRET=EDITME
- DATABASE_URL=mysql://open_marketplace:${MYSQL_PASSWORD:-nopassword}@mysql/open_marketplace
- MAILER_URL=smtp://mailhog:1025
- PHP_DATE_TIMEZONE=${PHP_DATE_TIMEZONE:-UTC}
volumes:
- .:/srv/open_marketplace:rw,cached
# if you develop on Linux, you may use a bind-mounted host directory instead
- ./var:/srv/open_marketplace/var:rw
# - ./public:/srv/open_marketplace/public:rw,delegated
# if you develop on Linux, you may use a bind-mounted host directory instead
# - ./public/media:/srv/open_marketplace/public/media:rw
- public-media:/srv/open_marketplace/public/media:rw
- fixture-images:/srv/open_marketplace/var/fixtures
migrations:
container_name: migrations
build:
context: .
target: open_marketplace_migrations_dev
depends_on:
- mysql
environment:
- APP_ENV=dev
- APP_DEBUG=1
- APP_SECRET=EDITME
- DATABASE_URL=mysql://open_marketplace:${MYSQL_PASSWORD:-nopassword}@mysql/open_marketplace
- LOAD_FIXTURES=1
- PHP_DATE_TIMEZONE=${PHP_DATE_TIMEZONE:-UTC}
volumes:
- public-media:/srv/open_marketplace/public/media:rw
- fixture-images:/srv/open_marketplace/var/fixtures
mysql:
container_name: mysql
image: mysql:5.7 # Sylius is fully working on mysql 8.0 version
platform: linux/amd64
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-nopassword}
- MYSQL_DATABASE=open_marketplace
- MYSQL_USER=open_marketplace
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-nopassword}
volumes:
- mysql-data:/var/lib/mysql:rw
# you may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data!
# - ./docker/mysql/data:/var/lib/mysql:rw,delegated
ports:
- "${MYSQL_PORT:-3306}:3306"
cap_add:
- SYS_NICE # prevent "mbind: Operation not permitted" errors
node:
container_name: node
build:
context: .
target: open_marketplace_node
command: ["yarn", "watch"]
depends_on:
- php
environment:
- GULP_ENV=dev
- PHP_HOST=php
- PHP_PORT=9000
volumes:
- .:/srv/open_marketplace:rw,cached
- ./public:/srv/open_marketplace/public:rw,delegated
ports:
- "${NODE_PORT:-35729}:35729"
nginx:
container_name: nginx
build:
context: .
target: open_marketplace_nginx
depends_on:
- php
- node # to ensure correct build order
volumes:
- ./public:/srv/open_marketplace/public:ro
# if you develop on Linux, you may use a bind-mounted host directory instead
# - ./public/media:/srv/open_marketplace/public/media:ro
- public-media:/srv/open_marketplace/public/media:ro,nocopy
ports:
- "${HTTP_PORT:-80}:80"
mailhog:
# do not use in production!
image: mailhog/mailhog:latest
environment:
- MH_STORAGE=maildir
# volumes:
# - ./docker/mailhog/maildir:/maildir:rw,delegated
ports:
- "${MAILHOG_PORT:-8025}:8025"
volumes:
mysql-data:
public-media:
fixture-images: