- 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
169 lines
3.9 KiB
Markdown
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!** ?
|