Skip to content

eternaldreamers/social

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Pleroma en Railway — Guía de configuración

Estructura de archivos

tu-repo/
├── Dockerfile
├── docker-entrypoint.sh
├── railway.toml
└── README.md          ← este archivo

Paso 1 — Crear el proyecto en Railway

  1. Ve a railway.app e inicia sesión.
  2. Click New ProjectDeploy from GitHub repo.
  3. Selecciona tu repositorio (el que contiene este Dockerfile).
  4. Railway detectará el Dockerfile automáticamente.

Paso 2 — Añadir PostgreSQL

  1. En tu proyecto, click + Add ServiceDatabasePostgreSQL.
  2. Railway creará la DB y añadirá automáticamente DATABASE_URL a tu servicio Pleroma.

⚠️ Importante: DATABASE_URL se inyecta automáticamente cuando ambos servicios están en el mismo proyecto. No necesitas copiarla manualmente.


Paso 3 — Configurar Variables de entorno

Ve a tu servicio Pleroma → pestaña Variables → añade:

Variable Valor de ejemplo Obligatoria
PLEROMA_DOMAIN social.tudominio.com ✅ Sí
PLEROMA_INSTANCE_NAME Mi Instancia Pleroma ✅ Sí
PLEROMA_ADMIN_EMAIL admin@tudominio.com ✅ Sí
PLEROMA_NOTIFY_EMAIL notify@tudominio.com No (usa admin)
DATABASE_URL (se llena sola desde el plugin PG) ✅ Auto
DB_ADMIN_USER postgres ✅ Sí (para crear la DB)
DB_ADMIN_PASS (cópiala del plugin Postgres) ✅ Sí
MIX_ENV prod ✅ Sí
SECRET_KEY_BASE (genera con mix phx.gen.secret) ✅ Sí

Obtener DB_ADMIN_PASS

  1. Click en el servicio PostgreSQL en Railway.
  2. Pestaña Variables.
  3. Copia el valor de POSTGRES_PASSWORD → pégalo como DB_ADMIN_PASS en Pleroma.

Generar SECRET_KEY_BASE

Si tienes Elixir instalado localmente:

mix phx.gen.secret

Si no, puedes usar:

openssl rand -hex 64

Paso 4 — Configurar el dominio

Opción A — Dominio de Railway (.up.railway.app)

  1. Servicio Pleroma → SettingsNetworkingGenerate Domain.
  2. Copia el dominio generado (ej: pleroma-production.up.railway.app).
  3. Úsalo como valor de PLEROMA_DOMAIN.

Opción B — Dominio propio (recomendado)

  1. Servicio Pleroma → SettingsNetworkingCustom Domain.
  2. Ingresa tu dominio (ej: social.tudominio.com).
  3. Railway te dará un registro CNAME para apuntar en tu DNS.
  4. Usa ese mismo dominio en PLEROMA_DOMAIN.

Railway gestiona el certificado SSL automáticamente (Let's Encrypt). No necesitas configurar nginx.


Paso 5 — Volumen para uploads (opcional pero recomendado)

Sin volumen persistente, los archivos subidos se pierden al redeploy.

  1. Servicio Pleroma → SettingsVolumes.
  2. Click Add Volume.
  3. Mount path: /var/lib/pleroma/uploads.

Paso 6 — Deploy

Railway hará deploy automáticamente al hacer push al branch configurado. El primer deploy tardará varios minutos (compila Elixir + descarga deps).

Puedes ver los logs en: Servicio Pleroma → Deployments → [último deploy] → Logs.


Paso 7 — Crear tu primer usuario admin

Una vez que el deploy esté Active:

# Instala Railway CLI si no lo tienes:
npm install -g @railway/cli

# Login
railway login

# Ejecutar en el contenedor desplegado:
railway run --service pleroma \
  docker-entrypoint.sh create-admin tuusuario tu@email.com

Solución de problemas

La app no inicia / health check falla

  • Revisa los logs del deploy (suelen indicar exactamente qué faltó).
  • Verifica que DATABASE_URL esté disponible en las variables.
  • El primer arranque puede tardar 5-10 min.

Error de conexión a la DB

  • Asegúrate de que el servicio PostgreSQL está en el mismo proyecto.
  • Verifica que DB_ADMIN_PASS coincide con POSTGRES_PASSWORD del plugin.

Uploads no persisten

  • Configura el volumen en /var/lib/pleroma/uploads (ver Paso 5).

Variables completas de referencia

# Obligatorias
PLEROMA_DOMAIN=social.tudominio.com
PLEROMA_INSTANCE_NAME=Mi Pleroma
PLEROMA_ADMIN_EMAIL=admin@tudominio.com
MIX_ENV=prod
SECRET_KEY_BASE=<genera con openssl rand -hex 64>

# Desde el plugin Postgres (automáticas)
DATABASE_URL=postgresql://...

# Para setup inicial de la DB
DB_ADMIN_USER=postgres
DB_ADMIN_PASS=<copia de POSTGRES_PASSWORD del plugin>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors