Temporal è un motore di orchestrazione dei workflow open-source, distribuito e scalabile, utilizzato dagli sviluppatori per creare applicazioni resilienti e di lunga durata. Eseguire Temporal su un VPS ti consente di avere il pieno controllo sulla tua infrastruttura, risparmiare sui costi e personalizzare la configurazione. Questa guida ti guida attraverso il processo di installazione di Temporal in un contenitore Docker su un provider VPS, assicurando una configurazione fluida adatta a ambienti di sviluppo, homelab o produzione.
Perché Self-Hostare Temporal?
Self-hostare Temporal ti permette di:
- Ottenere il pieno controllo sul tuo ambiente di orchestrazione dei workflow.
- Ridurre i costi rispetto a soluzioni gestite.
- Personalizzare le configurazioni in base alle tue esigenze.
- Imparare e sperimentare con sistemi distribuiti.
Provider VPS popolari come Contabo (€5.99/mese), Hetzner Cloud (€4.15/mese), DigitalOcean ($6), e Vultr ($6) offrono opzioni economiche e ad alte prestazioni, ideali per ospitare Temporal.
Prerequisiti
- Un VPS con IP pubblico, sistema operativo Linux (Ubuntu 22.04 preferibile).
- Privilegi di root o sudo.
- Conoscenza di base di Docker, riga di comando Linux e networking.
- Un dominio o IP statico per la configurazione SSL (opzionale ma consigliato).
Passo 1: Preparare il Tuo VPS
Aggiorna i pacchetti del server e installa Docker:
sudo apt update && sudo apt upgrade -y
sudo apt install -y docker.io
sudo systemctl enable --now docker
Verifica l’installazione di Docker:
docker --version
Per facilitare l’uso, aggiungi il tuo utente al gruppo docker:
sudo usermod -aG docker $USER
newgrp docker
Passo 2: Configurare Docker Compose
Temporal raccomanda Docker Compose per gestire setup multi-container. Installa Docker Compose:
sudo apt install -y docker-compose
Controlla la versione:
docker-compose --version
Passo 3: Scaricare i File Docker Compose di Temporal
Temporal fornisce configurazioni di esempio. Clona il repository di Temporal:
git clone https://github.com/temporalio/docker-compose.git
cd docker-compose
In alternativa, crea il tuo file docker-compose.yaml personalizzato.
Passo 4: Configurare il Tuo File Docker Compose
Crea o modifica il file docker-compose.yaml in base alle tue esigenze. Ecco un esempio semplificato per un ambiente di sviluppo:
version: '3.8'
services:
temporal:
image: temporalio/server:latest
environment:
- TEMPORAL_CLI_ADDRESS=temporal:7233
ports:
- "7233:7233"
networks:
- temporal-network
restart: always
frontend:
image: temporalio/web:latest
ports:
- "8080:8080"
environment:
- TEMPORAL_HOST=https://localhost:7233
depends_on:
- temporal
networks:
- temporal-network
networks:
temporal-network:
driver: bridge
Adatta le configurazioni in base alle tue necessità . Per l’ambiente di produzione, considera di deployare con SSL, storage persistente e credenziali sicure.
Passo 5: Lanciare Temporal
Distribuisci il tuo stack:
docker-compose up -d
Verifica se i servizi sono attivi:
docker ps
Dovresti vedere i container del server Temporal e dell’interfaccia web attivi.
Passo 6: Accedere all’Interfaccia Web di Temporal
Apri il tuo browser all’indirizzo IP o dominio del server sulla porta 8080. Troverai un’interfaccia funzionale per gestire i workflow.
Passo 7: Configurare TLS (Opzionale ma Consigliato)
Per deploy di produzione:
- Ottieni certificati SSL tramite Let’s Encrypt (certbot).
- Configura un reverse proxy (NGINX o Caddy) per terminare il TLS.
- Aggiorna il tuo Docker Compose con le impostazioni del proxy.
Monitoraggio e Manutenzione
Aggiorna regolarmente i container:
docker-compose pull
docker-compose down
docker-compose up -d
Effettua backup dei workflow e dei metadati, soprattutto in ambienti di produzione.
Confronto tra Provider VPS
| Provider | Prezzo | Caratteristiche | Note |
|---|---|---|---|
| Contabo | €5.99/mese | Opzioni CPU elevate, storage SSD | Economico, ottimo per self-hosting |
| Hetzner Cloud | €4.15/mese | Rete veloce, SSD | Popolare per hosting affidabile |
| DigitalOcean | $6/mese | Setup semplice, SSD | Diffuso, facile integrazione Docker |
| Vultr | $6/mese | Varie location, SSD | Ideale per deployment distribuiti |
| Linode (Akamai Cloud) | $5/mese | Buone performance | Affidabile, orientato agli sviluppatori |
Per più opzioni, consulta il nostro confronto completo VPS.
Domande Frequenti
Quanto è difficile self-hostare Temporal su un VPS?
Self-hostare Temporal su un VPS coinvolge la configurazione corretta di Docker, Docker Compose e networking. Per sviluppatori con familiarità con Linux e Docker, il processo è semplice e di solito richiede meno di un’ora. Configurazioni aggiuntive come la sicurezza con SSL o clustering possono aumentare la complessità , ma sono gestibili con guide passo-passo e supporto comunitario su /r/selfhosted o awesome-selfhosted.
Posso eseguire Temporal su un VPS a basso costo?
Sì. Provider come Hetzner Cloud (€4.15/mese) o Contabo (€5.99/mese) offrono risorse sufficienti per carichi di lavoro piccoli o medi. I requisiti di Temporal variano in base all’utilizzo, ma un VPS con 2 CPU e 4GB di RAM è generalmente adeguato per ambienti di sviluppo e test. Per la produzione, monitora l’uso delle risorse e scala di conseguenza.
Come posso assicurare la sicurezza della mia istanza self-hosted di Temporal?
Per sicurezza, configura SSL/TLS per l’accesso web (usando Let’s Encrypt o certificati a pagamento), limita l’accesso di rete con firewall e imposta meccanismi di autenticazione. In produzione, utilizza reverse proxy come NGINX o Caddy con TLS terminato, e gestisci le credenziali in modo sicuro. Mantieni aggiornati i container Docker per ridurre le vulnerabilità .
Conclusioni
Self-hostare Temporal su un VPS ti dà il pieno controllo sull’ambiente di orchestrazione dei workflow a un costo contenuto. Con Docker e Docker Compose, il deployment è semplice e riproducibile. Sia per sviluppo, test o piccoli ambienti di produzione, i passaggi sopra ti guidano dalla configurazione iniziale a un’istanza di Temporal completamente funzionante. Scopri di più su progetti open-source e ottimizza il tuo homelab con approfondimenti da /r/selfhosted e communities di awesome-selfhosted.
Cerchi altre idee di hosting? Dai un’occhiata al nostro confronto completo VPS per trovare il provider più adatto alle tue esigenze di self-hosting. --- Fine ---