Folio Writer
Próximamente

Aloja tú mismo Folio Writer Cloud

Un solo archivo docker compose ejecuta en tu propia máquina el mismo servidor que hay detrás de cloud.foliowriter.app: coedición en vivo, proyectos cifrados de extremo a extremo, vista previa compuesta y exportación a PDF / Word / LaTeX (Pandoc y Typst vienen dentro de la imagen). Gratis para uso personal.

Todavía no disponible

La imagen pública foliowriter/folio-web aún se está terminando, así que hoy los comandos de abajo no descargarán nada. Esta página es un adelanto de cómo funcionará el autoalojamiento. ¿Quieres que te avisemos el día que salga? Escríbenos y te enviaremos un correo.

Inicio rápido

mkdir folio && cd folio
curl -fsSLO https://foliowriter.app/selfhost/docker-compose.yml
FOLIO_DOMAIN=folio.example.com docker compose up -d

El Caddy incluido obtiene y renueva el certificado de Let’s Encrypt para tu dominio y hace de proxy para HTTPS y los websockets de colaboración. Después abre https://folio.example.com. ¿Aún no tienes dominio? Ejecuta docker compose up folio-web y abre http://localhost:8787.

Qué necesitas

Tu primera cuenta (de administrador)

Inicia el servidor con tu correo en FOLIO_ADMIN_EMAILS:

FOLIO_DOMAIN=folio.example.com [email protected] \
  docker compose up -d

Cada dirección que figure ahí es siempre administradora: sin cuotas, y con acceso al panel /admin (cuentas, proyectos, almacenamiento, tráfico). Inicia sesión con ese correo; si no hay SMTP configurado, el enlace mágico de inicio de sesión se imprime en el registro del servidor en lugar de enviarse por correo:

docker compose logs folio-web | grep -i http

Abre el enlace impreso y ya estás dentro. Para enviar correos de verdad, define las variables SMTP_* (sirve cualquier relay) y PUBLIC_BASE_URL, para que los enlaces enviados usen tu dominio.

Configuración

Todo son variables de entorno. Ponlas en un archivo .env junto a docker-compose.yml (Compose lo lee automáticamente):

FOLIO_DOMAIN=folio.example.com
PUBLIC_BASE_URL=https://folio.example.com
[email protected]
FOLIO_LIMIT_PROJECTS=0        # 0 = unlimited
FOLIO_LIMIT_STORAGE_MB=0      # 0 = unlimited
FOLIO_ENC_KEY=…               # openssl rand -hex 32
VariableQué hace
FOLIO_DOMAINDominio que Caddy sirve y para el que obtiene certificados (por omisión, localhost).
PUBLIC_BASE_URLOrigen absoluto que se usa en los correos de inicio de sesión y en los enlaces para compartir.
FOLIO_ADMIN_EMAILSCorreos separados por comas que siempre son administradores: exentos de cuota, pueden usar /admin.
SMTP_HOST / PORT / USER / PASS / SECURE / FROMCorreo saliente para el inicio de sesión con enlace mágico. Sin definir → los enlaces se imprimen en el registro del contenedor.
FOLIO_LIMIT_PROJECTSProyectos por cuenta (por omisión, 2). 0 = ilimitados: es lo que configura la mayoría de quienes lo alojan.
FOLIO_LIMIT_STORAGE_MBAlmacenamiento por cuenta en MB (por omisión, 50). 0 = ilimitado.
FOLIO_DEMOSIds de proyecto separados por comas que se ofrecen como espacios de demostración que se restablecen solos.
FOLIO_ALLOW_GUEST_PROJECTSPon 1 para que los visitantes puedan crear proyectos sin iniciar sesión (por omisión, crear requiere una cuenta; las demostraciones siempre están abiertas).
FOLIO_ENC_KEYClave de 64 caracteres hexadecimales que cifra en reposo los secretos de autenticador almacenados.

Actualizaciones, copia de seguridad y restauración

Para actualizar: docker compose pull && docker compose up -d. Hay versiones etiquetadas (foliowriter/folio-web:0.2.0) si prefieres fijar una versión en lugar de seguir latest.

Todo (proyectos, cuentas, sesiones) vive en ./data, junto al archivo de Compose. La copia de seguridad es esa carpeta:

docker compose stop folio-web
tar czf folio-backup-$(date +%F).tgz data
docker compose start folio-web

Para restaurar, o cambiar de servidor, vuelve a poner data/ en su sitio y ejecuta docker compose up -d.

Licencia

El uso personal es gratuito. La imagen es propietaria, pero alojarla no cuesta nada si es para ti, tu familia y tus colaboradores personales.

Los equipos y las organizaciones necesitan una licencia comercial. Ejecutarla para o dentro de una empresa, un centro educativo u otra organización, o con fines comerciales, requiere una; así es como se financia el nivel gratuito. Ponte en contacto y lo resolveremos enseguida.

No se permite redistribuirla, cambiarle la marca ni crear obras derivadas; los términos completos acompañan a la documentación de la imagen. ¿Prefieres no tener que ejecutar un servidor? cloud.foliowriter.app es la versión alojada, gratis para empezar.