Piefed, verified and packaged by Elestio
10K+
PieFed is an open-source federated link aggregator and discussion platform, built as an alternative to Lemmy and Kbin. It allows you to create communities, share links, and have discussions across the Fediverse using ActivityPub.
Deploy a fully managed PieFed on elest.io if you want automated backups, reverse proxy with SSL termination, firewall, automated OS & Software updates, and a team of Linux experts and open source enthusiasts to ensure your services are always safe, and functional.
Here are some example snippets to help you get started creating a container.
services:
db:
shm_size: 512mb
image: elestio/postgres:17
restart: always
env_file:
- ./.env
volumes:
- ./pgdata:/var/lib/postgresql/data
redis:
image: elestio/redis:6.2
restart: always
command: redis-server --appendonly yes
env_file:
- ./.env
volumes:
- ./redis_data:/data
celery:
image: elestio/piefed:${SOFTWARE_VERSION_TAG}
restart: always
depends_on:
- db
- redis
env_file:
- ./.env
entrypoint: ./entrypoint_celery.sh
volumes:
- ./media/:/app/app/static/media/
- ./logs/:/app/logs/
- ./tmp/:/app/app/static/tmp/
healthcheck:
test: ["CMD", "celery", "-A", "celery_worker_docker.celery", "inspect", "ping"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
web:
image: elestio/piefed:${SOFTWARE_VERSION_TAG}
restart: always
depends_on:
- db
- redis
env_file:
- ./.env
volumes:
- ./gunicorn.conf.py:/app/gunicorn.conf.py
- ./media/:/app/app/static/media/
- ./logs/:/app/logs/
- ./tmp/:/app/app/static/tmp/
ports:
- "172.17.0.1:37052:5000"
healthcheck:
test: ["CMD", "pgrep", "-f", "gunicorn"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
adminer:
image: adminer:latest
restart: always
ports:
- "172.17.0.1:33708:8080"
depends_on:
- db
| Variable | Value (example) |
|---|---|
| SOFTWARE_VERSION_TAG | latest |
| ADMIN_EMAIL | [email protected] |
| ADMIN_PASSWORD | your-password |
| ADMIN_USER | admin |
| SECRET_KEY | your-secret-key |
| SERVER_NAME | yourdomain.com |
| POSTGRES_USER | piefed |
| POSTGRES_PASSWORD | your-password |
| POSTGRES_DB | piefed |
| DATABASE_URL | postgresql+psycopg2://piefed:your-password@db/piefed |
| CACHE_TYPE | RedisCache |
| CACHE_REDIS_DB | 1 |
| CACHE_REDIS_URL | redis://redis:6379/1 |
| CELERY_BROKER_URL | redis://redis:6379/0 |
| FULL_AP_CONTEXT | 0 |
| CORS_ALLOW_ORIGIN | * |
| ENABLE_ALPHA_API | true |
You can access the Web UI at: http://your-domain:37052
You can access Adminer at: http://your-domain:33708
The Elestio PieFed Docker image sends the container logs to stdout. To view the logs, you can use the following command:
docker-compose logs -f
To stop the stack you can use the following command:
docker-compose down
To make backup and restore operations easier, we are using folder volume mounts. You can simply stop your stack with docker-compose down, then backup all the files and subfolders in the folder near the docker-compose.yml file.
Creating a ZIP Archive For example, if you want to create a ZIP archive, navigate to the folder where you have your docker-compose.yml file and use this command:
zip -r myarchive.zip .
Restoring from ZIP Archive To restore from a ZIP archive, unzip the archive into the original folder using the following command:
unzip myarchive.zip -d /path/to/original/folder
Starting Your Stack Once your backup is complete, you can start your stack again with the following command:
docker-compose up -d
That's it! With these simple steps, you can easily backup and restore your data volumes using Docker Compose.
Content type
Image
Digest
sha256:e78283ffe…
Size
167.5 MB
Last updated
3 days ago
docker pull elestio/piefed:v1.7.7Pulls:
1,368
Last week