feat: add Docker and Gitea services, monitoring, queue, and Telegram notification functionalities

- Implemented Docker operations including image building, container management, and resource stats.
- Added Gitea API client for repository management and webhook handling.
- Introduced monitoring service to collect and store container metrics in InfluxDB.
- Created a queue system using BullMQ for managing deployment jobs with real-time log streaming.
- Developed Telegram notification service for deployment status updates.
- Added Traefik label generation for dynamic reverse proxy configuration.
- Implemented WebSocket endpoints for log streaming and terminal access to containers.
- Created an updater sidecar for self-updating the AutoDeployer container.
This commit is contained in:
Giuseppe Raffa
2026-04-13 23:23:18 +02:00
commit 87d698bc5c
48 changed files with 5558 additions and 0 deletions

27
server/package.json Normal file
View File

@@ -0,0 +1,27 @@
{
"name": "autodeployer-server",
"version": "1.0.0",
"description": "Self-hosted deployment platform — API server",
"main": "src/index.js",
"type": "module",
"scripts": {
"start": "node src/index.js",
"dev": "node --watch src/index.js"
},
"dependencies": {
"better-sqlite3": "^11.7.0",
"bcryptjs": "^2.4.3",
"bullmq": "^5.34.0",
"cookie-parser": "^1.4.7",
"cors": "^2.8.5",
"dockerode": "^4.0.4",
"express": "^4.21.2",
"ioredis": "^5.4.2",
"helmet": "^8.0.0",
"jsonwebtoken": "^9.0.2",
"express-rate-limit": "^7.5.0",
"ws": "^8.18.0",
"node-pty": "^1.0.0",
"@influxdata/influxdb-client": "^1.35.0"
}
}