Lemmy is a Reddit-style federated social network that speaks ActivityPub. It is written in Rust.
This contains the necessary infrastructure definitions to deploy Lemmy to AWS using their Cloud Development Kit.
- ECS fargate cluster
- Lemmy-UI
- Lemmy
- Pictrs
- IFramely
- CloudFront CDN
- EFS storage for image uploads
- Aurora Serverless Postgres DB
- Bastion VPC host
- Load balancers for Lemmy and IFramely
- DNS records for your site
Clone Lemmy and Lemmy-UI to the directory above this.
cp example.env.local .env.local
# edit .env.local
You should edit .env.local with your site settings.
npm install -g aws-cdk
npm install
cdk bootstrap
cdk deploy
This is not the cheapest way to run Lemmy. The Serverless Aurora DB can run you ~$90/mo if it doesn't go to sleep.
npm run build
compile typescript to jsnpm run watch
watch for changes and compilenpm run test
perform the jest unit testscdk deploy
deploy this stack to your default AWS account/regioncdk diff
compare deployed stack with current statecdk synth
emits the synthesized CloudFormation template