
Deploy Lemmy on Your Own Server
Self-hosted Lemmy with persistent config volume auto-populated by a sidecar
Want to deploy Lemmy on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
What is Lemmy?
This one-click app deploys Lemmy (server + UI) with Postgres and Pictrs. Your instance will be available at: https://${app_name}.${root_domain}
Self-Host Lemmy
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
Deploy
Copy the configuration and run it on your server.
services:
lemmy:
image: dessalines/lemmy-ui:0.19.13
environment:
LEMMY_UI_HTTPS: "true"
LEMMY_UI_LEMMY_EXTERNAL_HOST: lemmy.your-domain.com
LEMMY_UI_LEMMY_INTERNAL_HOST: lemmy-server:8536
depends_on:
- lemmy-server
lemmy-config-writer-delete-me:
image: alpine:3.19
volumes:
- lemmy-config:/config
lemmy-db:
image: postgres:15-alpine
environment:
POSTGRES_DB: lemmy
POSTGRES_PASSWORD: ff9872aa78bea193
POSTGRES_USER: lemmy
volumes:
- lemmy-db-data:/var/lib/postgresql/data
lemmy-pictrs:
image: asonix/pictrs:0.5.0
volumes:
- lemmy-pictrs-data:/mnt
lemmy-server:
image: dessalines/lemmy:0.19.13
environment:
RUST_LOG: warn,lemmy_server=info,lemmy_api=info
volumes:
- lemmy-config:/config
depends_on:
- lemmy-db
- lemmy-pictrs
- lemmy-config-writer-delete-me
volumes:
lemmy-config: {}
lemmy-db-data: {}
lemmy-pictrs-data: {}
Then run:
docker compose up -d
Access
Once started, access your app at http://localhost:1234
Why Self-Host Lemmy?
Full Data Ownership
Your data stays on your servers. No third-party access.
No Monthly Fees
Pay only for your server. No per-seat or usage charges.
Complete Control
Customize, backup, and scale on your own terms.
Privacy & Compliance
Meet GDPR, HIPAA, or internal security requirements.
Technical Details
Docker Image
dessalines/lemmy-ui:${lemmy_ui_version}Official Docs
join-lemmy.orgWant to go faster?
Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.
Install on any Linux server:
sh -c "$(curl -sSL https://get.senate.sh)"