This repository has been archived on 2026-05-11. You can view files and clone it. You cannot open issues or pull requests or push a commit.

AutoDeployer

Piattaforma di deployment self-hosted per gestire i servizi Docker con integrazione Gitea, Traefik, e monitoring in tempo reale.

Feature

  • 🔗 Integrazione Gitea — ogni repo = un servizio, deploy automatico via webhook
  • 🚀 Auto-Deploy — webhook push → build → deploy automatico
  • 🐳 Dockerfile Build — supporto per path e context personalizzati
  • 🏷️ Traefik Labels — gestione visuale con preview dei label
  • 📋 Log Viewer — streaming real-time via WebSocket
  • 🔐 Variabili d'Ambiente — build-time e runtime, con supporto secret
  • Zero-Downtime Deploy — health check + switch traffico senza interruzioni
  • 🔔 Notifiche Telegram — notifiche deploy su Telegram
  • 📊 Monitoring — CPU, RAM, Network in tempo reale con storico su InfluxDB
  • 💻 Web Terminal — shell interattiva nei container dal browser
  • 🛡️ Docker Networks — gestione reti Docker dall'interfaccia

Setup Rapido

# 1. Copia .env
cp .env.example .env

# 2. Configura le variabili in .env
#    - JWT_SECRET (genera con: openssl rand -hex 64)
#    - WEBHOOK_SECRET
#    - GITEA_TOKEN
#    - TELEGRAM_BOT_TOKEN e TELEGRAM_CHAT_ID
#    - INFLUXDB_TOKEN
#    - DEPLOY_DOMAIN

# 3. Build e avvia
docker compose up -d --build

# 4. Apri https://deploy.tuodominio.com
#    Al primo accesso, crea l'account admin

Architettura

  • Backend: Node.js + Express + SQLite + BullMQ
  • Frontend: React + Vite (servito dallo stesso container)
  • Build Queue: BullMQ su Redis esistente (DB 2)
  • Monitoring: InfluxDB per metriche storiche
  • Container: Singolo container con accesso al Docker socket

Reti Docker

  • meb-public — Traefik, Gitea, AutoDeployer
  • meb-private — Redis, PostgreSQL, InfluxDB, servizi interni

Webhook

Ogni servizio genera un URL webhook univoco. Configura il webhook nel repository Gitea:

  1. Gitea → Settings → Webhooks → Add Webhook
  2. Target URL: http://autodeployer:3000/api/webhooks/{webhook-id}
  3. Secret: il WEBHOOK_SECRET del .env
  4. Trigger: Push Events

Nota: Usa l'URL interno Docker (http://autodeployer:3000) per evitare il passaggio da Cloudflare.

Description
No description provided
Readme 274 KiB
Languages
JavaScript 87.3%
CSS 11.1%
Shell 0.6%
Dockerfile 0.5%
HTML 0.5%