services: dev-api-lti: build: context: . dockerfile: Dockerfile.dev container_name: dev-api-lti working_dir: /lti-api command: ["/bin/sh", "scripts/entrypoint.sh"] ports: - "8081:8081" env_file: - .env.dev environment: # override agar koneksi ke container internal DB_HOST: dev-postgres-lti DB_PORT: 5432 REDIS_URL: redis://dev-redis-lti:6379/0 volumes: - .:/lti-api - ./.air.toml:/lti-api/.air.toml:ro - ./internal/config/jwtRS256.key:/run/keys/jwtRS256.key - ./internal/config/jwtRS256.key.pub:/run/keys/jwtRS256.key.pub depends_on: - dev-postgres-lti - dev-redis-lti networks: - lti-network healthcheck: test: ["CMD-SHELL", "wget -qO- http://localhost:8081/healthz || exit 1"] interval: 10s timeout: 3s retries: 10 start_period: 10s deploy: resources: limits: cpus: "2.0" memory: 2G reservations: cpus: "1.0" memory: 512M dev-postgres-lti: image: postgres:15-alpine container_name: dev-postgres-lti restart: always env_file: - credential/.env.db ports: - "5433:5432" volumes: - dev-postgres-lti-data:/var/lib/postgresql/data - ./credential:/docker-entrypoint-initdb.d:ro 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 deploy: resources: limits: cpus: "1.0" memory: 2G reservations: cpus: "0.5" memory: 512M dev-redis-lti: image: redis:7-alpine container_name: dev-redis-lti restart: always ports: - "6380:6379" networks: - lti-network healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 3s retries: 10 deploy: resources: limits: cpus: "0.5" memory: 512M reservations: cpus: "0.2" memory: 256M networks: lti-network: driver: bridge volumes: dev-postgres-lti-data: