Files
History_Api/docker-compose.yml
AzenKain 87e52357cc
All checks were successful
Build and Release / release (push) Successful in 45s
init
2026-03-25 23:22:58 +07:00

72 lines
1.8 KiB
YAML

services:
db:
image: postgis/postgis:18-3.6
container_name: history_db
restart: unless-stopped
env_file:
- ./assets/resources/.env
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- PGDATA=/var/lib/postgresql/data
volumes:
- pg_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 3s
retries: 5
networks:
- history-api-project
cache:
image: redis:8.6.1-alpine
container_name: history_redis
restart: unless-stopped
networks:
- history-api-project
migrate:
build:
context: .
dockerfile_inline: |
FROM migrate/migrate
COPY db/migrations /migrations
container_name: history_migrate
depends_on:
db:
condition: service_healthy
env_file:
- ./assets/resources/.env
entrypoint:
- sh
- -c
- |
DB_URL="postgres://$${POSTGRES_USER}:$${POSTGRES_PASSWORD}@db:5432/$${POSTGRES_DB}?sslmode=disable"
# Thêm ls để kiểm tra chắc chắn lúc chạy
ls /migrations
/migrate -path /migrations -database "$$DB_URL" up || \
(/migrate -path /migrations -database "$$DB_URL" force 8 && \
/migrate -path /migrations -database "$$DB_URL" up)
networks:
- history-api-project
app:
build: .
container_name: history_app
restart: unless-stopped
depends_on:
migrate:
condition: service_completed_successfully
cache:
condition: service_started
ports:
- "3344:3344"
networks:
- history-api-project
volumes:
pg_data:
networks:
history-api-project: