commit 5994020cb26ab5d1d75e1a692155acd8775d3aa8 Author: 1-h Date: Tue Sep 3 12:23:54 2024 +0800 commit. diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a23708f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +acme.json \ No newline at end of file diff --git a/compose.whoami.yml b/compose.whoami.yml new file mode 100644 index 0000000..6e0611f --- /dev/null +++ b/compose.whoami.yml @@ -0,0 +1,15 @@ +################################################################ +# docker compose -f compose.whoami.yml up -d +################################################################ + +version: "3" + +services: + # docker compose up -d --scale whoami=2 + whoami: + # A container that exposes an API to show its IP address + image: traefik/whoami + labels: + - traefik.http.routers.whoami.rule=Host(`whoami.traefik-example.oo1.dev`) + - traefik.http.routers.whoami.tls=true + - traefik.http.routers.whoami.tls.certresolver=myresolver diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..5bcb7e9 --- /dev/null +++ b/compose.yml @@ -0,0 +1,35 @@ +################################################################ +# https://doc.traefik.io/traefik/getting-started/quick-start/ +# https://github.com/chudaozhe/traefik-samples/blob/main/docker-compose.yml +################################################################ + +version: "3" + +services: + traefik-reverse-proxy: + # The official v3 Traefik docker image + image: traefik:v3.1 + command: + # Enables the web UI and tells Traefik to listen to docker + - --api.insecure=true + - --providers.docker + + - --entryPoints.web.address=:80 + - --entryPoints.websecure.address=:443 + + # https://doc.traefik.io/traefik/https/acme/ + - --certificatesresolvers.myresolver.acme.email=i@oo1.dev + - --certificatesresolvers.myresolver.acme.storage=acme.json + + # used during the challenge + - --certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web + ports: + # The HTTP port + - "80:80" + - "443:443" + # The Web UI (enabled by --api.insecure=true) + - "8080:8080" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - ./acme.json:/acme.json # chmod 600 ./acme.json + # environment: # https://doc.traefik.io/traefik/reference/static-configuration/env/