Skip to content
flexcal Documentation

AWS

flexcal has no CloudFormation template or Marketplace listing. Deploy the container image with the AWS service that suits you.

Piece Suggested service
Application ECS on Fargate, App Runner, or EC2 with Docker Compose
Database RDS for PostgreSQL
TLS and routing Application Load Balancer + ACM certificate
Secrets AWS Secrets Manager or SSM Parameter Store
  1. Create an RDS PostgreSQL instance in a private subnet and note its endpoint.
  2. Create the task or service running docker.io/flexcal/flexcal:dev, exposing container port 3000.
  3. Set the environment from Configuration. At minimum: DATABASE_URL, NEXT_PUBLIC_WEBAPP_URL, NEXTAUTH_SECRET, CALENDSO_ENCRYPTION_KEY.
  4. Put an ALB in front, terminate TLS there, and forward X-Forwarded-Proto and X-Forwarded-Host (see Troubleshooting).
  5. Point Route 53 at the load balancer.

With more than one replica, run migrations once per release rather than on every container start:

SKIP_DB_MIGRATIONS=1
SKIP_APP_STORE_SEED=1

Run the migration as a one-off task before rolling out the new revision.

Reference: AWS documentation.