[tutorial] Raspberry Pi – Docker, Proxy, Let’s Encrypt, SUPLA, SUPLA-Scripts...

Awatar użytkownika
lesny8
Posty: 2803
Rejestracja: pn gru 11, 2017 9:43 pm

Nie ma nginx-web

Kod: Zaznacz cały

cd docker-compose-letsencrypt-nginx-proxy-companion/
./start.sh
Czekam na kolejne Supla Offline Party 👍
jureg2
Posty: 13
Rejestracja: pt paź 11, 2019 8:11 pm

Witam
Serwer przestał działać, restart supla i supla scripts nie pomaga

pi@raspberrypi:~ $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
07a0cdd8e956 suplascripts_suplascripts "docker-php-entrypoi…" 5 days ago Up 14 seconds 80/tcp suplascripts
496030240ca0 supla/supla-server:arm32v7 "/usr/bin/server-ent…" 5 days ago Up 37 seconds 0.0.0.0:2015-2016->2015-2016/tcp supla-server
b7458a246336 supla/supla-cloud:arm32v7 "docker-php-entrypoi…" 5 days ago Up 38 seconds 80/tcp supla-cloud
25ab2f45dd90 hypriot/rpi-mysql:5.5 "/entrypoint.sh mysq…" 5 days ago Up 40 seconds 3306/tcp supla-db
6922c19759ac hypriot/rpi-mysql:5.5 "/entrypoint.sh mysq…" 13 days ago Up 15 seconds 3306/tcp suplascripts-db
079da15d1b47 lesny8/rpi-docker-gen "/usr/local/bin/dock…" 13 days ago Up About a minute nginx-gen
af387d288a51 nginx "/docker-entrypoint.…" 13 days ago Up About a minute 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp nginx-web
8e0f512ef223 lesny8/rpi-docker-letsencrypt-nginx-proxy-companion "/bin/bash /app/entr…" 13 days ago Up About a minute nginx-letsencrypt
Awatar użytkownika
lesny8
Posty: 2803
Rejestracja: pn gru 11, 2017 9:43 pm

A co Ci konkretnie nie działa?
Apka? Supla-cloud? SuplaScripts?
jureg2 pisze: pt lut 05, 2021 9:59 pm Witam
Serwer przestał działać, restart supla i supla scripts nie pomaga

Kod: Zaznacz cały

pi@raspberrypi:~ $ docker ps
CONTAINER ID   IMAGE                                                 COMMAND                  CREATED       STATUS              PORTS                                      NAMES
07a0cdd8e956   suplascripts_suplascripts                             "docker-php-entrypoi…"   5 days ago    Up 14 seconds       80/tcp                                     suplascripts
496030240ca0   supla/supla-server:arm32v7                            "/usr/bin/server-ent…"   5 days ago    Up 37 seconds       0.0.0.0:2015-2016->2015-2016/tcp           supla-server
b7458a246336   supla/supla-cloud:arm32v7                             "docker-php-entrypoi…"   5 days ago    Up 38 seconds       80/tcp                                     supla-cloud
25ab2f45dd90   hypriot/rpi-mysql:5.5                                 "/entrypoint.sh mysq…"   5 days ago    Up 40 seconds       3306/tcp                                   supla-db
6922c19759ac   hypriot/rpi-mysql:5.5                                 "/entrypoint.sh mysq…"   13 days ago   Up 15 seconds       3306/tcp                                   suplascripts-db
079da15d1b47   lesny8/rpi-docker-gen                                 "/usr/local/bin/dock…"   13 days ago   Up About a minute                                              nginx-gen
af387d288a51   nginx                                                 "/docker-entrypoint.…"   13 days ago   Up About a minute   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   nginx-web
8e0f512ef223   lesny8/rpi-docker-letsencrypt-nginx-proxy-companion   "/bin/bash /app/entr…"   13 days ago   Up About a minute                                              nginx-letsencrypt
Ps. Używaj znaczników code </>, lepiej się czyta.
Czekam na kolejne Supla Offline Party 👍
jureg2
Posty: 13
Rejestracja: pt paź 11, 2019 8:11 pm

witam
Po restarcie mam dostęp z zewnątrz a w sieci wewnętrznej brak dostępu do supla i supla scripts.
Wcześniej wszystko działało super, ustawienia routera przeglądnięte i nie zmienione.
Awatar użytkownika
lesny8
Posty: 2803
Rejestracja: pn gru 11, 2017 9:43 pm

Jeśli działało Ci w sieci LAN, a teraz nie działa i możesz się dostać tylko od strony WAN to problem jest po stronie routera. Tam popatrz czy czegoś nie zmieniałeś.
Czekam na kolejne Supla Offline Party 👍
essej
Posty: 1
Rejestracja: ndz lip 05, 2020 4:46 pm

Mi się dziś udało postawić serwer supli na raspberry pi4 i raspbianie graficznym.
Jeżeli ktoś ma router z możliwością postawienia sobie serwera VPN to polecam. Ja nie musiałem otwierać i przekierowywać żadnych portów.

Wystarczy postawić serwer vpn na routerze, ściągnąć aplikację openVPN na telefon, eksportować ustawienia VPN z routera i dodać w apce.

Wszystko śmiga i poza siecią lokalną również :D Nie chciała tylko ruszyć apka mobilna bez lets encrypt.. ale to kwestia wygenerowania i dodania ręcznie certyfikatu :P
NetAs
Posty: 136
Rejestracja: pn maja 28, 2018 7:06 am
Lokalizacja: Wrocław
Kontakt:

Mam u siebie zainstalowany supla i suplascript i działa OK, certyfikaty są i zielona kłódka jest - super.
Pytanie do autora Lesny8 - czy można dodać do tego rozwiązania swoją stronę www :?:
wrzuciłem przykładowy index.html do katalogu nginx-data/html uruchomiłem na nowo start.sh ale niestety wchodząc na swoją domenę zgłasza się:
503 Service Temporarily Unavailable
nginx/1.18.0

pewnie coś trzeba zmienić w konfiguracji tylko za bardzo nie wiem co ?
Awatar użytkownika
lesny8
Posty: 2803
Rejestracja: pn gru 11, 2017 9:43 pm

Można obok stronę postawić, nie ma problemu.
Pamiętaj że musisz mieć jakąś subdomenę do tego. Jak będę przy kompie to podkleje Ci jakiś prosty przykład.
Czekam na kolejne Supla Offline Party 👍
Awatar użytkownika
lesny8
Posty: 2803
Rejestracja: pn gru 11, 2017 9:43 pm

NetAs pisze: śr mar 17, 2021 4:43 pm ...
pewnie coś trzeba zmienić w konfiguracji tylko za bardzo nie wiem co ?
Zaloguj się na malinę, utwórz katalogi i poniższe pliki

Kod: Zaznacz cały

cd ~
mkdir mysite mysite/www
echo 'Hello World!!' > mysite/www/index.html
Utwórz docker-compose.yml w katalogu mysite

Kod: Zaznacz cały

cd mysite
nano docker-compose.yml
i wklej zawartość

Kod: Zaznacz cały

version: '3.4'

services:
  mysite:
    container_name: mysite
    restart: unless-stopped
    image: httpd:alpine
    env_file:
      - .env
    volumes:
      - $PWD/www:/usr/local/apache2/htdocs/
    logging:
      options:
        max-size: 50m
Utwórz docker-compose.proxy.yml

Kod: Zaznacz cały

nano docker-compose.proxy.yml
i wklej zawartość

Kod: Zaznacz cały

version: '3.4'

services:
  mysite:
    networks: [default, proxy]
    environment:
      - VIRTUAL_HOST=${DOMAIN}
      - LETSENCRYPT_HOST=${DOMAIN}
      - LETSENCRYPT_EMAIL=${ADMIN_EMAIL}

networks:
  proxy:
    external:
      name: webproxy
Możesz też utworzyć docker-compose.standalone.yml, ale nie musisz jeśli będziesz korzystał z proxy

Kod: Zaznacz cały

nano docker-compose.standalone.yml
i wklej zawartość

Kod: Zaznacz cały

version: '3.4'

services:
  mysite:
    ports:
      - "${PORT_HTTP}:80"
      - "${PORT_HTTPS}:443"
Utwórz skrypt uruchamiający mysite.sh, nie jest to konieczne ale wygodne ;)

Kod: Zaznacz cały

nano mysite.sh 
i wklej zawartość

Kod: Zaznacz cały

#!/usr/bin/env bash

cd "$(dirname "$0")"

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'

source .env >/dev/null 2>&1

if [ "$1" = "start" ]; then
  echo -e "${GREEN}Starting container${NC}" && \
  docker-compose up --build -d && \
  echo -e "${GREEN}Container has been started.${NC}"

elif [ "$1" = "stop" ]; then
  echo -e "${GREEN}Stopping container${NC}"
  docker-compose stop && echo -e "${GREEN}Container has been stopped.${NC}"

elif [ "$1" = "restart" ]; then
  "./$(basename "$0")" stop
  sleep 1
  "./$(basename "$0")" start

else
  echo -e "${RED}Usage: $0 start|stop|restart${NC}"

fi
Zmień uprawnienia do tego pliku

Kod: Zaznacz cały

chmod 755 mysite.sh 
Dodaj jeszcze plik konfiguracyjny

Kod: Zaznacz cały

nano .env
Wklej zawartość i dostosuj do trybu pracy. Pamiętaj, że w trybie proxy musisz mieć domenę lub subdomene dla tego serwisu

Kod: Zaznacz cały

# Where the MySite will be accessible? Put domain or IP address here with port.
DOMAIN=mojastrona.pl

# Email address is mandatory for nginx-letsencrypt container(only if proxy mode) 
ADMIN_EMAIL=poprawny_adres_email@gmail.com

# On which ports the MySite should listen (only if standalone mode)
#PORT_HTTP=80
#PORT_HTTPS=443

COMPOSE_PATH_SEPARATOR=:
COMPOSE_FILE=docker-compose.yml:docker-compose.proxy.yml


Na końcu uruchom skrypt

Kod: Zaznacz cały

./mysite.sh start 
Pobierze się obraz, wybuduje kontener i podniesie.
W trybie proxy musisz poczekać kilka chwil na wystawienie certyfikatu.
Po wpisaniu w przeglądarce domeny, subdomeny wczyta Ci się index.html z zawartością Hello World!!
Czekam na kolejne Supla Offline Party 👍
NetAs
Posty: 136
Rejestracja: pn maja 28, 2018 7:06 am
Lokalizacja: Wrocław
Kontakt:

lesny8 pisze: śr mar 17, 2021 7:52 pm
NetAs pisze: śr mar 17, 2021 4:43 pm ...
pewnie coś trzeba zmienić w konfiguracji tylko za bardzo nie wiem co ?
Zaloguj się na malinę, utwórz katalogi i poniższe pliki

Kod: Zaznacz cały

cd ~
mkdir mysite mysite/www
echo 'Hello World!!' > mysite/www/index.html
WOW - dzięki za wyjaśnienie. Pełen profesjonalizm ;)
ODPOWIEDZ

Wróć do „FAQ / Jak to zrobić”