Einführung
Erstellen eines Docker Containers für Secure-Webserver-and-Gateway.
Voraussetzung
- Raspberry Pi mit Raspbian OS
- Docker
- Docker-Compose
Container erstellen
Docker-Compose File:
version: "2"
services:
swag:
image: linuxserver/swag
container_name: swag
cap_add:
- NET_ADMIN
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- URL=duckdns.org
- SUBDOMAINS=sub1,sub2
- VALIDATION=http
- EMAIL=<name@tbd>
- DHLEVEL=2048
- ONLY_SUBDOMAINS=true
volumes:
- /sharefolder/AppDataSD/swag:/config
ports:
- 450:443
- 90:80
restart: unless-stopped
networks:
default:
external:
name: my-net Erstelle Docker Network:
docker network create my-net
Reverse-Proxy Configs, die nach /config/nginx/proxy-confs kopiert werden müssen (z.B. wordpress.subdomain.conf):
server {
listen 443 ssl;
listen [::]:443 ssl;
#listen 80;
#listen [::]:80;
server_name <subdomain>.*;
include /config/nginx/ssl.conf;
#client_max_body_size 0;
location / {
include /config/nginx/proxy.conf;
resolver 127.0.0.11 valid=30s;
#proxy_max_temp_file_size 2048m;
proxy_pass http://192.168.xx.xx:<wordpress-port>;
}
} oder nextcloud.subdomain.conf:
# make sure that your dns has a cname set for nextcloud
# assuming this container is called "letsencrypt", edit your nextcloud container's config
# located at /config/www/nextcloud/config/config.php and add the following lines before the ");":
# 'trusted_proxies' => ['letsencrypt'],
# 'overwrite.cli.url' => 'https://nextcloud.your-domain.com/',
# 'overwritehost' => 'nextcloud.your-domain.com',
# 'overwriteprotocol' => 'https',
#
# Also don't forget to add your domain name to the trusted domains array. It should look somewhat like this:
# array (
# 0 => '192.168.0.1:444', # This line may look different on your setup, don't modify it.
# 1 => 'nextcloud.your-domain.com',
# ),
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name <subdomain>.*;
include /config/nginx/ssl.conf;
client_max_body_size 0;
location / {
include /config/nginx/proxy.conf;
resolver 127.0.0.11 valid=30s;
set $upstream_nextcloud nextcloud;
#proxy_max_temp_file_size 1024m;
#proxy_pass https://$upstream_nextcloud:447;
proxy_pass https://192.168.xx.xx:<nextcloud-port>;
}
} Installationsskript:
#!/bin/sh
docker rm -f swag
docker-compose -f swag_docker-compose.yml up -d
cp swag_nginx_proxy-confs/* /sharefolder/AppDataSD/swag/nginx/proxy-confs/
Container starten:
./installationsskript.sh
