Montando mi propia red social federada con GoToSocial en una Raspberry Pi
¿Qué es GoToSocial?
GoToSocial es un servidor de red social federada compatible con ActivityPub (el mismo protocolo que usa Mastodon). Es ligero, ideal para hardware limitado como una Raspberry Pi, y permite publicar, seguir usuarios de otras instancias y participar del Fediverse.
El equipo y herramientas que usé:
- Raspberry Pi 4 (4GB RAM)
- Sistema operativo: Debian 12
- Disco externo montado en /media/HDD2 para almacenar datos
- Docker + Docker Compose
- Nginx Proxy Manager (corriendo en la misma Pi)
- Dominio propio (por ejemplo, social.neosite.com.ar)
Paso a paso para levantar la instancia
- Crear la carpeta del proyecto y el docker-compose.yml
Creé una carpeta para alojar la instancia:
mkdir -p /media/HDD2/gotosocial/storage
cd /media/HDD2/gotosocial
Luego creé este docker-compose.yml:
services:
gotosocial:
image: superseriousbusiness/gotosocial:latest
container_name: gotosocial
ports:
- "8080:8080"
environment:
- GTS_HOST=social.neosite.com.ar
- GTS_PORT=8080
- GTS_PROTOCOL=https
- GTS_DB_TYPE=sqlite
- GTS_DB_ADDRESS=/gotosocial/storage/sqlite.db
- GTS_ADMIN_EMAIL=admin@neosite.com.ar
- GTS_INSTANCE_NAME=NombreDeTuInstancia
- GTS_MEDIA_STORAGE_PATH=/gotosocial/storage/media
- GTS_STORAGE_ACCOUNTS_PATH=/gotosocial/storage/accounts
volumes:
- ./storage:/gotosocial/storage
restart: always
- Permisos y primer arranque
Tuve que asegurarme de que el directorio storage tenga los permisos correctos:
sudo chown -R 1000:1000 storage
sudo chmod -R 755 storage
Luego:
docker compose up -d
- Crear el usuario admin
Una vez funcionando, creé un usuario admin:
docker exec -it gotosocial /gotosocial/gotosocial admin account create
--username admin
--email TuEmail@email.com
--password 'MiClaveSuperSegura'
docker exec -it gotosocial /gotosocial/gotosocial admin account promote
--username admin
- Configurar el dominio en Nginx Proxy Manager
Agregué un nuevo host con:
Dominio: social.neosite.com.ar
IP del contenedor: la IP local de la Raspberry
Puerto: 8080
SSL: Let's Encrypt activado
Y listo. La instancia ya era accesible desde el navegador.
Extras que sumé
Redacción de los Términos y Condiciones (porque nunca está de más tenerlos, aunque sea para 3 usuarios 😅)
Una descripción larga y corta para que quienes visiten la instancia entiendan de qué se trata.
¿Vale la pena?
Totalmente. GoToSocial no solo es liviano y funcional, sino que es muy fácil de mantener. Si querés tener tu pedacito del Fediverse, sin depender de plataformas ajenas, esta puede ser tu puerta de entrada.
Pero no todo es lo que parece. Levantar la instancia no quiere decir que tenga interfaz de uso
Si bien GoToSocial tiene una interfaz web para configurar la instancia y el usuario la web no tiene interfaz de uso para publicar y seguir a los usuarios que uno quiera sino que mediante aplicaciones como Tusky en el móvil o Pinafore en PC se puede usar el usuario que uno creó en la instacia que se levantó, por eso también es más liviano, porque no tiene que manejar la interfaz web para todos los usuarios. Igualmente la sigo recomendando si se quiere tener una instancia personal.