version: "3.9" services: dev-lti-api: container_name: dev-lti-api build: context: . dockerfile: Dockerfile.local image: dev-lti-api:latest working_dir: /lti-api command: air -c .air.toml ports: - "8081:8081" env_file: - .env.lti-api environment: # override agar koneksi ke container internal DB_HOST: dev-lti-postgres DB_PORT: 5432 REDIS_URL: redis://dev-lti-redis:6379/0 volumes: - .:/lti-api - ./internal/config/jwtRS256.key:/run/keys/jwtRS256.key - ./internal/config/jwtRS256.key.pub:/run/keys/jwtRS256.key.pub depends_on: - dev-lti-postgres - dev-lti-redis networks: - lti-network healthcheck: test: ["CMD-SHELL", "wget -qO- http://localhost:8081/healthz || exit 1"] interval: 10s timeout: 3s retries: 10 start_period: 10s dev-lti-postgres: image: postgres:15-alpine container_name: dev-lti-postgres restart: always environment: POSTGRES_USER: ${DB_USER:-postgres} POSTGRES_PASSWORD: ${DB_PASSWORD:-postgres} POSTGRES_DB: ${DB_NAME:-db_lti_erp} ports: - "5433:5432" volumes: - dev-lti-postgres-data:/var/lib/postgresql/data networks: - lti-network healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-postgres} -d ${DB_NAME:-db_lti_erp}"] interval: 10s timeout: 5s retries: 5 start_period: 5s dev-lti-redis: image: redis:7-alpine container_name: dev-lti-redis restart: always ports: - "6380:6379" networks: - lti-network healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 3s retries: 10 networks: lti-network: driver: bridge volumes: dev-lti-postgres-data: