Files
Encelado/TradingBot/deployment/README.md
Alberto Balbo cc34d2b57f Riorganizzazione deployment, doc e publish automatico
- Spostata tutta la configurazione di deployment in /deployment (docker-compose, unraid-template, guide)
- Aggiunte e aggiornate guide dettagliate: publishing su Gitea, installazione Unraid, struttura progetto
- Migliorato target MSBuild: publish automatico su Gitea Registry da Visual Studio, log dettagliati, condizioni più robuste
- Aggiornato e ampliato .gitignore per escludere build, dati e file locali
- Rimossi file obsoleti dalla root (ora tutto in /deployment)
- Struttura più chiara, zero script esterni, documentazione completa e workflow di deploy semplificato
2025-12-17 23:15:46 +01:00

169 lines
3.9 KiB
Markdown

# ?? Deployment Resources
Questa cartella contiene tutti i file e le guide necessarie per il deployment di TradingBot.
---
## ?? Contenuto
### ?? Guide
- **[PUBLISHING_GUIDE.md](PUBLISHING_GUIDE.md)** - Guida completa per pubblicare su Gitea Registry da Visual Studio
- **[UNRAID_INSTALL.md](UNRAID_INSTALL.md)** - Installazione nativa su Unraid senza Portainer
### ?? Docker Files
- **[docker-compose.yml](docker-compose.yml)** - Configurazione Docker Compose per deploy rapido
- **[unraid-template.xml](unraid-template.xml)** - Template XML per installazione 1-click su Unraid
### ?? Dockerfile
Il `Dockerfile` principale si trova nella **root del progetto** per compatibilità con Visual Studio Container Tools.
---
## ?? Quick Start
### Publish da Visual Studio
```
1. Build ? Configuration Manager ? Release
2. Build ? Publish TradingBot
3. Seleziona profilo "Docker"
4. Click "Publish"
5. ? Automatico: Build + Push su Gitea Registry
```
**Guida dettagliata**: [PUBLISHING_GUIDE.md](PUBLISHING_GUIDE.md)
### Deploy su Unraid
```bash
# 1. Login Gitea Registry
docker login gitea.encke-hake.ts.net
# 2. Download template
wget -O /boot/config/plugins/dockerMan/templates-user/TradingBot.xml \
https://gitea.encke-hake.ts.net/Alby96/Encelado/raw/branch/main/TradingBot/deployment/unraid-template.xml
# 3. Install via Docker tab
```
**Guida dettagliata**: [UNRAID_INSTALL.md](UNRAID_INSTALL.md)
### Deploy con Docker Compose
```bash
# Clone repository
git clone https://gitea.encke-hake.ts.net/Alby96/Encelado
cd Encelado/TradingBot/deployment
# Deploy
docker-compose up -d
# Accedi: http://localhost:8080
```
---
## ?? Workflow Consigliato
```
Sviluppo (PC) Publish Deploy (Unraid)
????????????? ??????? ???????????????
Visual Studio ? Gitea Registry ? Unraid Docker
- Codice - Container - Pull image
- Test F5 - Versioning - Start
- Commit - Latest + v1.0.0 - WebUI ready
```
---
## ?? Gestione Versioni
### File di Configurazione
La versione è definita in `TradingBot.csproj`:
```xml
<PropertyGroup>
<Version>1.0.0</Version>
</PropertyGroup>
```
### Tag Generati Automaticamente
Ogni publish crea 2 tag:
- `latest` - Sempre ultima versione
- `1.0.0` - Versione specifica
### Rollback
Per tornare a una versione precedente:
```bash
# Su Unraid
docker pull gitea.encke-hake.ts.net/alby96/encelado/tradingbot:1.0.0
docker stop TradingBot
docker rm TradingBot
# Ricrea container con versione specifica
```
---
## ?? Registry Access
### Gitea Container Registry
- **URL**: `gitea.encke-hake.ts.net`
- **Repository**: `alby96/encelado/tradingbot`
- **Auth**: Personal Access Token con scope `write:packages`
### Login
```bash
docker login gitea.encke-hake.ts.net
# Username: Alby96
# Password: [token]
```
---
## ?? Risorse Aggiuntive
### Documentation
- [Dockerfile](../Dockerfile) - Multi-stage build configuration
- [README.md](../README.md) - Documentazione principale progetto
- [.dockerignore](../.dockerignore) - File esclusi dal build context
### Repository
- **Git**: `https://gitea.encke-hake.ts.net/Alby96/Encelado`
- **Packages**: `https://gitea.encke-hake.ts.net/Alby96/Encelado/-/packages`
- **Issues**: `https://gitea.encke-hake.ts.net/Alby96/Encelado/issues`
---
## ? Checklist Deployment
### Setup Iniziale
- [ ] Docker Desktop installato e running
- [ ] Login Gitea Registry successful
- [ ] Unraid Docker service attivo (se deploy su Unraid)
### Ogni Deploy
- [ ] Codice committato su Git
- [ ] Versione incrementata (se necessario)
- [ ] Publish da Visual Studio successful
- [ ] Verifica packages su Gitea
- [ ] Pull & deploy su target environment
- [ ] Test funzionalità in production
---
**?? Deployment semplificato e automatizzato!**
**No script esterni, tutto integrato in Visual Studio e MSBuild!** ?