Arcane¶
Sistema de gestión de contenedores Docker con interfaz web intuitiva. Permite gestionar, monitorear y controlar contenedores Docker de forma visual y sencilla.
Referencia oficial de instalación: https://getarcane.app/docs/setup/installation
Características¶
- 🐳 Gestión de Contenedores: Control completo de tus contenedores
- 📊 Monitorización en Tiempo Real: CPU, memoria, red y disco
- 🔍 Logs en Vivo: Visualización de logs de contenedores
- 🖥️ Interfaz Moderna: UI intuitiva y responsive
- 🔐 Seguro: Autenticación y cifrado de datos
- 📝 Base de Datos SQLite: Almacenamiento local eficiente
- 🎨 Personalizable: Configuración flexible
Requisitos Previos¶
- Docker Engine instalado
- Docker Compose instalado
- URL de acceso definida para la aplicación
- Claves generadas: ENCRYPTION_KEY y JWT_SECRET
- Ruta local de proyectos que quieras exponer a Arcane (variable
PROJECTS_DIRECTORYen.env) - Red Docker externa
proxycreada, ya que elcompose.yamlde este repositorio está preparado para conectarse a ella
⚠️ IMPORTANTE: Arcane necesita acceso al socket de Docker (/var/run/docker.sock).
Archivos de este Repositorio¶
Este repositorio contiene archivos de ejemplo:
- compose.yaml - Configuración base del contenedor
- .env.example - Plantilla de variables de entorno
- README.md - Esta documentación
💡 Tip: Puedes copiar estos archivos manualmente o clonar el repositorio.
Generar Claves Seguras¶
Antes de cualquier despliegue, genera las claves necesarias:
# You can use OpenSSL in your terminal to generate the secrets
echo " - ENCRYPTION_KEY=$(openssl rand -hex 32)"
Guarda los resultados, los necesitarás en el archivo .env.
⚠️ Importante: Nunca compartas estas claves. Cada instalación debe tener claves únicas.
Despliegue con Docker Compose¶
1. Crear Directorio y Archivos¶
2. Crear compose.yaml¶
Crea el archivo compose.yaml:
services:
arcane:
image: ghcr.io/getarcaneapp/arcane:latest
container_name: arcane
restart: unless-stopped
#Puertos expuestos para acceso directo (opcional, se recomienda usar proxy inverso)
ports:
- 3552:3552
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/app/data
- ./backups:/backups # Cambia esta ruta por la ubicación de tus backups de volúmenes
- ${PROJECTS_DIRECTORY}:${PROJECTS_DIRECTORY} # Ruta del host donde están los proyectos
environment:
- APP_URL=${APP_URL}
- PROJECTS_DIRECTORY=${PROJECTS_DIRECTORY}
- PUID=1000
- PGID=1000
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
# añadir estas líneas para proxy inverso
networks:
default:
external: true
name: proxy
3. Configurar Variables de Entorno¶
Copia .env.example a .env y ajústalo a tu entorno:
Contenido esperado de .env:
# Usa la URL final con la que accederás a la aplicación
# Ejemplo local: http://localhost:3552
# Ejemplo con proxy: https://arcane.midominio.com
APP_URL=https://arcane.midominio.com
# Ruta del host donde están los proyectos
PROJECTS_DIRECTORY=/ruta/a/tus/proyectos
# Claves de Seguridad (GENERAR NUEVAS)
ENCRYPTION_KEY=tu_encryption_key_generada
4. Ajustar la Ruta de Proyectos¶
En el archivo .env, define la ruta real de tus proyectos en el host:
Esta variable se usa tanto para el bind mount como para la variable de entorno PROJECTS_DIRECTORY dentro del contenedor, por lo que solo necesitas definirla una vez.
5. Desplegar¶
# Crear la red externa requerida por este compose
docker network create proxy
# Iniciar servicios
docker compose up -d
# Ver logs
docker compose logs -f arcane
Método Alternativo: Clonar desde Git¶
Si prefieres usar Git para mantener la configuración actualizada:
# Clonar repositorio
git clone https://github.com/groales/arcane.git
cd arcane
# Copiar y editar variables
cp .env.example .env
nano .env
# Crear la red externa requerida por este compose
docker network create proxy
# Desplegar
docker compose up -d
Si no quieres usar la red proxy, comenta o elimina el bloque networks del compose.yaml antes de arrancar el servicio.
Acceso Inicial¶
Una vez desplegado, accede a Arcane usando la URL que hayas definido en APP_URL.
Puede ser una URL local o una publicada detrás de un proxy inverso genérico.
Primera Configuración¶
- Arcane se configurará automáticamente en el primer inicio
- Tendrás acceso a todos tus contenedores Docker
- Configura las preferencias desde la interfaz web
Comandos Útiles¶
Ver Logs¶
Reiniciar Servicio¶
Actualizar Contenedor¶
Detener y Eliminar¶
Estructura de Volúmenes¶
Bind mount de datos:
└── ./data/ # Directorio de datos de Arcane (base de datos SQLite, etc.)
Bind mount de backups:
└── ./backups/ # Directorio donde se almacenan los backups de volúmenes
# Cambia esta ruta por la ubicación real de tus backups
Bind mount configurable:
└── ${PROJECTS_DIRECTORY} # Directorio de proyectos visible para Arcane (definido en .env)
Configuración Avanzada¶
Variables de Entorno Disponibles¶
| Variable | Descripción | Valor |
|---|---|---|
APP_URL |
URL de acceso a Arcane | Configurar en .env |
PROJECTS_DIRECTORY |
Ruta del host donde están los proyectos | Configurar en .env |
ENCRYPTION_KEY |
Clave de cifrado (hex 64) | Configurar en .env |
JWT_SECRET |
Secreto JWT (hex 64) | Configurar en .env |
PUID |
User ID para permisos | 1000 (hardcoded) |
PGID |
Group ID para permisos | 1000 (hardcoded) |
Solución de Problemas¶
Ver Logs Detallados¶
Para cambiar el nivel de logs, edita compose.yaml:
Luego reinicia:
Seguridad¶
Recomendaciones¶
- Cambiar claves por defecto: Genera claves únicas con
openssl - Usar HTTPS si publicas el servicio: Protege el acceso remoto
- Restringir acceso: Usar firewall o VPN para acceso remoto
- Backups regulares: Respalda periódicamente el directorio
./data - Actualizar regularmente: Mantén Arcane actualizado
Acceso al Socket de Docker¶
Arcane necesita acceso al socket de Docker. Esto le da control total sobre Docker. Asegúrate de:
- Proteger el acceso a Arcane con autenticación fuerte
- Usar HTTPS exclusivamente
- Considerar restricciones de red
Backup y Restauración¶
Backup¶
# Detener contenedor
docker compose down
# Backup del directorio de datos
tar -czf arcane-backup-$(date +%Y%m%d).tar.gz ./data
# Reiniciar
docker compose up -d
Restauración¶
# Detener contenedor
docker compose down
# Restaurar directorio de datos
rm -rf ./data
tar -xzf arcane-backup-YYYYMMDD.tar.gz
# Reiniciar
docker compose up -d
Actualización¶
# Detener contenedor
docker compose down
# Hacer backup
tar -czf arcane-backup-$(date +%Y%m%d).tar.gz ./data
# Actualizar imagen
docker compose pull
# Reiniciar
docker compose up -d
# Verificar logs
docker compose logs -f arcane
Recursos¶
- Instalación Oficial: Arcane Installation Guide
- Documentación Oficial: Arcane Docs
- Repositorio Oficial: Arcane GitHub
- Docker Hub: ghcr.io/getarcaneapp/arcane
- Issues: GitHub Issues
Licencia¶
Este repositorio de configuración es de uso libre. Arcane tiene su propia licencia, revisa el repositorio oficial para más detalles.