Acceso a Semaphore UI
Abrir en el navegador: http://<SERVER_IP>
Usuario:
- Nombre de usuario:
admin - Contraseña: guardada en
/root/semaphore/docker-compose.yml(SEMAPHORE_ADMIN_PASSWORD)
Recuperar contraseña:
grep SEMAPHORE_ADMIN_PASSWORD /root/semaphore/docker-compose.yml
Archivos y directorios importantes
- Ruta de instalación:
/root/semaphore - Archivo Compose:
/root/semaphore/docker-compose.yml - Configuración de Caddy:
/etc/caddy/Caddyfile - Volumen de Postgres:
semaphore_postgres - Volumen de datos:
semaphore_data - Volumen de configuración:
semaphore_config - Volumen temporal:
semaphore_tmp
Dominio y HTTPS (Caddy)
0. HTTPS NO funciona con direcciones IP.
1. Apunta un dominio (p. ej., example.com) a la dirección IP de tu servidor.
2. Actualiza /etc/caddy/Caddyfile:
example.com {
reverse_proxy 127.0.0.1:3000 {
header_up X-Real-IP {client_ip}
}
}
3. Reinicia Caddy:
systemctl restart caddy
4. Caddy emitirá y renovará automáticamente los certificados SSL.
Gestión del stack
cd /root/semaphore
Comprobar el estado:
docker compose ps
Ver registros:
docker compose logs -f
Reiniciar los servicios:
docker compose restart
Detener el stack:
docker compose down
Iniciar el stack:
docker compose up -d
Notas
- PostgreSQL se despliega como contenedor (
semaphore_db) - La interfaz solo se expone a través de Caddy (sin exposición directa de puertos)