services:
  api:
    image: git.golife.love/chrischen/rolac-api:${TAG:-latest}
    env_file: .env
    environment:
      ASPNETCORE_ENVIRONMENT: Production
      ConnectionStrings__DefaultConnection: ${DB_CONNECTION}
      Jwt__SecretKey: ${JWT_SECRET}
      Cors__AllowedOrigins__0: https://app.rolac.org
    volumes:
      - api-storage:/app/App_Data/storage
    restart: unless-stopped
    expose: ["8080"]

  app:
    image: git.golife.love/chrischen/rolac-app:${TAG:-latest}
    restart: unless-stopped
    expose: ["80"]

  nginx:
    image: nginx:alpine
    ports: ["80:80", "443:443"]
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d:ro
      - /etc/letsencrypt:/etc/letsencrypt:ro
      - /var/www/certbot:/var/www/certbot:ro
    depends_on: [api, app]
    restart: unless-stopped

volumes:
  api-storage:
