https://github.com/buchdag/multiarch-le ... ginx-proxy
Jednak nie działa on tak bezpośrednio po zainstalowaniu bo kontenery suplowe i skryptowe nie "widzą" tego proxy. Aby to działało na raspberry potrzebna jest integracja do której "pożyczyłem" pliki z proxy dla architektury x86 z poniższego linku:
https://github.com/evertramos/docker-co ... -companion
lista "pożyczonych" plików:
Kod: Zaznacz cały
.env
docker-compose.yml
docker-compose-multiple-networks.yml
start.sh
nginx.tmpl
poniżej zawartość zmodyfikowanego pliku docker-compose.yml:
Kod: Zaznacz cały
version: '3'
services:
nginx-web:
image: nginx
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
container_name: ${NGINX_WEB:-nginx-web}
restart: always
ports:
- "${IP:-0.0.0.0}:80:80"
- "${IP:-0.0.0.0}:443:443"
volumes:
- ${NGINX_FILES_PATH:-./data}/conf.d:/etc/nginx/conf.d
- ${NGINX_FILES_PATH:-./data}/vhost.d:/etc/nginx/vhost.d
- ${NGINX_FILES_PATH:-./data}/html:/usr/share/nginx/html
- ${NGINX_FILES_PATH:-./data}/certs:/etc/nginx/certs:ro
- ${NGINX_FILES_PATH:-./data}/htpasswd:/etc/nginx/htpasswd:ro
logging:
options:
max-size: ${NGINX_WEB_LOG_MAX_SIZE:-4m}
max-file: ${NGINX_WEB_LOG_MAX_FILE:-10}
nginx-gen:
build:
context: ./docker-gen
args:
OS: alpine-linux
ARCH: armhf
image: docker-gen
command: -notify-sighup ${NGINX_WEB:-nginx-web} -watch -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
container_name: ${DOCKER_GEN:-nginx-gen}
restart: always
volumes:
- ${NGINX_FILES_PATH:-./data}/conf.d:/etc/nginx/conf.d
- ${NGINX_FILES_PATH:-./data}/vhost.d:/etc/nginx/vhost.d
- ${NGINX_FILES_PATH:-./data}/html:/usr/share/nginx/html
- ${NGINX_FILES_PATH:-./data}/certs:/etc/nginx/certs:ro
- ${NGINX_FILES_PATH:-./data}/htpasswd:/etc/nginx/htpasswd:ro
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro
logging:
options:
max-size: ${NGINX_GEN_LOG_MAX_SIZE:-2m}
max-file: ${NGINX_GEN_LOG_MAX_FILE:-10}
nginx-letsencrypt:
build:
context: ./letsencrypt-nginx-proxy-companion
args:
OS: alpine-linux
ARCH: armhf
image: letsencrypt-nginx-proxy-companion
container_name: ${LETS_ENCRYPT:-nginx-letsencrypt}
restart: always
volumes:
- ${NGINX_FILES_PATH:-./data}/conf.d:/etc/nginx/conf.d
- ${NGINX_FILES_PATH:-./data}/vhost.d:/etc/nginx/vhost.d
- ${NGINX_FILES_PATH:-./data}/html:/usr/share/nginx/html
- ${NGINX_FILES_PATH:-./data}/certs:/etc/nginx/certs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
NGINX_DOCKER_GEN_CONTAINER: ${DOCKER_GEN:-nginx-gen}
NGINX_PROXY_CONTAINER: ${NGINX_WEB:-nginx-web}
logging:
options:
max-size: ${NGINX_LETSENCRYPT_LOG_MAX_SIZE:-2m}
max-file: ${NGINX_LETSENCRYPT_LOG_MAX_FILE:-10}
networks:
default:
external:
name: ${NETWORK:-webproxy}
potem uruchomiłem ./start.sh i poczekałem dłuższą chwilę aż skończy.
Zanim zaczniecie cokolwiek trzeba zainstalować potrzebne składniki tak jak w tym wątku:
viewtopic.php?p=16391#p16391 - instalacja docker i docker-compose
Z tym że ja jeszcze dodaję użytkownika pi do grupy "docker" wedle tych wytycznych:
https://docs.docker.com/install/linux/l ... stinstall/
Po poprawnym uruchomieniu proxy trzeba jeszcze zainstalować suplę i skrypty oraz uruchomić je w trybie proxy, cała procedura opisana tu:
https://github.com/SUPLA/supla-docker#l ... proxy-mode
https://github.com/fracz/supla-scripts/ ... -docker.md
Podczas zabawy z dockerem przydatne mogą być poniższe komendy:
- docke ps --> lista uruchomionych kontenerów
- docke ps -a --> lista wszystkich kontenerów
- docker stop $(docker ps -a -q) --> zatrzymanie wszystkich uruchomionych kontenerów
- docker rm $(docker ps -a -q) --> usunięcie wszystkich kontenerów (wcześniej muszą być zatrzymane)
- docker network ls - lista sieci utworzonych przez dockera