services: migrate: image: irdb-api:latest build: { context: ./api } command: migrate env_file: .env volumes: - irdb-data:/data restart: "no" api: image: irdb-api:latest command: api env_file: .env ports: - "8081:8081" volumes: - irdb-data:/data depends_on: migrate: condition: service_completed_successfully healthcheck: test: ["CMD", "wget", "-qO-", "http://localhost:8081/healthz"] interval: 30s timeout: 5s retries: 3 restart: unless-stopped ui: image: irdb-ui:latest build: { context: ./ui } env_file: .env ports: - "8080:8080" depends_on: api: condition: service_healthy healthcheck: test: ["CMD", "wget", "-qO-", "http://localhost:8080/healthz"] interval: 30s timeout: 5s retries: 3 restart: unless-stopped # Uncomment to use MySQL. Also set DB_DRIVER=mysql in .env. # mysql: # image: mysql:8 # environment: # MYSQL_DATABASE: ${DB_MYSQL_DATABASE} # MYSQL_USER: ${DB_MYSQL_USERNAME} # MYSQL_PASSWORD: ${DB_MYSQL_PASSWORD} # MYSQL_ROOT_PASSWORD: ${DB_MYSQL_ROOT_PASSWORD} # volumes: # - mysql-data:/var/lib/mysql # healthcheck: # test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] # interval: 10s # timeout: 5s # retries: 10 # restart: unless-stopped volumes: irdb-data: # mysql-data: