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

effendi_pl
Posts: 9
Joined: Tue Jun 19, 2018 7:50 am

Post

Cześć, po padzie lokalnego serwera supla - stawiam go na nowo na RPI (aarch64) IP serwera tożsame z poprzednią instalacją.
Kontenery startują prawidłowo:

Code: Select all


Docker version 26.0.0, build 2ae903e
Docker Compose version v2.25.0

CONTAINER ID   IMAGE                                                 COMMAND                  CREATED      STATUS                  PORTS                                                           NAMES
d6491186de52   supla/supla-server:arm32v7                            "/usr/bin/server-ent…"   4 days ago   Up 2 hours (healthy)    0.0.0.0:2015-2016->2015-2016/tcp, :::2015-2016->2015-2016/tcp   supla-server
6828c30baad8   supla/supla-cloud:arm32v7                             "docker-php-entrypoi…"   4 days ago   Up 2 hours (healthy)    80/tcp                                                          supla-cloud
b331a17fa579   hypriot/rpi-mysql:5.5                                 "/entrypoint.sh mysq…"   4 days ago   Up 2 hours              3306/tcp                                                        supla-db
93a63a106aa0   nginx:1.21.3                                          "/docker-entrypoint.…"   4 days ago   Up Less than a second   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp                        nginx-web
f662d1955feb   lesny8/rpi-docker-letsencrypt-nginx-proxy-companion   "/bin/bash /app/entr…"   4 days ago   Up 2 hours                                                                              nginx-letsencrypt
be804cebf44a   lesny8/rpi-docker-gen                                 "/usr/local/bin/dock…"   4 days ago   Up 2 hours                                                                              nginx-gen
pi@suplarpi:~ $
Niestety, próba połączenia się z serwerem (www) kończy się komunikatem:
Ta witryna jest nieosiągalna
Serwer xxx.xxx.org odrzucił połączenie.
Problemem wydaje się ciągłe resetowanie nginx - jak sobie z tym poradzić?

PS:
Ponownie odpaliłem suplę - kontener nie odpalił się

Code: Select all

pi@suplarpi:~/supla-docker $ sudo ./supla.sh start
sudo: unable to resolve host suplarpi: Name or service not known
Starting SUPLA containers
WARN[0000] /home/pi/supla-docker/docker-compose.yml: `version` is obsolete
WARN[0000] /home/pi/supla-docker/docker-compose.proxy.yml: `version` is obsolete
WARN[0000] /home/pi/supla-docker/docker-compose.arm32v7.yml: `version` is obsolete
WARN[0000] networks.proxy: external.name is deprecated. Please set name and external: true
[+] Running 0/1
 ⠧ supla-db Pulling                                                                                                                                                                                                                               1.7s
no matching manifest for linux/arm/v8 in the manifest list entries
Nginx - działa

Code: Select all

pi@suplarpi:~/supla-docker $ docker ps
CONTAINER ID   IMAGE                                                 COMMAND                  CREATED      STATUS          PORTS                                      NAMES
93a63a106aa0   nginx:1.21.3                                          "/docker-entrypoint.…"   4 days ago   Up 22 minutes   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   nginx-web
f662d1955feb   lesny8/rpi-docker-letsencrypt-nginx-proxy-companion   "/bin/bash /app/entr…"   4 days ago   Up 39 minutes                                              nginx-letsencrypt
be804cebf44a   lesny8/rpi-docker-gen                                 "/usr/local/bin/dock…"   4 days ago   Up 39 minutes                                              nginx-gen
User avatar
lesny8
Posts: 2882
Joined: Mon Dec 11, 2017 9:43 pm

Post

To jest bardzo stary wątek i te obrazy mogą nie działać prawidłowo na nowych OS.

Zgaś te moje kontenery nginx i pousuwa.
Zamiast tego proxy postaw sobie NginxProxyManager.
Czekam na kolejne Supla Offline Party 👍
effendi_pl
Posts: 9
Joined: Tue Jun 19, 2018 7:50 am

Post

Dzieki @lesny8, zainstalowałem.
Przy próbie postawienia stacka supli dostaję komunikat:

Code: Select all

Deployment error
failed to deploy a stack: supla-db Pulling no matching manifest for linux/arm/v8 in the manifest list entries

Code: Select all

