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

User avatar
lesny8
Posts: 3132
Joined: Mon Dec 11, 2017 9:43 pm
Has thanked: 10 times
Been thanked: 9 times

Post

Nie ma nginx-web

Code: Select all

cd docker-compose-letsencrypt-nginx-proxy-companion/
./start.sh
SOP 2023 :heavy_check_mark:
SOP 2024 :heavy_check_mark:
Czekam na kolejne Supla Offline Party :upside_down_face:
🧩: 🔑cz->b ⛴️+ila
jureg2
Posts: 13
Joined: Fri Oct 11, 2019 8:11 pm

Post

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
User avatar
lesny8
Posts: 3132
Joined: Mon Dec 11, 2017 9:43 pm
Has thanked: 10 times
Been thanked: 9 times

Post

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

Code: Select all

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.
SOP 2023 :heavy_check_mark:
SOP 2024 :heavy_check_mark:
Czekam na kolejne Supla Offline Party :upside_down_face:
🧩: 🔑cz->b ⛴️+ila
jureg2
Posts: 13
Joined: Fri Oct 11, 2019 8:11 pm

Post

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.
User avatar
lesny8
Posts: 3132
Joined: Mon Dec 11, 2017 9:43 pm
Has thanked: 10 times
Been thanked: 9 times

Post

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ś.
SOP 2023 :heavy_check_mark:
SOP 2024 :heavy_check_mark:
Czekam na kolejne Supla Offline Party :upside_down_face:
🧩: 🔑cz->b ⛴️+ila
essej
Posts: 1
Joined: Sun Jul 05, 2020 4:46 pm

Post

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
Posts: 138
Joined: Mon May 28, 2018 7:06 am
Location: Wrocław

Post

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 ?
User avatar
lesny8
Posts: 3132
Joined: Mon Dec 11, 2017 9:43 pm
Has thanked: 10 times
Been thanked: 9 times

Post

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.
SOP 2023 :heavy_check_mark:
SOP 2024 :heavy_check_mark:
Czekam na kolejne Supla Offline Party :upside_down_face:
🧩: 🔑cz->b ⛴️+ila
User avatar
lesny8
Posts: 3132
Joined: Mon Dec 11, 2017 9:43 pm
Has thanked: 10 times
Been thanked: 9 times

Post

NetAs wrote: Wed 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

Code: Select all

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

Code: Select all

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

Code: Select all

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

Code: Select all

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

Code: Select all

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

Code: Select all

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

Code: Select all

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 ;)

Code: Select all

nano mysite.sh 
i wklej zawartość

Code: Select all

#!/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

Code: Select all

chmod 755 mysite.sh 
Dodaj jeszcze plik konfiguracyjny

Code: Select all

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

Code: Select all

# 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) 
[email protected]

# 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

Code: Select all

./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!!
SOP 2023 :heavy_check_mark:
SOP 2024 :heavy_check_mark:
Czekam na kolejne Supla Offline Party :upside_down_face:
🧩: 🔑cz->b ⛴️+ila
NetAs
Posts: 138
Joined: Mon May 28, 2018 7:06 am
Location: Wrocław

Post

lesny8 wrote: Wed Mar 17, 2021 7:52 pm
NetAs wrote: Wed 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

Code: Select all

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

Return to “FAQ / Jak to zrobić”