Skip to main content
The production stack runs on AWS. This page describes how EC2 is used and reserves a place for Elastic IP documentation.

EC2

The application is hosted on EC2. The Docker Compose stack (web, celery, beat, db, redis, admin-portal, docs, caddy) runs on one or more EC2 instances. Typical setup:
  • An EC2 instance (e.g. Amazon Linux or Ubuntu) with Docker and Docker Compose installed.
  • The repo is cloned (or deployed via CI/CD); docker compose up -d starts the services.
  • Caddy listens on 80/443 and proxies to the internal services (see Caddy). Public DNS (e.g. api.lokpanchang.com, admin.lokpanchang.com, docs.lokpanchang.com) points to this host.
Security groups and IAM roles should allow: inbound 80/443 for Caddy; optional SSH; outbound HTTPS for Meta Graph API, OpenCage, and (if used) S3. The S3_BUCKET_NAME and AWS credentials (e.g. instance role) are used by the Celery tasks that upload log backups to S3 (see Logging).

Elastic IP (placeholder)

[Placeholder: Documentation for Elastic IP (allocation, association with the EC2 instance, and DNS configuration) will be added here.]