Installation via docker
Beschreibung:
Bequem über eine docker-compose Datei mit Public Domain Name und Public ip.
Vorbereitung:
Installiere docker und co
apt install curl docker.io docker-compose
Verzeichniss erstellen
mkdir -p /root/freescout/db
Nun einen base64 string erzeugen für die .env
echo "base64:$(openssl rand -base64 32)"
Ausgabe : base64:0HxGQ72frdcVZ+XyZQ1Q0Kr6FkFGwJS/UeYT/NLtZTo=
Nun die .env anlegen und Daten ändern
nano /root/freescout/.env
Inhalt
# Basis
PUID=1000
PGID=1000
TZ=Europe/Berlin
# App
APP_KEY=base64:deinGeheimerSchlüssel # mit `php artisan key:generate --show` oder echo "base64:$(openssl rand -base64 32)" erzeugbar
APP_PORT=8080
# DB
DB_HOST=freescout_db
DB_NAME=freescout
DB_USER=freescout
DB_PASS=supergeheim
SITE_URL=https://freescout.example.com bei Proxy: "http://localhost:5000"
ADMIN_EMAIL=info@example.com
ADMIN_FIRST_NAME=Vorname
ADMIN_LAST_NAME=Nachname
ADMIN_PASS=supergeheim
APPLICATION_NAME=Alternativer name als freescout
# MariaDB
MYSQL_ROOT_PASSWORD=rootpass
MYSQL_DATABASE=freescout
MYSQL_USER=freescout
MYSQL_PASSWORD=supergeheim
#Caddy
PUBLIC_URL ="http://localhost:5000"
# ändere auf https://freescout.example.com bei Proxy: "http://localhost:5000" # ändere auf https://freescout.example.com
nano /root/freescout/docker-compose.yml
Inhalt
version: "3.7"
services:
freescout:
image: docker.io/tiredofit/freescout:latest
container_name: freescout
env_file:
- .env
volumes:
- ./config:/config
ports:
- "${APP_PORT}:80"
depends_on:
- freescout_db
restart: unless-stopped
freescout_db:
image: mariadb:10.11
container_name: freescout_db
env_file:
- .env
volumes:
- ./db:/var/lib/mysql
restart: unless-stopped
caddy:
image: caddy:latest
restart: always
ports:
- "80:80"
- "443:443"
command: caddy reverse-proxy --from ${PUBLIC_URL} --to freescout:80
volumes:
- ./data/caddy/data:/data
- ./data/caddy/config:/config
starten
docker-compose up -d
Nun noch die ufw Firewall regeln anpassen.
Da hier der Docker container sowieso von außen erreichbar sein soll, brauchen wir hier keine Anspassung für docker.
Aber ssh soll nur auf der lokalen Netzwerkkarte zur Verfügung stehen
ufw installieren
apt install ufw
Nun die Regeln setzten
ufw allow in on enp6s18 to any port 22
ufw enable