Direkt zum Inhalt

Cookie-Einstellungen

Wählen Sie, welche Arten von Cookies Sie erlauben. Sie können Ihre Auswahl jederzeit über Cookie-Einstellungen unten auf jeder Seite ändern. Datenschutzerklärung

Notwendig

Immer aktiv

Nötig zum Einloggen, für Ihren Warenkorb und um Ihre Auswahl zu speichern. Diese sind immer aktiv.

Welche Cookies?
  • weboke_sessie, weboke_klant, weboke_remember: Ihre Sitzung und eingeloggt bleiben
  • weboke_basket: Ihr Warenkorb
  • wkBtwIncl: Preise mit oder ohne MwSt. anzeigen
  • wok_cookies: Ihre Cookie-Auswahl, 12 Monate

Misst, welche Anzeige zu einem Besuch oder einer Bestellung führt, damit wir nicht für Anzeigen zahlen, die nichts bringen.

Welche Cookies?
  • Google Ads über Google Tag Manager (_gcl_au, _gcl_aw), bis zu 90 Tage
  • OpenAI Ads, Anzeigen in ChatGPT
  • wok_aff: über welchen Partner Sie zu uns kamen (Partnerprogramm), 60 Tage

4,6

Land und Sprache

Jedes Land hat seine eigene Website, mit Preisen und MwSt. dieses Landes.

Anzeigen

Ihr Arbeitsverzeichnis mit compose.yaml, .env und Caddy

Mit docker compose beschreiben Sie alle Ihre Container in einer einzigen Datei. In dieser Anleitung liegen alle Apps im Verzeichnis /srv/diensten, mit Caddy als Eingangstür, die für jede App https regelt. Die Rezepte in Kapitel 7 fügen hier jeweils ein Stück hinzu. Wie compose und die Firewall zusammenarbeiten, lesen Sie in Docker compose und die Firewall im Kurs VPS und Linux-Serververwaltung.

Das Verzeichnis und die Dateien

anna@web1:~$ sudo mkdir -p /srv/diensten
anna@web1:~$ cd /srv/diensten
anna@web1:/srv/diensten$ sudo nano compose.yaml

Beginnen Sie nur mit Caddy:

services:
  caddy:
    image: caddy:2
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy-data:/data
      - caddy-config:/config

volumes:
  caddy-data:
  caddy-config:

Und das Caddyfile im selben Verzeichnis:

{
	email beheer@example.com
}

Eine Zeile version: ganz oben ist nicht mehr nötig; Sie sehen sie noch in älteren Beispielen.

Starten und anzeigen

anna@web1:/srv/diensten$ sudo docker compose up -d
anna@web1:/srv/diensten$ sudo docker compose ps
anna@web1:/srv/diensten$ sudo docker compose logs -f caddy

up -d startet alles im Hintergrund. Mit Strg+C beenden Sie das Mitlesen der Logs; die Container laufen weiter. Wenn Sie das Caddyfile ändern, laden Sie es neu mit:

anna@web1:/srv/diensten$ sudo docker compose exec -w /etc/caddy caddy caddy reload

Geheimnisse in .env

Passwörter und Tokens schreiben Sie nicht in compose.yaml, sondern in eine Datei .env im selben Verzeichnis. In compose.yaml verweisen Sie darauf mit ${NAAM}.

anna@web1:/srv/diensten$ sudo nano .env
anna@web1:/srv/diensten$ sudo chmod 600 .env

Legen Sie .env niemals in Git ab und geben Sie die Datei nicht weiter.

Caddy läuft bereits als Dienst auf Ihrem Server?

Haben Sie Caddy oder nginx wie in Kapitel 5 installiert, dann sind die Ports 80 und 443 bereits belegt. Wählen Sie eine von zwei Möglichkeiten:

  • Schalten Sie den Dienst auf dem Server ab (sudo systemctl disable --now caddy oder nginx) und ziehen Sie Ihre Sites in das Caddyfile in /srv/diensten um. Davon gehen die Rezepte aus.
  • Oder lassen Sie den Dienst auf dem Server bestehen, lassen Caddy in compose weg und veröffentlichen jede App nur auf 127.0.0.1 (siehe Docker und die Firewall: Ports sicher veröffentlichen). Dann richten Sie pro App einen Reverse Proxy ein wie in Eine App hinter einem Reverse Proxy.

Einen Moment bitte…

Richten Sie Ihre Domains ein

Legen Sie für jede Domain die Nameserver, die Verknüpfung mit Ihrem Hosting und den künftigen Inhaber fest.

Ihre Domains werden geladen…