80 lines
2.0 KiB
Bash
80 lines
2.0 KiB
Bash
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
# --- VARIABLES ---
|
|
USER_HOME="/home/lucas"
|
|
BASHRC="$USER_HOME/.bashrc"
|
|
DAGU_CONFIG_DIR="$USER_HOME/.config/dagu"
|
|
DAGU_CONFIG_FILE="$DAGU_CONFIG_DIR/config.yaml"
|
|
SERVICE_FILE="/etc/systemd/system/dagu.service"
|
|
LOCAL_BIN="$USER_HOME/.local/bin"
|
|
|
|
# --- 1. INSTALAR DAGU ---
|
|
echo "🚀 Instalando Dagu..."
|
|
curl -L https://raw.githubusercontent.com/dagu-org/dagu/main/scripts/installer.sh | bash
|
|
|
|
# --- 2. AÑADIR PATH AL BASHRC SI NO EXISTE ---
|
|
if ! grep -Fxq "export PATH=\"\$PATH:$LOCAL_BIN\"" "$BASHRC"; then
|
|
echo "🛠 Añadiendo $LOCAL_BIN al PATH en .bashrc..."
|
|
echo 'export PATH="$PATH:/home/lucas/.local/bin"' >> "$BASHRC"
|
|
else
|
|
echo "✅ PATH ya contiene $LOCAL_BIN."
|
|
fi
|
|
|
|
# --- 3. CREAR CONFIGURACIÓN DE DAGU ---
|
|
echo "🧩 Creando archivo de configuración de Dagu..."
|
|
mkdir -p "$DAGU_CONFIG_DIR"
|
|
cat > "$DAGU_CONFIG_FILE" <<EOF
|
|
# ~/.config/dagu/config.yaml
|
|
host: 0.0.0.0
|
|
port: 4200
|
|
|
|
auth:
|
|
basic:
|
|
enabled: true
|
|
username: admin
|
|
password: admin
|
|
|
|
paths:
|
|
dagsDir: ~/.dagu/workflows
|
|
logDir: /var/log/dagu
|
|
EOF
|
|
|
|
# Crear directorios de logs y workflows
|
|
mkdir -p "$USER_HOME/.dagu/workflows"
|
|
sudo mkdir -p /var/log/dagu
|
|
sudo chown -R "$(whoami)":"$(whoami)" /var/log/dagu
|
|
|
|
# --- 4. RECARGAR BASHRC ---
|
|
echo "🔄 Recargando bashrc..."
|
|
source "$BASHRC"
|
|
|
|
# --- 5. CREAR SERVICIO SYSTEMD ---
|
|
echo "⚙️ Creando servicio systemd para Dagu..."
|
|
sudo bash -c "cat > $SERVICE_FILE" <<'EOF'
|
|
[Unit]
|
|
Description=Dagu Workflow Engine
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=lucas
|
|
WorkingDirectory=/home/lucas
|
|
Environment=DAGU_PORT=4200
|
|
ExecStart=/home/lucas/.local/bin/dagu start-all --port 4200
|
|
Restart=on-failure
|
|
RestartSec=10
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
|
|
# --- ACTIVAR SERVICIO ---
|
|
echo "🧠 Activando servicio de Dagu..."
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable dagu.service
|
|
sudo systemctl restart dagu.service
|
|
|
|
echo "✅ Dagu instalado, configurado y ejecutándose en el puerto 4200"
|
|
echo "🌐 Abre: http://localhost:4200 con usuario 'admin' y contraseña 'admin'"
|