version: '3' services: app: container_name: quepid_app build: context: . dockerfile: Dockerfile.dev env_file: - .env environment: - LAUNCHY_DRY_RUN=true # dev only letter_opener gem wants to open a browser when sending emails. - BROWSER=/dev/null - PUPPETEER_SKIP_DOWNLOAD=true - PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium volumes: - .:/srv/app - ./log:/log ports: - 3000:3000 links: - mysql - redis - keycloak depends_on: - mysql - redis - keycloak mysql: container_name: quepid_db image: amd64/mysql:5.7.36 ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=password redis: container_name: quepid_redis image: redis:6.2.10-alpine ports: - 6379:6379 keycloak: image: quay.io/keycloak/keycloak:18.0.2 container_name: quepid_keycloak hostname: keycloak command: ["start-dev", "--import-realm"] ports: - 9080:9080 - 9443:9443 environment: KC_HTTP_PORT: 9080 KEYCLOAK_ADMIN: admin KEYCLOAK_ADMIN_PASSWORD: password DB_VENDOR: h2 volumes: - ./keycloak/realm-config/quepid-realm.json:/opt/keycloak/data/import/quepid-realm.json:ro nginx: image: nginx:1.21.4 container_name: quepid_nginx ports: - "443:8443" - "80:80" volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro - ./.ssl/:/etc/nginx/certs links: - app