# Docker Compose

<datetime class="hidden">2024-07-30T13:30</datetime>

<!--category-- Docker -->
Docker Compose è uno strumento per definire e far funzionare diverse applicazioni di docker con contenitori. Con Compose, usate un file YAML per configurare la vostra applicazioneM SK3 i serviziMNK4 PoiMSC5 con un singolo comandoMRK6 create e iniziate tutti i servizi dalla vostra configurazione .

Al momento uso Docker Compose per far funzionare alcuni servizi sul mio server.

- Il mio blog più chiaro -
- Cloudflared - un servizio che tunnela il traffico verso il mio server
- Watchtower - un servizio che controlla le aggiornazioni dei miei contenitori e li ricostruisce se necessario.

Ecco. `docker-compose.yml` file che uso per far funzionare questi servizi:

```yaml
services:
  mostlylucid:
    image: scottgal/mostlylucid:latest
    labels:
        - "com.centurylinklabs.watchtower.enable=true"
  cloudflared:
    image: cloudflare/cloudflared:latest
    command: tunnel --no-autoupdate run --token ${CLOUDFLARED_TOKEN}
    env_file:
      - .env
        
  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_LABEL_ENABLE=true
    command: --interval 300 # Check for updates every 300 seconds (5 minutes)
```