Direkt zum Hauptinhalt

Installation Docker

Beschreibung:

Installation mit Docker und self signed Zertifikat (Auch wenn es nur 7 Tage gültig ist, neustart webserver verlängert das ganze)
Dazu erstellen wir im Anschluss ein systemd Dienst der alle 6 Tage , Also vor Ablauf, Vorsicht ist die Mutter der Porzelankiste, den Conatiner neustartet. Man kann natürlich auch Lets encrypt verwenden, dazu die Caddyfile anpassen mit Domain und tls email.
Dann braucht man den Timer nicht mehr. Siehe dazu Buch Caddy

Vorrausetzungen:

apt install curl docker.io docker-compose

Installation:

Verzeichnisse Erstellen

mkdir -p /root/rei3/caddy_data
mkdir -p /root/rei3/caddy_config
mkdir -p /root/rei3/data_db
mkdir -p /root/rei3/data_app

Unsere Docker Compose Datei

nano /root/rei3/docker-compose.yml

Inhalt:

version: '3.3'

services:
    r3_db:
        container_name: r${R3_VERSION:-3.8.6}_db
        environment:
            POSTGRES_DB: ${R3_DB_NAME:-app}
            POSTGRES_USER: ${R3_DB_USER:-app}
            POSTGRES_PASSWORD: ${R3_DB_PASS:-app}
        image: postgres:latest
        restart: always
        volumes:
            - ./root/rei3/data_db:/var/lib/postgresql/data
    r3:
        build:
            context: https://github.com/r3-team/r3_docker.git#main
            args:
                r3_version: ${R3_VERSION:-3.8.6}
                r3_db_host: r3_db
                r3_db_name: ${R3_DB_NAME:-app}
                r3_db_user: ${R3_DB_USER:-app}
                r3_db_pass: ${R3_DB_PASS:-app}
                r3_os_arch: x64
                im_policy: /etc/ImageMagick-6/policy.xml
        container_name: r${R3_VERSION:-3.8.6}_app
        image: "r3/${R3_VERSION:-3.8.6}"
        depends_on:
            - r3_db
        #ports:
        #    - "14000:80"
        restart: always
        volumes:
            - ./root/rei3/data_app:/opt/r3/data
            
    caddy:
      image: caddy:latest
      container_name: caddy-reverse-proxy
      ports:
        - "80:80"
        - "443:443"
      volumes:
        - ./Caddyfile:/etc/caddy/Caddyfile
        - ./caddy_data:/data
        - ./caddy_config:/config
      restart: unless-stopped

Nun die Caddy File

nano /root/rei3/Caddyfile

Inhalt

rei3 {
    reverse_proxy http://r3:80
    tls self_signed
}

Container starten

cd /root/rei3
dcoker-compose up -d

Da das Image gebaut wird, dauert das eine weile ca 15-20 Minuten.

Timer anlegen, siehe Buch Caddy -> Caddy Timer anlegen