OpenLemmy
OpenLemmy is an implementation of the upstream LemmyNet project.
The purpose of this project is to create an easy to use containerized distribution of Lemmy. Easy deployment and customization for any Lemmy instance is our goal. Developer documentation and onboarding will be the starting focus of this project.
๐ OpenLemmy Architecture
Architecture overview for OpenLemmy.
%% TODO: Create architecture diagram
๐ Quick Start
Requirements
- Docker Desktop (Podman Desktop/Rancher Desktop in testing)
- Terraform
- NodeJS
๐ณ Docker
This will create an OpenLemmy instance on your local computer or server for development purposes.
Start OpenLemmy
# Start OpenLemmy
docker compose up -d
Visit http://localhost:80 on you computer. NGINX is listening on port 80
by default.
Username:
admin
> Password:secret
Stop and kill
docker compose stop # Stop OpenLemmy
docker compose down # Remove containers
๐ฑ Terraform
Digital Ocean is the first to be worked. Azure will come second and AWS third.
# Setup Terraform for dev environment
cd terraform/do # Other services coming soon
cp .example.tfvars .auto.tfvars
terraform init
terraform plan
terraform apply # BE CAREFUL! This will modify infrastructure.
๐งจ Decommission
๐ฉ BE CAREFUL! This will destroy all associated infrastructure.
terraform destroy -var-file=YOUR_VARS.tfvars
โ๏ธ Workspaces
Env | Command |
---|---|
Dev | terraform workspace select default |
Test | terraform workspace select test |
Stage | terraform workspace select stage |
Prod | terraform workspace select prod |
Learn more in the worspaces docs.
๐ Remote State
Learn more in the state docs.
๐ก Tips
- You can name your vars file
terraform.tfvars
or give it the extension.example.auto.tfvars
and terraform will automatically use this file.
๐ Help
Until we get our own instance going, please use the following resources to get in touch.
- https://openlemmy.com
- https://github.com/openlemmy/openlemmy
- https://lemmy.world/c/openlemmy