mejorado insercion de usuario

This commit is contained in:
2025-11-16 11:29:20 +00:00
parent 373dbe6f60
commit c8bf597ab1
3 changed files with 36 additions and 15 deletions
+9
View File
@@ -0,0 +1,9 @@
# Usuario del sistema donde se instalará Dagu
TARGET_USER=egutierrez
# Puerto para el dashboard de Dagu
DAGU_PORT=4200
# Credenciales de autenticación básica
DAGU_USERNAME=admin
DAGU_PASSWORD=password
+1
View File
@@ -0,0 +1 @@
.env
+26 -15
View File
@@ -1,11 +1,22 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
# Cambia el nombre de usuario y el nombre en el servicio # --- Cargar variables desde .env ---
if [ ! -f .env ]; then
echo "❌ No se encontró .env. Crea uno basado en .env.example."
exit 1
fi
export $(grep -v '^#' .env | xargs)
# --- VALIDACIÓN ---
: "${TARGET_USER:? ❌ Falta TARGET_USER en .env}"
: "${DAGU_PORT:? ❌ Falta DAGU_PORT en .env}"
: "${DAGU_USERNAME:? ❌ Falta DAGU_USERNAME en .env}"
: "${DAGU_PASSWORD:? ❌ Falta DAGU_PASSWORD en .env}"
# --- VARIABLES --- # --- VARIABLES ---
USER_HOME="/home/egutierrez" USER_HOME="/home/$TARGET_USER"
BASHRC="$USER_HOME/.bashrc" BASHRC="$USER_HOME/.bashrc"
DAGU_CONFIG_DIR="$USER_HOME/.config/dagu" DAGU_CONFIG_DIR="$USER_HOME/.config/dagu"
DAGU_CONFIG_FILE="$DAGU_CONFIG_DIR/config.yaml" DAGU_CONFIG_FILE="$DAGU_CONFIG_DIR/config.yaml"
@@ -19,7 +30,7 @@ curl -L https://raw.githubusercontent.com/dagu-org/dagu/main/scripts/installer.s
# --- 2. AÑADIR PATH AL BASHRC SI NO EXISTE --- # --- 2. AÑADIR PATH AL BASHRC SI NO EXISTE ---
if ! grep -Fxq "export PATH=\"\$PATH:$LOCAL_BIN\"" "$BASHRC"; then if ! grep -Fxq "export PATH=\"\$PATH:$LOCAL_BIN\"" "$BASHRC"; then
echo "🛠 Añadiendo $LOCAL_BIN al PATH en .bashrc..." echo "🛠 Añadiendo $LOCAL_BIN al PATH en .bashrc..."
echo 'export PATH="$PATH:/home/lucas/.local/bin"' >> "$BASHRC" echo "export PATH=\"\$PATH:$LOCAL_BIN\"" >> "$BASHRC"
else else
echo "✅ PATH ya contiene $LOCAL_BIN." echo "✅ PATH ya contiene $LOCAL_BIN."
fi fi
@@ -30,23 +41,23 @@ mkdir -p "$DAGU_CONFIG_DIR"
cat > "$DAGU_CONFIG_FILE" <<EOF cat > "$DAGU_CONFIG_FILE" <<EOF
# ~/.config/dagu/config.yaml # ~/.config/dagu/config.yaml
host: 0.0.0.0 host: 0.0.0.0
port: 4200 port: $DAGU_PORT
auth: auth:
basic: basic:
enabled: true enabled: true
username: admin username: $DAGU_USERNAME
password: admin password: $DAGU_PASSWORD
paths: paths:
dagsDir: ~/.dagu/workflows dagsDir: ~/.dagu/workflows
logDir: /var/log/dagu logDir: /var/log/dagu
EOF EOF
# Crear directorios de logs y workflows # Crear directorios
mkdir -p "$USER_HOME/.dagu/workflows" mkdir -p "$USER_HOME/.dagu/workflows"
sudo mkdir -p /var/log/dagu sudo mkdir -p /var/log/dagu
sudo chown -R "$(whoami)":"$(whoami)" /var/log/dagu sudo chown -R "$TARGET_USER":"$TARGET_USER" /var/log/dagu
# --- 4. RECARGAR BASHRC --- # --- 4. RECARGAR BASHRC ---
echo "🔄 Recargando bashrc..." echo "🔄 Recargando bashrc..."
@@ -54,17 +65,17 @@ source "$BASHRC"
# --- 5. CREAR SERVICIO SYSTEMD --- # --- 5. CREAR SERVICIO SYSTEMD ---
echo "⚙️ Creando servicio systemd para Dagu..." echo "⚙️ Creando servicio systemd para Dagu..."
sudo bash -c "cat > $SERVICE_FILE" <<'EOF' sudo bash -c "cat > $SERVICE_FILE" <<EOF
[Unit] [Unit]
Description=Dagu Workflow Engine Description=Dagu Workflow Engine
After=network.target After=network.target
[Service] [Service]
Type=simple Type=simple
User=lucas User=$TARGET_USER
WorkingDirectory=/home/lucas WorkingDirectory=$USER_HOME
Environment=DAGU_PORT=4200 Environment=DAGU_PORT=$DAGU_PORT
ExecStart=/home/lucas/.local/bin/dagu start-all --port 4200 ExecStart=$LOCAL_BIN/dagu start-all --port $DAGU_PORT
Restart=on-failure Restart=on-failure
RestartSec=10 RestartSec=10
@@ -78,5 +89,5 @@ sudo systemctl daemon-reload
sudo systemctl enable dagu.service sudo systemctl enable dagu.service
sudo systemctl restart dagu.service sudo systemctl restart dagu.service
echo "✅ Dagu instalado, configurado y ejecutándose en el puerto 4200" echo "✅ Dagu instalado y ejecutándose en el puerto $DAGU_PORT"
echo "🌐 Abre: http://localhost:4200 con usuario 'admin' y contraseña 'admin'" echo "🌐 Accede a: http://localhost:$DAGU_PORT con usuario '$DAGU_USERNAME' y contraseña '$DAGU_PASSWORD'"