pi@suplarpi:~ $ ./supla-docker/supla.sh start
Starting SUPLA containers
WARN[0000] /home/pi/supla-docker/docker-compose.yml: `version` is obsolete
WARN[0000] /home/pi/supla-docker/docker-compose.proxy.yml: `version` is obsolete
WARN[0000] /home/pi/supla-docker/docker-compose.arm32v7.yml: `version` is obsolete
WARN[0000] networks.proxy: external.name is deprecated. Please set name and external: true
[+] Running 0/1
 ⠇ supla-db Pulling                                                                                                                                                                                                                               1.7s
no matching manifest for linux/arm/v8 in the manifest list entries
pi@suplarpi:~ $ docker ps
CONTAINER ID   IMAGE                             COMMAND        CREATED             STATUS             PORTS                                                                                            NAMES
672f6a10d778   jc21/nginx-proxy-manager:latest   "/init"        About an hour ago   Up About an hour   0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp             nginx-proxy-manager
e3c94b659b47   portainer/portainer-ce:latest     "/portainer"   About an hour ago   Up About an hour   0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp, 9000/tcp   portainer
pi@suplarpi:~ $
PS:
Stan na chwilę obecną >

Code: Select all

pi@suplarpi:~ $ docker ps
CONTAINER ID   IMAGE                             COMMAND                  CREATED          STATUS                     PORTS                                                                                            NAMES
bfd0aaabea6d   supla/supla-server:arm32v7        "/usr/bin/server-ent…"   3 minutes ago    Up 3 minutes (unhealthy)   0.0.0.0:2015-2016->2015-2016/tcp, :::2015-2016->2015-2016/tcp                                    supla-server
021d7dde8015   supla/supla-cloud:arm32v7         "docker-php-entrypoi…"   3 minutes ago    Up 3 minutes (healthy)     80/tcp                                                                                           supla-cloud
7908961ac758   hypriot/rpi-mysql:5.5             "/entrypoint.sh mysq…"   3 minutes ago    Up 3 minutes               3306/tcp                                                                                         supla-db
16cec609b318   portainer/portainer-ce:2.20.1     "/portainer"             28 minutes ago   Up 28 minutes              0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp, 9000/tcp   portainer
672f6a10d778   jc21/nginx-proxy-manager:latest   "/init"                  2 hours ago      Up 44 minutes              0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp             nginx-proxy-manager

Code: Select all

Container health
Status	[b]unhealthy[/b]
Failure count	7
Last output	http://supla-cloud/api/server-status: Remote file does not exist -- broken link!!!

Code: Select all

./supla-docker/supla.sh start
Starting SUPLA containers
WARN[0000] /home/pi/supla-docker/docker-compose.yml: `version` is obsolete
WARN[0000] /home/pi/supla-docker/docker-compose.proxy.yml: `version` is obsolete
WARN[0000] /home/pi/supla-docker/docker-compose.arm32v7.yml: `version` is obsolete
WARN[0000] networks.proxy: external.name is deprecated. Please set name and external: true
[+] Running 0/1
[+] Running 1/2a_default  Created                                                              0.2s
 ⠹ Network supla_default                                                                                                                                 Created0.3s
 ⠙ Container supla-db                                                                                                                                    Created0.1s
[+] Running 1/4 requested image's platform (linux/amd64) does not match the detected host platform ( ⠸ Network supla_default                                                                                                                                 Created0.4s                                     ⠹ Container supla-db                                                                                                                                    Created0.2s
[+] Running 1/5 requested image's platform (linux/amd64) does not match the detected host platform ( ⠼ Network supla_default                                                                                                                                 Created0.5s                                     ⠸ Container supla-db                                                                                                                                    Starting0.3s                                   [+] Running 1/5 requested image's platform (linux/amd64) does not match the detected host platform ( ⠴ Network supla_default                                                                                                                                 Created0.6s                                     ⠼ Container supla-db                                                                                                                                    Starting0.4s                                   [+] Running 1/5 requested image's platform (linux/amd64) does not match the detected host platform ( ⠦ Network supla_default                                                                                                                                 Created0.7s                                     ⠴ Container supla-db                                                                                                                                    Starting0.5s                                   [+] Running 2/5 requested image's platform (linux/amd64) does not match the detected host platform ( ⠧ Network supla_default                                                                                                                                 Created0.8s                                     ✔ Container supla-db                                                                                                                                    Started0.5s                                    [+] Running 2/5 requested image's platform (linux/amd64) does not match the detected host platform ( ⠇ Network supla_default                                                                                                                                 Created0.9s                                     ✔ Container supla-db                                                                                                                                    Started0.5s                                    [+] Running 2/5 requested image's platform (linux/amd64) does not match the detected host platform ( ⠏ Network supla_default                                                                                                                                 Created1.0s                                     ✔ Container supla-db                                                                                                                                    Started0.5s                                    [+] Running 2/5 requested image's platform (linux/amd64) does not match the detected host platform ( ⠋ Network supla_default                                                                                                                                 Created1.1s                                     ✔ Container supla-db                                                                                                                                    Started0.5s                                    [+] Running 2/5 requested image's platform (linux/amd64) does not match the detected host platform ( ⠙ Network supla_default                                                                                                                                 Created1.2s                                     ✔ Container supla-db                                                                                                                                    Started0.5s                                    [+] Running 3/5 requested image's platform (linux/amd64) does not match the detected host platform ( ⠹ Network supla_default                                                                                                                                 Created1.3s                                     ✔ Container supla-db                                                                                                                                    Started0.5s                                    [+] Running 3/5 requested image's platform (linux/amd64) does not match the detected host platform ( ⠸ Network supla_default                                                                                                                                 Created1.4s                                     ✔ Container supla-db                                                                                                                                    Started0.5s                                    [+] Running 3/5 requested image's platform (linux/amd64) does not match the detected host platform ( ⠼ Network supla_default                                                                                                                                 Created1.5s                                     ✔ Container supla-db                                                                                                                                    Started0.5s                                    [+] Running 3/5 requested image's platform (linux/amd64) does not match the detected host platform ( ⠴ Network supla_default                                                                                                                                 Created1.6s                                     ✔ Container supla-db                                                                                                                                    Started0.5s                                    [+] Running 3/5 requested image's platform (linux/amd64) does not match the detected host platform ( ⠦ Network supla_default                                                                                                                                 Created1.7s                                     ✔ Container supla-db                                                                                                                                    Started0.5s                                    [+] Running 4/5 requested image's platform (linux/amd64) does not match the detected host platform ( ⠧ Network supla_default                                                                                                                                 Created1.7s                                     ✔ Container supla-db                                                                                                                                    Started0.5s                                     ! supla-db The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm/v8) and no specific platform was requested 0.0s
 ✔ Container supla-cloud                                                                                                                                 Started1.0s
 ✔ Container supla-server                                                                                                                                Started1.4s
SUPLA containers has been started.
Zmieniłem konfigurację na arm32v6, odpaliłem kontenery i wszystko w Portainerze na zielono... :)
Ale nadal nie widzę strony logowania do supli :(

Code: Select all

ERR_SSL_UNRECOGNIZED_NAME_ALERT
PS.:
Wygenerowałem klucze w Nginx Proxy Manager... kolejny problem

Code: Select all

502 Bad Gateway
Stawiam na konfigurację Nginx-managera... ratujcie!!
User avatar
lesny8
Posts: 2882
Joined: Mon Dec 11, 2017 9:43 pm

Post

Instalując system 64 bitowy trzeba liczyć się z tym, że nie wszystko będzie tak samo proste w zainstalowaniu jak na 32 bitowym OS.
To że masz system 64 bitowy, nie znaczy, że nie możesz korzystać z aplikacji 32 bitowych, ale wymaga to, że tak to nazwę, 'gimnastyki' ;)
Trzeba odpowiednio wskazać obrazy zbudowane dla ARMv7 tam gdzie dla ARMv8 nie istnieją, albo samemu sobie je zbudować, ale to już inny level.

Zanim coś zaczniesz robić przeczytaj post do końca.

Uruchom sobie najpierw na tym OS instancję Supli w trbie standalone na portach 443 i 80.
Jak Ci zadziała, to zatrzymaj i usuń kontenery, żeby zwolnić zajmowane porty 443 i 80
Uruchom NPM na portach 80 i 443, a 81 do zarządzania proxy.
Zmień konfiguracje w pliku .env w supla-docker z standalone na proxy i uruchom kontenery.
Dodaj w NPM wpis w Proxy Hosts dla supla-cloud. Na razie bez konfigurowania SSL dla domeny, powinno już wtedy działać Ci przekierowanie dla Twojej domeny.
Na końcu w sekcji SSL Certyfikates w NPM utwórz request dla certyfikatu od Let's Encrypt dla domeny, a po jego wystawieniu w sekcji Proxy Hosts, wybierz go dla wpisu kierującego do kontenera supla-cloud.
Zakładam, że sieć masz odpowiednio skonfigurowaną, przekierowania portów itp.

Tu masz docker-compose.yml dla NPM i zadziała na pewno na ARMv7 i ARMv8

Code: Select all

version: "3"
services:
  npm:
    container_name: npm
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db

  db:
    container_name: npm-db
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
      MARIADB_AUTO_UPGRADE: '1'
    volumes:
      - ./mariadb:/var/lib/mysql

networks:
  default:
    name: webproxy
    external: true
W .env w supla-docker wymuś obrazy jak dla ARMv7

Code: Select all

...
COMPOSE_PROJECT_NAME=supla
COMPOSE_PATH_SEPARATOR=:
COMPOSE_FILE=docker-compose.yml:docker-compose.proxy.yml:docker-compose.arm32v7.yml

dodatkowo w docker-compose.proxy.yml popraw wcięcia dla name i dodaj true przy external, żeby docker nie pluł ostrzeżeniem

Code: Select all

...
networks:
  proxy:
    external: true
    name: webproxy
i to tyle :mrgreen:
Czekam na kolejne Supla Offline Party 👍
effendi_pl
Posts: 9
Joined: Tue Jun 19, 2018 7:50 am

Post

Wielki dzięki za odpowiedź @lesny8

Uruchomiłem kontenery supli wg. Twojego opisu - wszystko w Portainerze na zielono!!
Image
Natomiast nadal dręczy mnie komunikat Bad gateway :(

PS.:
Wydaje mi się, że coś mieszam w npm :( mam:
Proxy hosts: scheme: https; Forward IP: 192.168.xxx.xxx (supla); forward port: 443
Block Common Exploits: ON; Websockets Support: ON
W sekcji SSL:
SSL Cert: xxx
Force SSL: ON, HTTP/2 Support: ON; HSTS Enabled: ON

Czy tak to powinno wyglądać?
Czy należy wskazać Custom locations?
effendi_pl
Posts: 9
Joined: Tue Jun 19, 2018 7:50 am

Post

@lesny8 - w Tobie nadzieja!!
User avatar
lesny8
Posts: 2882
Joined: Mon Dec 11, 2017 9:43 pm

Post

Ustaw najpierw tak, bez grzebania w pozostałych SSL
npm.jpg
You do not have the required permissions to view the files attached to this post.
Czekam na kolejne Supla Offline Party 👍
effendi_pl
Posts: 9
Joined: Tue Jun 19, 2018 7:50 am

Post

Klik >>> i działa :o :shock: !!! Rewelacja !!! Dzięki!!
karnasw
Posts: 197
Joined: Fri Oct 02, 2020 10:22 am

Post

Czyli jednak można mieć status healthy dla server i cloud. Ciekawe od czego to zależy. Ja co bym nie robił to cały czas mam unhealthy. Chociaż ja mam instalację ze stacka.
Jkogut
Posts: 7
Joined: Tue May 21, 2024 1:31 pm

Post

Witajcie.
Właśnie kupiliśmy do szkoły RPI 5 z planami przeznaczenia na testowanie lokalnego serwera Supli w ramach pracowni automatyki budynkowej. Poprzednio lokalny serwer postawiłem na debianie 12. Instalacja działała zarówno w wersji standalone (opis z githuba) jak i proxy (by klimasstudio). Pierwsze próby instalacji z githuba ze zmianami w plikach opisanych w wątku
viewtopic.php?t=4081&start=730#top
zakończyły się niepowodzeniem.

Czy ktoś z Was uruchomił serwer Supli na RPI 5? Na jakim OS? Wg jakiego opisu?
Będę wdzięczny za jakieś wskazówki
-----------------------------------------------------------------
ZSTI w Mszanie Dolnej
Pracownia automatyki budynkowej i IoT

Return to “FAQ / Jak to zrobić”