Lo que hace Zelie
Apps, las bases de datos que usan y servidores de juegos en un servidor Linux, y lo que los mantiene en marcha. Cada parte, en breve; la documentación tiene todos los detalles.


Apps
Una app viene de GitHub, de una imagen de contenedor o de tus propios archivos para Node.js, Python, Bun, Deno o Java.
- Al conectar GitHub se crea una GitHub App en tu propia cuenta, con acceso solo a los repositorios que elijas
- Variables, normales o secretas; los builds las reciben sin meterlas en la imagen
- Volúmenes que sobreviven a los deploys, cada uno con un límite de tamaño que puedes ampliar
- Límites de memoria y CPU, logs en vivo y métricas guardadas durante un día


Builds y deploys
Un repositorio con Dockerfile se compila con él; sin Dockerfile, Railpack resuelve el build. Los tests de un proyecto Node se ejecutan en cada build nuevo, sin red, y si un test falla se mantiene la versión anterior.
- Con dominio, la versión nueva arranca junto a la anterior y recibe tráfico tras su comprobación de estado
- Sin dominio, o con volúmenes, la anterior se detiene primero para que nunca corran dos copias a la vez
- Las últimas cinco versiones conservan su imagen, así que volver atrás lleva uno o dos segundos
- Tras cinco cierres en diez minutos, una app se queda detenida y el panel dice por qué


Servidores de juegos
Los servidores de juegos funcionan con eggs de Pterodactyl y Pelican: Minecraft, Rust, Valheim, Palworld, Counter-Strike 2 y más de la lista, o cualquier otro egg con su enlace.
- Una consola en vivo con colores, las últimas 500 líneas, una línea de comandos con historial, filtros y comandos rápidos
- Archivos en el navegador con un editor, y los mismos archivos por SFTP
- Puertos de un rango que configuras una vez; los jugadores se conectan directamente al servidor
- Sin puerto público para un servidor detrás de un proxy; los servidores de un grupo de red se alcanzan por su nombre
- Tareas programadas, copias de seguridad, clones y actualizaciones de Steam cuando nadie está jugando
- Cuando un servidor se cae, Zelie lee sus últimas líneas y dice por qué


Jugadores
Para Rust y Minecraft, y como una lista sencilla para algunos otros juegos de Steam.
- Quién está conectado, con su ping y su tiempo de conexión
- Entradas y salidas guardadas 30 días, el chat 7, con búsqueda
- Expulsar y banear con un motivo; un ban puede terminar solo
- Notas sobre los jugadores y un registro de lo que hicieron los administradores
- Whitelist y operadores para Minecraft, owners y moderadores para Rust, y bans por nombre, SteamID o IP, con el servidor en marcha o parado
- Para Rust: grupos, permisos y plugins de Oxide y Carbon, y herramientas RCON como mensajes, silenciar y teletransportar
- Slots de Rust que siguen a los jugadores conectados y en cola, si lo activas


Redes privadas
Cada app y cada servidor de juegos tiene su propia red. Un administrador puede poner varios en un grupo de red: los miembros se alcanzan por su nombre en todos los puertos, TCP y UDP, y todo lo demás sigue cerrado.
- Entrar o salir se aplica al momento; no se reinicia nada
- Un servidor de juegos puede crearse sin puerto público, y entonces solo lo alcanza su grupo
- El acceso a una base de datos del host sigue siendo por app; un grupo no lo abre a los demás
- Un proxy Velocity configura en cada arranque los servidores Paper y Purpur que tiene detrás: reenvío moderno, la lista de servidores y un secreto compartido
Cómo configurarlos: Network groups y Minecraft network.
Bases de datos
PostgreSQL 18 y 17, MariaDB 11.8 y 10.11 y Redis 8, cada una en su propio contenedor con su propio volumen. Ninguna recibe un puerto público.
- Vincula una a una app o a un servidor de juegos y recibe
DATABASE_URLoREDIS_URL - Las versiones de parche se aplican tras una copia de seguridad; una versión mayor pasa a un volumen nuevo, y el anterior se queda si algo falla
- Una pestaña Data de solo lectura con tablas, filtros, búsqueda y exportación a CSV
- Herramientas de escritorio como TablePlus se conectan a través de un túnel SSH


