Direkt zum Hauptinhalt

Installation via Docker image

Beschreibung:

Hier installation via Docker mit composer file.

Installation.

Ein SH Skript das die zertifikate und dieDie Verzeichnisse erstellterstellen und die Composter Datei.

Im root Verzeichnis ein neues Verzeichnis erstellen.

mkdir -p /root/bookstack

Ins Verzeichnis wechseln und eine neue datei anlegen mit .env anlegen.

cd /root/bookstack
nano setup_bookstack.sh/root/bookstack/.env

Nun folgenden Inhalt einfügen und die Tage des Zertifikates anpassen, wenn gewünscht.
Ich habs auf 365000 angepasst.
ursprünglich 365 Tage und die secrets für die Maria DB müssen angepasst werden

#!/bin/bash# Domain
DOMAIN=wiki.example.com

# BookStack Datenbank Variablen
festlegenDB_HOST=db
ZERTIFIKAT_PFAD="./zertifikate"DB_DATABASE=bookstack
BOOKSTACK_DATA_PFAD="./bookstack_data"DB_USERNAME=bookstack_user
DB_DATA_PFAD="./db_data"DB_PASSWORD=sicheres_passwort

# APP_KEYBookStack generierenApp APP_KEY=Variablen
APP_URL=https://wiki.example.com
#der app key kann in der console mit folgendem Befehl generiert werden
#echo "base64:$(openssl rand -base64 32)" #Ausgabe Zertifikat: erstellenbase64:0HxGQ72frdcVZ+XyZQ1Q0Kr6FkFGwJS/UeYT/NLtZTo=
mkdirAPP_KEY=base64:0HxGQ72frdcVZ+XyZQ1Q0Kr6FkFGwJS/UeYT/NLtZTo=
-p

Nun "$ZERTIFIKAT_PFAD"eine opensslangepasste reqphp.ini -x509für -nodesdas -daysUpload 36500limit, -newkeyhier rsa:204810 -keyoutGB "$ZERTIFIKAT_PFAD/nginx.key"kann -outnach "$ZERTIFIKAT_PFAD/nginx.crt"beliben -subjgeändert "/CN=localhost"werden. #In Nginx-Konfigurationsdateider erstellenDatei catalles <<EOFwas >10G nginx.confist usermit nginx;eigenem worker_processesWert 1;überschreiben

events { worker_connections 1024; } http { include
nano /etc/nginx/mime.types;root/boockstack/php.ini
default_type

Inhalt

application/octet-stream;
upload_max_filesize sendfile= on;10G
keepalive_timeoutpost_max_size 65;= server10G
{memory_limit listen= 3000;512M
server_namemax_execution_time _;= return300
301max_input_time https://\$host\$request_uri;= }300
server

Nun {die listencomposer 443Datei

ssl; server_name localhost; ssl_certificate
nano /etc/nginx/certs/nginx.crt;
        ssl_certificate_key /etc/nginx/certs/nginx.key;

        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers         HIGH:!aNULL:!MD5;

        client_max_body_size 10G;

        location / {
            proxy_pass http://bookstack:8080;
            proxy_set_header Host \$host;
            proxy_set_header X-Real-IP \$remote_addr;
            proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto \$scheme;
        }
    }
}
EOF

# Docker-Compose-Datei erstellen
cat <<EOF > root/bookstack/docker-compose.yml

Inhalt

version: '3'3.8'

services:
  bookstack:app:
    image: solidnerd/linuxserver/bookstack:latest
    container_name: bookstack_app
    environment:
      - DB_HOST=db:3306${DB_HOST}
      - DB_DATABASE=bookstack${DB_DATABASE}
      - DB_USERNAME=root${DB_USERNAME}
      - DB_PASSWORD=secret${DB_PASSWORD}
      - APP_URL=${APP_URL}
      - APP_KEY=$APP_KEY
      - APP_URL=https://192.168.178.24:3000
      - APP_LANG=de{APP_KEY}
    volumes:
      - $BOOKSTACK_DATA_PFAD:./var/www/html/public/uploadsbookstack_data:/config
      - $BOOKSTACK_DATA_PFAD:./var/www/html/storage/uploadsphp.ini:/etc/php7/conf.d/99-custom.ini  # Mounte das php.ini-File
    depends_on:
      - db

  db:
    image: mariadb:latest10.6
    container_name: bookstack_db
    environment:
      - MYSQL_ROOT_PASSWORD=secretroot_passwort
      - MYSQL_DATABASE=bookstack${DB_DATABASE}
      - MYSQL_USER=bookstack${DB_USERNAME}
      - MYSQL_PASSWORD=secret${DB_PASSWORD}
    volumes:
      - $DB_DATA_PFAD:./bookstack_db:/var/lib/mysql

  nginx:caddy:
    image: nginx:caddy:latest
    container_name: bookstack_caddy
    ports:
      - "3000:80:80"
      - "443:443"
    environment:
      - CADDY_DOMAIN=${DOMAIN}
    volumes:
      - $ZERTIFIKAT_PFAD:./etc/nginx/certs:rocaddy_data:/data
      - ./nginx.conf:caddy_config:/etc/nginx/nginx.conf:roconfig
    depends_on:command: caddy reverse-proxy --from bookstack

EOF

# Docker-Container starten
docker-compose up${DOMAIN} -d-to 

Das script ausführbar machen.

chmod +x setup_bookstack.shapp:80

Das script starten

./setup_bookstack.sh