ensl.org/docker-compose.dev.yml
2020-03-22 14:21:42 +02:00

103 lines
2 KiB
YAML

version: "3"
services:
web:
# Debug
stdin_open: true
command: /bin/bash
tty: true
container_name: ensl_dev
build:
context: ./
dockerfile: Dockerfile.dev
args:
buildno: 1
volumes:
- ".:/var/www/"
ports:
- "4000:4000"
- "35729:35729"
links:
- db
- memcached
#- spring
#- selenium
#- redis
test:
# Debug
#stdin_open: true
command: ["/bin/bash", "-c", "--", "while true; do sleep 100; done;"]
build:
context: ./
dockerfile: Dockerfile.dev
args:
buildno: 1
env_file:
- .env.test
ports:
- 3005:3005 # Capybara listens here
links:
- db
- selenium
volumes:
- ".:/var/www"
# command: bin/spring server
environment:
TEST_APP_HOST: test
TEST_APP_PORT: 3005
SELENIUM_HOST: selenium
RAILS_ENV: test
networks:
default:
aliases:
- test
redis:
image: 'redis:4.0-alpine'
selenium:
image: selenium/standalone-chrome-debug
container_name: ensl_dev_selenium
ports:
- 5900:5900
- 4444:4444
# spring:
# build:
# context: ./
# dockerfile: Dockerfile.dev
# args:
# buildno: 1
# volumes:
# - .:/var/www
# command: spring server
# This ensures that the pid namespace is shared between the host
# and the container. It's not necessary to be able to run spring
# commands, but it is necessary for "spring status" and "spring stop"
# to work properly.
# pid: host
db:
# Debug
#command: bash
#tty: true
command: mysqld_safe --skip-grant-tables
image: mariadb:latest
container_name: ensl_dev_db
volumes:
- "./db_data:/var/lib/mysql"
- "./ext/mysql.conf.d:/etc/mysql/conf.d"
environment:
- MYSQL_DATABASE=ensl
- MYSQL_USER=ensl
- MYSQL_USERNAME=ensl
- MYSQL_PASSWORD=ensl
- MYSQL_ROOT_PASSWORD=ensl
- MYSQL_ROOT_HOST=%
memcached:
image: memcached:latest
#redis:
# image: redis