Shields.io
Seit Kurzem betreibe ich meinen eigenen Shields-Server für individuell generierte Badges – und das Beste: Er ist auch öffentlich erreichbar unter shieldsio.itsrye.uk
Docker Compose Link zu Überschrift
Falls du etwas Ähnliches einrichten möchtest, findest du hier mein aktuelles docker-compose.yml, mit dem ich den Server betreibe (einmal für ein klassisches Deployment und einmal inklusive einer Cloudflare Tunnel-Integration, um den Dienst ohne direkt exponierte Ports sicher nach außen verfügbar zu machen):
Variante 1: Ohne Cloudflare (direkt über reverse proxy / exposed port) Link zu Überschrift
services:
shieldsio:
image: ghcr.io/badges/shields:next
labels:
uk.itsrye.autoheal.enable: true
com.centurylinklabs.watchtower.enable: true
volumes:
- ./config.yml:/usr/src/app/config/local.yml:ro
environment:
PORT: 9234
BASE_URL: "https://shieldsio.itsrye.uk"
Diese Variante eignet sich, wenn der Container entweder lokal im Netzwerk verfügbar sein soll oder über einen klassischen Reverse Proxy (z. B. Traefik, Nginx, Caddy) ins Internet geroutet wird.
Variante 2: Mit Cloudflare Tunnel (keine offenen Ports notwendig) Link zu Überschrift
services:
shieldsio:
image: ghcr.io/badges/shields:next
labels:
uk.itsrye.autoheal.enable: true
com.centurylinklabs.watchtower.enable: true
networks:
- cloudflare-net
volumes:
- ./config.yml:/usr/src/app/config/local.yml:ro
environment:
PORT: 9234
BASE_URL: "https://shieldsio.itsrye.uk"
cloudflared:
image: cloudflare/cloudflared:latest
restart: unless-stopped
mem_limit: 25MB
command: tunnel run
networks:
- cloudflare-net
links:
- "shieldsio:shieldsio"
env_file:
- path: ./cf.env
required: true
labels:
com.centurylinklabs.watchtower.enable: true
uk.itsrye.autoheal.enable: true
networks:
cloudflare-net:
attachable: false
labels:
uk.itsrye.container.connectsTo: Cloudflare
Diese Variante setzt einen zuvor eingerichteten Cloudflare Tunnel voraus (cf.env enthält die Tunnel-Credentials). Vorteil:
- Kein exposed Port, da Cloudflare die Verbindung initiiert
- Automatische Absicherung durch Cloudflare
- Ideal für homelab- oder VPS-Setups ohne öffentlich erreichbare IP