Salta al contenuto principale
Usare i certificati Tailscale con Traefik
  1. Articles/

Usare i certificati Tailscale con Traefik

·2 minuti
Article Guide Traefik Tailscale

La nuova release di Traefik con la major release 3, ha introdotto alcune novità. Tra queste c’é l’integrazione con i certificati di Tailscale. Questa novità permette di avere dei certificati per l’https in modo semplice.

Naturalmente ci sono alcune limitazioni e vanno considerate (installazione su docker):

  1. Tailscale deve essere funzionante sulla macchina sulla quale gira docker
  2. al momento (vedi #9772) può essere richiesto solo il certificato della macchina locale (hostname definito su Tailscale)

Configurazione di Tailscale
#

Si trovano parecchie guide su come creare delle reti Tailscale, quindi non farà parte di questa guida. Per rendere funzionante il passo successivo si devono configurare i seguenti punti (console di amministrazione, nel tab DNS):

  1. deve essere definito un nome per la Tailnet (in questo esempio yak-bebop.ts.net)
  2. attivare il MagicDNS
  3. attivare i certificati HTTPS

Per testare il funzionamento servono due macchine, una con docker (in questo esempio userò server-traefik come hostname su Tailscale). Entrambe devono far parte di una rete Tailscale e devono poter comunicare tra di loro (attenzione se avete configurato delle ACL).

Prima di passare al passo successivo assicurarsi che la rete Tailscale sia avviata con il comando:

sudo tailscale up

Configurazione di Traefik
#

Ecco un esempio di configurazione con docker compose per avere un esempio funzionante (derivato dalla documentazione).

docker-compose.yml

services:

  traefik:
    image: traefik:v3.0
    container_name: traefik
    command:
      - "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.websecure.address=:443"
      - "--entrypoints.web.address=:80"
      - "--certificatesresolvers.myresolver.tailscale=true"
    ports:
      - 80:80
      - 443:443
      - 8080:8080
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock

  whoami:
    image: containous/whoami:latest
    container_name: whoami
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.whoami.rule=Host(`server-traefik.yak-bebop.ts.net`)"
      - "traefik.http.routers.whoami.entrypoints=websecure"
      - "traefik.http.routers.whoami.tls.certresolver=myresolver"

Ora è possibile creare i container con il comando:

sudo docker compose up -d

Adesso è possibile inserire l’indirizzo https://server-traefik.yak-bebop.ts.net nel browser per visualizzare le informazioni del container ẁhoami e buon divertimento! Se non funziona potete collegarvi alla porta 8080 e vedere l’attuale configurazione caricata da Traefik.

Related

Installa Guacamole su Docker con Traefik, Postgres e 2FA
·3 minuti
Article Guide Traefik Docker Guacamole 2fa
Wake-on-LAN da Guacamole in docker
·3 minuti
Article Guide Traefik Docker Guacamole Wol
Installa Guacamole su Docker con Traefik e 2FA
·3 minuti
Article Guide Traefik Docker Guacamole 2fa