Appearance
7 - Deployment
Il deploy dell'applicazione è stato automatizzato tramite Docker e Docker Compose: tutti i servizi vengono eseguiti come container indipendenti e lanciati tramite uno script centralizzato.
7.1 - Installazione
1. Clonare il repository
bash
git clone https://github.com/EvenToNight/EvenToNight.git
cd EvenToNight2. Configurare le variabili d'ambiente
bash
cp .env.template .env
# Modificare .env e compilare tutti i campi richiesti
# Nota: Se si utilizza il flag --no-deps, le chiavi Stripe possono contenere valori arbitrari. Tutti i valori devono essere compilati.3. Avviare l'applicazione
Opzione A: Utilizzo di immagini pre-compilate da ghcr.io (Consigliato)
Download delle immagini:
bash
./scripts/composeApplication.sh pullDownload delle immagini con seeding del database:
bash
./scripts/composeApplication.sh --init-db pullDeploy dell'applicazione:
bash
./scripts/composeApplication.sh up -d --waitDeploy con seeding del database:
bash
./scripts/composeApplication.sh --init-db up -d --waitDeploy in modalità sviluppo (con porte mappate sull'host e dashboard per database/RabbitMQ/Traefik):
bash
./scripts/composeApplication.sh --init-db --dev up -d --waitOpzione B: Build locale
Aggiungere il flag --build per compilare i servizi localmente invece di utilizzare le immagini pre-compilate:
bash
# Build e deploy
./scripts/composeApplication.sh up --build -d --wait
# Build e deploy con seeding
./scripts/composeApplication.sh --init-db up --build -d --waitFlag aggiuntivi
--no-deps: Esclude le dipendenze esterne (Stripe)
È possibile aggiungere --no-deps a qualsiasi comando di deploy per escludere i servizi esterni:
bash
# Deploy senza dipendenze esterne
./scripts/composeApplication.sh --no-deps up -d --wait
# Deploy con seeding ma senza dipendenze esterne
./scripts/composeApplication.sh --init-db --no-deps up -d --waitNota: Quando si utilizza --no-deps, le chiavi Stripe (STRIPE_SECRET_KEY, STRIPE_PUBLISHABLE_KEY, STRIPE_WEBHOOK_SECRET) in .env possono contenere valori arbitrari.
Configurazione Stripe
Per i pagamenti Stripe in ambiente locale (richiesto solo se NON si utilizza --no-deps):
bash
./services/payments/scripts/local-webhooks.shQuesto script deve essere eseguito per inoltrare i webhook di Stripe all'ambiente locale.
Per maggiori informazioni sull'utilizzo della modalità sandbox, consultare la documentazione Stripe.
Setup alternativo
Utilizzare Gradle per configurare l'intero ambiente con seeding e listener Stripe:
bash
./gradlew setupApplicationEnvironmentTeardown
Arresto dell'applicazione:
bash
./scripts/composeApplication.sh downArresto e rimozione dei volumi:
bash
./scripts/composeApplication.sh down -vCome ulteriore alternativa, è possibile visualizzare il sito già in produzione al link https://eventonight.site/it