ex_trainer/docker-compose.yml
renovate-bot 432333266c
All checks were successful
continuous-integration/drone/pr Build is passing
chore(deps): update postgres docker tag to v16.2
2024-02-13 01:13:52 +00:00

66 lines
1.5 KiB
YAML

---
services:
db:
image: 'postgres:16.2-alpine'
hostname: &db_host db
init: true
environment:
POSTGRES_USER: &db_user postgres
POSTGRES_PASSWORD: &db_pass postgres
POSTGRES_DB: &db_name postgres
volumes:
- './priv/docker/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql'
- 'db_data:/var/lib/postgresql/data'
restart: unless-stopped
app:
image: &app_image 'joaodubas/ex_trainer:${EX_TRAINER_TAG:-dev}'
build:
target: builder
context: .
hostname: app
depends_on:
- db
init: true
environment: &app_environment
POSTGRES_HOST: *db_host
POSTGRES_USER: *db_user
POSTGRES_PASS: *db_pass
POSTGRES_NAME: wabanex_dev
volumes: &app_volumes
- '.:/opt/app'
- 'app_build:/opt/app/_build'
- 'app_deps:/opt/app/deps'
working_dir: /opt/app
restart: unless-stopped
entrypoint: sleep
command: infinity
db_setup:
image: *app_image
depends_on:
- db
profiles:
- setup
environment: *app_environment
volumes: *app_volumes
restart: 'no'
command: |
mix ecto.setup \
&& MIX_ENV=test mix ecto.setup
db_migrate:
image: *app_image
depends_on:
- db
profiles:
- migrate
environment: *app_environment
volumes: *app_volumes
restart: 'no'
command: |
mix ecto.migrate \
&& MIX_ENV=test mix.ecto.migrate
volumes:
db_data: {}
app_build: {}
app_deps: {}