Aggiunti Dockerfile multi-stage, .dockerignore e docker-compose.yml per deployment containerizzato (con healthcheck, volumi persistenti, limiti risorse). Script di build per Linux/Mac e Windows. In Program.cs aggiunto endpoint /health e health checks per orchestrazione. Documentazione estesa: guide Unraid, quickstart Docker, workflow Git/DevOps, best practices su sicurezza, backup, monitoring. Progetto ora pronto per deploy e gestione professionale in ambienti Docker/Unraid.
142 lines
1.7 KiB
Markdown
142 lines
1.7 KiB
Markdown
# ?? QUICK START - Docker Deployment
|
|
|
|
## Per Sviluppo Locale
|
|
|
|
### Windows
|
|
```powershell
|
|
# Build
|
|
.\build-docker.bat
|
|
|
|
# Run
|
|
docker-compose up -d
|
|
|
|
# Logs
|
|
docker-compose logs -f
|
|
|
|
# Stop
|
|
docker-compose down
|
|
```
|
|
|
|
### Linux/Mac
|
|
```sh
|
|
# Build
|
|
chmod +x build-docker.sh
|
|
./build-docker.sh
|
|
|
|
# Run
|
|
docker-compose up -d
|
|
|
|
# Logs
|
|
docker-compose logs -f
|
|
|
|
# Stop
|
|
docker-compose down
|
|
```
|
|
|
|
### Accesso
|
|
```
|
|
http://localhost:8080
|
|
```
|
|
|
|
---
|
|
|
|
## Per Unraid (via Portainer)
|
|
|
|
### 1. Setup Git Repository
|
|
```sh
|
|
git add .
|
|
git commit -m "Docker ready"
|
|
git push origin main
|
|
```
|
|
|
|
### 2. Deploy su Portainer
|
|
1. Stacks ? Add stack
|
|
2. Name: `tradingbot`
|
|
3. Git Repository: `https://192.168.30.23/Alby96/Encelado`
|
|
4. Compose path: `TradingBot/docker-compose.yml`
|
|
5. Deploy
|
|
|
|
### 3. Accesso
|
|
```
|
|
http://[UNRAID-IP]:8080
|
|
```
|
|
|
|
---
|
|
|
|
## Per Unraid (via SSH)
|
|
|
|
```sh
|
|
# SSH
|
|
ssh root@[UNRAID-IP]
|
|
|
|
# Clone
|
|
cd /mnt/user/appdata
|
|
git clone https://192.168.30.23/Alby96/Encelado.git tradingbot
|
|
cd tradingbot/TradingBot
|
|
|
|
# Deploy
|
|
docker-compose up -d
|
|
|
|
# Check
|
|
docker ps | grep tradingbot
|
|
```
|
|
|
|
---
|
|
|
|
## Comandi Utili
|
|
|
|
```sh
|
|
# Status
|
|
docker ps
|
|
|
|
# Logs
|
|
docker logs tradingbot -f
|
|
|
|
# Restart
|
|
docker restart tradingbot
|
|
|
|
# Update
|
|
git pull && docker-compose up -d --build
|
|
|
|
# Remove
|
|
docker-compose down -v
|
|
```
|
|
|
|
---
|
|
|
|
## Environment Variables (opzionali)
|
|
|
|
Crea file `.env`:
|
|
```env
|
|
TZ=Europe/Rome
|
|
ASPNETCORE_ENVIRONMENT=Production
|
|
TRADINGBOT_AUTOSTART=true
|
|
```
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### Container non parte
|
|
```sh
|
|
docker logs tradingbot
|
|
```
|
|
|
|
### Porta già usata
|
|
```sh
|
|
# Cambia porta in docker-compose.yml
|
|
ports:
|
|
- "8081:8080"
|
|
```
|
|
|
|
### Rebuild da zero
|
|
```sh
|
|
docker-compose down -v
|
|
docker-compose build --no-cache
|
|
docker-compose up -d
|
|
```
|
|
|
|
---
|
|
|
|
Documentazione completa: [UNRAID_DEPLOYMENT.md](UNRAID_DEPLOYMENT.md)
|