Copias de seguridad
Las bases de datos se copian cada noche a las 3:00 y se guardan siete días, salvo que lo cambies. Las apps y los servidores de juegos también se pueden copiar según una programación.
- Comprimidas y cifradas en el servidor, con un archivo de recuperación que permite abrirlas en otro servidor
- Copias en cualquier almacenamiento compatible con S3, guardadas 30 días por defecto
- Una restauración copia primero lo que hay, y lo vuelve a poner si la restauración falla


Dominios y HTTPS
Dale un dominio a una app y el proxy lo enruta. Con una instalación con dominio, los certificados vienen de Let’s Encrypt; detrás de un Cloudflare Tunnel, Cloudflare se encarga del HTTPS. El túnel ya ha funcionado en un servidor real; Let’s Encrypt, de momento, solo contra un sustituto de pruebas.
Actualizaciones
Zelie se actualiza con un clic, y las apps, las bases de datos y los servidores de juegos siguen en marcha mientras tanto. Si quieres, una ronda cada noche a las 04:30 hace el resto, y espera mientras haya una copia de seguridad, un build o un deploy en curso.
- La versión de parche de Zelie
- Versiones de seguridad de Node, aplicadas al momento y recompiladas desde el mismo commit
- Nuevos builds de etiquetas de imágenes y bases de datos que llevan versión, con copia de seguridad previa
- Correcciones para paquetes vulnerables en proyectos npm, pnpm y Yarn 1, probadas en una rama y fusionadas, o abiertas como pull request
- Las versiones mayores esperan aprobación; una actualización automática tiene que aguantar 60 segundos en marcha o vuelve la anterior


Cerrado por defecto
- El proxy, el panel y el servidor SFTP corren con sus propios usuarios sin privilegios
- El núcleo corre como root pero no tiene puerto de red: solo responde en un socket Unix
- Los contenedores usan user namespaces, así que root dentro de uno es un usuario sin privilegios en el host
- Las bases de datos nunca reciben un puerto público
- Los secretos se sellan al guardarse, y el panel no puede volver a leerlos
Lo que un servidor envía a Caria Core, y lo que nunca envía: Licencia y privacidad.
Subusuarios
Invita a alguien con un enlace y elige qué puede hacer en cada servicio. Inicia sesión con su propia contraseña y un segundo paso, que toda cuenta necesita.
- Permisos uno a uno, como la consola, encender y apagar, archivos, copias de seguridad y deploys, o desde las plantillas de lector, moderador y administrador
- Nadie puede dar más de lo que tiene, y un servicio que no se le dio a alguien ni siquiera le aparece
- La licencia, las actualizaciones, los puertos y las claves siguen siendo de los propietarios
- Cada cambio en un servicio queda en el registro de actividad con quién lo hizo
- Desactivar una cuenta cierra su sesión en todas partes, incluidas sus claves de consola y SFTP
Interfaz
Cinco temas, un color de acento, densidad y tamaño de texto, guardados en la cuenta para que todos los dispositivos se vean igual. Funciona en el móvil. De momento, el único idioma es el inglés. Los servicios fijados se quedan arriba en la página de inicio y en el menú lateral, y Ctrl+K (Cmd+K en un Mac) salta a cualquier servicio, pestaña o ajuste.
Todavía no
- Varios servidores gestionados desde un panel
Instalar Zelie
Zelie está en desarrollo temprano, y Free está abierto a todos: crea una cuenta e instálalo en un servidor propio. Pro y Business vendrán después: Pro también para tu propio servidor, Business para quien vende hosting.