PieFed es un proyecto de software libre y federado que actúa como agregador de enlaces y foro descentralizado dentro del Fediverso. A diferencia de plataformas centralizadas como Reddit, PieFed está diseñado para funcionar bajo estándares federados como ActivityPub, lo que significa que cualquier servidor PieFed puede comunicarse con otros servicios del Fediverso y compartir contenido entre sí sin depender de una única compañía o servidor central.
PieFed combina funciones de agregador de enlaces, comunidades temáticas y discusión en hilos, con un enfoque en la libertad de control individual, la seguridad y la moderación descentralizada, operando sin anuncios, sin seguimiento invasivo y bajo código abierto accesible para cualquiera. Está mayoritariamente escrito en Python y su desarrollo está activo y colaborativo.
Instalación de PieFed
Para la instalación de PieFed necesitaremos instalar primero Docker, ya que la instalación recomendada es a través de esta tecnología. Así que si no tienes Docker instalado en el servidor, puedes instalarlo siguiendo este tutorial:

Una vez instalado, creamos el entorno y descargamos el repositorio:
cd /opt
git clone https://codeberg.org/rimu/pyfedi.git piefed
chown 1000:root -R piefed
cd piefedAhora toca crear la configuración, así que copiamos el fichero y generamos la SECRET_KEY.
cp env.docker.sample .env.docker
openssl rand -hex 32Copiamos el resultado y editamos el fichero de configuración para añadirlo y seguir modificando los siguientes valores:
SERVER_NAME='añadimos el dominio'
POSTGRES_PASSWORD='modificamos la contraseña'Guardamos el fichero. Si necesitamos añadir más variables, como por ejemplo para configurar el correo, el resto de variables posibles lo encontramos en el fichero env.sample.
MAIL_SERVER=''
MAIL_PORT=0
# Remove the below line if not using TLS - do not set it to False
MAIL_USE_TLS=True
MAIL_USERNAME=''
MAIL_PASSWORD=''
MAIL_FROM=''
ERRORS_TO=''Una vez tenemos la configuración acabada, tenemos que crear los directorios necesarios. PieFed dispone de un script para generar todo lo necesario, así que lo ejecutamos:
./docker-dirs.shY finalmente levantamos los contenedores haciendo un build:
export DOCKER_BUILDKIT=1
docker compose up --buildAhora tenemos que esperar a que acabe de mostrar contenido la terminal. En este punto nos podemos olvidar si aparece algún error.
piefed_app1 | Done!
piefed_app1 | Starting Gunicorn...
piefed_app1 | [2026-03-17 17:19:27,849] INFO in __init__: Started!
piefed_app1 | [2026-03-17 17:19:27 +0000] [21] [INFO] Starting gunicorn 25.1.0
piefed_app1 | [2026-03-17 17:19:27 +0000] [21] [INFO] Listening at: http://0.0.0.0:5000 (21)
piefed_app1 | [2026-03-17 17:19:27 +0000] [21] [INFO] Using worker: gthread
piefed_app1 | [2026-03-17 17:19:27 +0000] [21] [INFO] Control socket listening at /app/gunicorn.ctl
piefed_app1 | [2026-03-17 17:19:27 +0000] [29] [INFO] Booting worker with pid: 29
piefed_app1 | [2026-03-17 17:19:27 +0000] [30] [INFO] Booting worker with pid: 30Llegados a este punto, podemos pulsar la tecla d y entramos en el contenedor de la app:
docker exec -it piefed_app1 shY dentro del contenedor ejecutamos los siguientes comandos:
export FLASK_APP=pyfedi.py
flask init-dbTras ejecutar el comando, nos preguntará lo siguiente para crear usuario administrador de PieFed:
The admin user created here should be reserved for admin tasks and not used as a primary daily identity (unless this instance will only be for personal use).
Admin user name (ideally not 'admin'):Y creamos el usuario admin:
Admin user name (ideally not 'admin'): t3rr0rz0n3
Admin email address: miemail@dominio.com
Admin password: CONTRASEÑASEGURA
Initial setup is finished.Salimos del contenedor y bajamos contenedores y levantamos de nuevo:
docker compose down
docker compose up -dConfigurar Nginx Proxy
Por defecto, PieFed se instala escuchando por el puerto 8030 en localhost, Para poder acceder desde fuera, tendremos que configurar un Proxy Inverso. Para este tutorial, usaremos Nginx Proxy, pero puedes configurar el que más te guste:

Configura tareas
Para que funcione correctamente PieFed, es necesario configurar CronJobs para ello tendremos que añadir los siguientes cron:
5 2 * * * <USERNAME> docker exec piefed_app1 bash -c "cd /app && ./daily.sh"
5 4 * * 1 <USERNAME> docker exec piefed_app1 bash -c "cd /app && ./remove_orphan_files.sh"
1 */6 * * * <USERNAME> docker exec piefed_app1 bash -c "cd /app && ./email_notifs.sh"
*/5 * * * * <USERNAME> docker exec piefed_app1 bash -c "cd /app && ./send_queue.sh"Accediendo a la interfaz
Una vez hayamos configurado el Nginx Proxy, podremos acceder a través del dominio y debería de cargar correctamente la interfaz de PieFed:

En este punto podremos acceder usando la cuenta admin que hemos creado durante el proceso y configurar la instancia de PieFed.
Más sobre ./voidNull
- 📖 Aprende todos sobre los comandos de GNU/Linux en nuestro Diccionario "De la A a la Z: Los comandos de GNU/Linux"
- 💪 ¡Forma parte de la Comunidad de ./voidNull!
- 🤖 Disfruta de todos nuestros Cursos sobre Ansible, Proxmox, Home Assistant entre otros.
- 📩 Mantente actualizado con lo último en GNU/Linux y Software Libre. Recibe nuestra Newsletter mensual.


Comentarios