Traceway
Instalar docker
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USERCrear la carpeta para el proyecto
mkdir -p ~/apps/traceway
cd ~/apps/tracewayGenerar el JWT_SECRET
openssl rand -hex 32Guardalo, lo vas a pegar en el
docker-compose.ymlen el siguiente paso.
Ajustes para el proyecto
Estando en la carpeta ~/apps/traceway, ejecutaremos:
nano docker-compose.ymlY pegaremos la siguiente configuración:
services:
traceway:
image: ghcr.io/tracewayapp/traceway:sqlite
ports:
- "127.0.0.1:8080:80"
environment:
JWT_SECRET: "el_hex_generado_con_openssl"
APP_BASE_URL: "https://traceway.dominio.com"
# Retención opcional. Por defecto 30 días; "0" la desactiva.
SQLITE_RETENTION_DAYS: "30"
SESSION_RECORDING_RETENTION_DAYS: "30"
volumes:
- traceway-data:/data
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "-qO-", "http://localhost/health"]
interval: 30s
timeout: 3s
start_period: 5s
retries: 3
volumes:
traceway-data:INFO
-El puerto se mapea solo a127.0.0.1:8080porque quien va a exponerlo al público es Caddy, no el contenedor directamente.
-EnAPP_BASE_URLva la URL pública final del panel; Traceway la usa para las instrucciones del SDK, links de email y callbacks OAuth.
Levantar contenedor
cd ~/apps/traceway
docker compose up -d
docker compose logs -fReverse proxy en Caddy para el panel
traceway.dominio.com {
reverse_proxy 127.0.0.1:8080
}Reglas de firewall (ufw)
sudo ufw allow 80/tcp # ACME challenge de Caddy
sudo ufw allow 443/tcp # HTTPS del panel
sudo ufw statusNo hace falta abrir el 8080 — solo escucha en loopback, Caddy es el único que le habla.
Primer ingreso
Entrá a https://traceway.dominio.com/register y creá la primera cuenta. Esa pantalla de registro solo aparece una vez, antes de que exista el primer usuario — después queda deshabilitada.
Mantenimiento
Actualizar traceway
cd ~/apps/traceway
docker compose pull
docker compose up -dBackup de datos
Ideal siempre también tener un backup fuera de este VPS
docker compose stop
docker run --rm \
-v traceway_traceway-data:/data \
-v ~/apps/traceway:/backup \
alpine tar -czf /backup/traceway-backup-$(date +%F).tar.gz -C /data .
docker compose start