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.

La consola en vivo de un servidor de Minecraft en ZelieLa consola en vivo de un servidor de Minecraft en Zelie

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
Las métricas de una app en Zelie durante la última hora: peticiones y errores del servidor, CPU, memoria y redLas métricas de una app en Zelie durante la última hora: peticiones y errores del servidor, CPU, memoria y red

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é
Una app desplegada desde GitHub en Zelie: el commit en vivo y cuatro anteriores, cada uno con un enlace Roll backUna app desplegada desde GitHub en Zelie: el commit en vivo y cuatro anteriores, cada uno con un enlace Roll back

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é
Un servidor de Minecraft caído en Zelie, con la causa probable, sin memoria a 2 GB, y un botón para subirla a 3 GBUn servidor de Minecraft caído en Zelie, con la causa probable, sin memoria a 2 GB, y un botón para subirla a 3 GB

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
La pestaña Players de un servidor de Rust en Zelie con el perfil de un jugador abierto: notas, sesiones y chat recienteLa pestaña Players de un servidor de Rust en Zelie con el perfil de un jugador abierto: notas, sesiones y chat reciente

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_URL o REDIS_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
Las tablas y filas de una base de datos PostgreSQL, exploradas en modo de solo lectura en ZelieLas tablas y filas de una base de datos PostgreSQL, exploradas en modo de solo lectura en Zelie

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
La pestaña Backups de una base de datos PostgreSQL en Zelie: copias nocturnas guardadas en el servidor y fuera de él, cada una con RestoreLa pestaña Backups de una base de datos PostgreSQL en Zelie: copias nocturnas guardadas en el servidor y fuera de él, cada una con Restore

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
Last nights en la página Server de Zelie: actualizaciones de Zelie, Node y Postgres, una imagen revertida, una app omitida y una versión esperando aprobaciónLast nights en la página Server de Zelie: actualizaciones de Zelie, Node y Postgres, una imagen revertida, una app omitida y una versión esperando aprobación

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
Internet puede llegar al panel. No puede llegar a la parte que corre como root.

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.

support@cariacore.com

Funciones de Zelie · apps, bases de datos, juegos y copias