Ich nutze Docker-Compose. Hier die Configs
Nginx-Proxy:
version: '2'
services:
proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
environment:
- TZ=Europe/Berlin
ports:
- 80:80
- 443:443
volumes:
- ./volumes/proxy/conf.d:/etc/nginx/conf.d
- ./volumes/proxy/vhost.d:/etc/nginx/vhost.d
- ./volumes/proxy/html:/usr/share/nginx/html
- ./volumes/proxy/certs:/etc/nginx/certs:ro
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./volumes/proxy/dhparam:/etc/nginx/dhparam
networks:
- nginx-proxy-tier
restart: always
letsencrypt-companion:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: letsencrypt-companion
volumes_from:
- proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./volumes/proxy/certs:/etc/nginx/certs:rw
networks:
- nginx-proxy-tier
restart: always
networks:
nginx-proxy-tier:
external:
name: nginx-proxy
Alles anzeigen
emby:
version: '2'
services:
emby:
image: emby/embyserver:latest
container_name: emby
environment:
- VIRTUAL_HOST=sub.domain.de
- VIRTUAL_NETWORK=nginx-proxy
- VIRTUAL_PORT=8096
- LETSENCRYPT_HOST=sub.domain.de
- LETSENCRYPT_EMAIL=mail@mail.de
- TZ=Europe/Berlin
volumes:
- /config:/config
- /movies:/data/movies
devices:
- /dev/dri:/dev/dri
ports:
- 8096:8096
networks:
- emby-proxy-tier
- intern
restart: always
networks:
emby-proxy-tier:
external:
name: nginx-proxy
intern:
Alles anzeigen
Bei fail2ban habe ich mich hier orientiert: https://www.the-lazy-dev.com/en/install-fail2ban-with-docker/
Ich nutze wie bereits gesagt Docker-Container (emby), aber fail2ban läuft bei mir auf dem Host (Also nicht als Container). Damit das Ganze funktioniert ist es zwingend notwendig, dass der Host und der Emby-Container die identische Uhrzeit haben. Ich habe Ewigkeiten gebraucht, um diesen Fehler zu finden. (Am besten überprüft man die "embyserver.txt", ob dort auch wirklich die richtige Uhrzeit zu finden ist. Laut Emby Weboberfläche war die Uhrzeit nämlich korrekt).
[Definition]
actionstart = iptables -N f2b-emby
iptables -A f2b-emby -j RETURN
iptables -I FORWARD -p tcp -m multiport --dports 443 -j f2b-emby
actionstop = iptables -D FORWARD -p tcp -m multiport --dports 443 -j f2b-emby
iptables -F f2b-emby
iptables -X f2b-emby
actioncheck = iptables -n -L FORWARD | grep -q 'f2b-emby[ \t]'
actionban = iptables -I f2b-emby 1 -s <ip> -j DROP
actionunban = iptables -D f2b-emby -s <ip> -j DROP
[Definition]
failregex = .AUTH-ERROR: <HOST> - Invalid username or password entered.
[emby]
enabled = true
port = 8096,443
protocol = tcp
filter = emby
maxretry = 3
logpath = /path/to/embyserver.txt
bantime = -1
banaction = docker-action
EDIT: Habe die Config für Emby auch hinzugefügt.