Arcane es una plataforma basada en Docker que facilita el despliegue, la gestión y la automatización de aplicaciones en contenedores, ofreciendo una capa de abstracción para administrar servicios y entornos de forma centralizada.


Arcane es una plataforma de gestión y automatización basada en contenedores Docker. Proporciona una capa adicional de abstracción que permite desplegar, configurar y administrar aplicaciones de forma centralizada, simplificando el uso directo de Docker y Docker Compose.

Arcane permite definir servicios, entornos y flujos de despliegue de manera declarativa, facilitando la automatización de builds y despliegues sin necesidad de gestionar manualmente contenedores o ejecutar comandos complejos de forma repetitiva.

Es especialmente útil para desarrolladores y administradores de sistemas que necesitan organizar múltiples servicios Docker, mantener entornos reproducibles y automatizar despliegues, sin recurrir a orquestadores más complejos como Kubernetes.

Instalación de Docker

Para poder instalar Arcane en nuestro servidor, es necesario tener primero instalado Docker. Para instalar Docker te dejamos este otro tutorial que da todo tipo de detalle:

Instalación de Docker en Ubuntu 24.04
Docker es una aplicación que simplifica el proceso de gestión de los procesos de las aplicaciones en contenedores. Los contenedores le permiten ejecutar sus aplicaciones en procesos aislados de recursos.

Instalación de Arcane

La instalación de Arcane es muy sencilla, ya que dispone de un script para instalarlo todo de forma automática, pero no es la recomendada. Así que vamos a utilizar la recomendada para este tutorial.

La recomendada es utilizar Docker Compose y levantar todo lo necesario para que funcione Arcane en nuestro servidor.

Así que lo primero de todo es crear un directorio y un fichero de docker-compose.yml para luego desplegar el contenedor:

mkdir -p /opt/arcane
touch /opt/arcane/docker-compose.yml

Y dentro del fichero de configuración añadimos:

services:
  arcane:
    image: ghcr.io/getarcaneapp/arcane:latest
    container_name: arcane
    ports:
      - '3552:3552'
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - arcane-data:/app/data
      - /opt/arcane/projects:/app/data/projects
    environment:
      - APP_URL=http://localhost:3552
      - PUID=1000
      - PGID=1000
      - ENCRYPTION_KEY=xxxxxxxxxxxxxxxxxxxxxx
      - JWT_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxx
    restart: unless-stopped

volumes:
  arcane-data:

Para generar el ENCRYPTION_KEY y JWT_SECRET hay que ejecutar lo siguiente:

docker run --rm ghcr.io/getarcaneapp/arcane:latest /app/arcane generate secret

Esto se descargará la imagen de Arcane y te dará un resultado parecido a este:

BASE64
------
ENCRYPTION_KEY=KukqEfo9W+wMtZZFiVwQxPpXXXXXXXX
JWT_SECRET=omwO8vtJM+cGjnJFL4lds+Fjhq77OXXXXXXXX=

Lo añadimos a la configuración de Docker Compose y creamos el directorio para los proyectos:

mkdir -p /opt/arcane/projects

Una vez tenemos todo esto, es el momento de levantar el contenedor:

docker compose up -d
💡
Este contenedor está escuchando directamente por el puerto 3552, por lo que si vas a usar directamente el acceso por IP, recuerda de abrir el puerto 3552 en tu corta fuegos.

Accediendo a la interfaz web

Tal y como lo tenemos ahora, deberemos de acceder a la interfaz de Arcane con la IP y el puerto 3552.

Por defecto este panel tiene un usuario y contraseña definidas, por lo que primero accederemos con esos datos y luego los cambiaremos. El usuario es arcane y la contraseña arcane-admin.

Nada más acceder, nos pedirá de configurar una contraseña segura nueva:

Una vez configuremos la contraseña ya tendremos acceso a la interfaz web:

Configurar acceso por dominio y SSL [Opcional]

Si queremos acceder utilizando un dominio y SSL, podemos hacerlo creando un Nginx Proxy y apuntando ese Proxy al puerto 3552.

Configurar Proxy Inverso con Nginx para que escuche a un puerto interno
En ocasiones tenemos servicios o aplicaciones web que escuchan directamente a un puerto interno. Para evitar acceder a dicha aplicación o servicio por la IP del servidor, una configuración que podemos hacer es acceder desde un Nginx Proxy.

Más sobre ./voidNull

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación