Pomoc Instalacja Passbolt w Docker

raffter

Entry Technician
Q Associate
6 Grudzień 2015
53
3
8
36
Lublin
QNAP
TVS-x72XT
Ethernet
1 GbE
Witam,

w firmie pojawiła się potrzeba uporządkowania bałaganu w zarządzaniu hasłami. Przeglądając różne rozwiązania trafiłem na Passbolt, który można zainstalować jako kontener Docker. Niestety nigdy wcześniej nie instalowałem żadnych kontenerów i moja wiedza w tym temacie jest bliska zeru :)

Udało mi się jednak zainstalować i uruchomić go wg. poniższej instrukcji:
Docker passbolt installation

i konfiguracji:

Kod:
version: "3.9"
services:
  db:
    image: mariadb:10.11
    restart: unless-stopped
    environment:
      MYSQL_RANDOM_ROOT_PASSWORD: "true"
      MYSQL_DATABASE: "passbolt"
      MYSQL_USER: "passbolt"
      MYSQL_PASSWORD: "P4ssb0lt"
    volumes:
      - database_volume:/var/lib/mysql

  passbolt:
    image: passbolt/passbolt:latest-ce
    restart: unless-stopped
    depends_on:
      - db
    environment:
      APP_FULL_BASE_URL: http://192.168.15.10
      DATASOURCES_DEFAULT_HOST: "db"
      DATASOURCES_DEFAULT_USERNAME: "passbolt"
      DATASOURCES_DEFAULT_PASSWORD: "P4ssb0lt"
      DATASOURCES_DEFAULT_DATABASE: "passbolt"
    volumes:
      - gpg_volume:/etc/passbolt/gpg
      - jwt_volume:/etc/passbolt/jwt
    command:
      [
        "/usr/bin/wait-for.sh",
        "-t",
        "0",
        "db:3306",
        "--",
        "/docker-entrypoint.sh",
      ]
    ports:
      - 80:80
      - 4444:4444
    #Alternatively for non-root images:
    # - 80:8080
    # - 443:4433

volumes:
  database_volume:
  gpg_volume:
  jwt_volume:

Niestety w takiej konfiguracji działa tylko w sieci lokalnej. Gdy próbuje się połączyć z zewnątrz (po przekierowaniu portów) wyświetla się tylko biała strona.
Dodam, że domyśla konfiguracja kierowała na porty 80 i 443 - zmieniłem ją, gdyż port 443 mam zajęty przez inną usługę. Odblokowałem też porty w firewallu.

Czy ktoś z forumowiczów miał styczność z instalacją Passbolt w Qnap i wie gdzie popełniłem błąd?
Będę wdzięczny za pomoc.
 
pliki są poprawne
więc wina jest gdzie indziej, czy wszystkie kontenery działają po zrobioniu docker compose up -d ?

1686997272803.png


brakuje ci kroku z generowaniem admina docker exec test1-passbolt-1 su -m -c "bin/cake passbolt register_user -u dupa@dupa.com -f dupa -l dupa -r admin" -s /bin/sh www-data

1686997292197.png
 
Tak wszystkie kontenery działają. Konto admina też wygenerowałem. Generalnie po tych wszystkich czynnościach passbolt działa prawidłowo w sieci lokalnej. Tak jak pisałem - nie działa połączenie zdalne z innej sieci po przekierowaniu portów.

EDIT:

Dołączam screeny z ekranu logowania z sieci lokalnej i zdalnie.
 

Załączniki

  • Zrzut ekranu 2023-06-17 o 12.59.00.png
    Zrzut ekranu 2023-06-17 o 12.59.00.png
    218,6 KB · Wyświetleń: 19
  • Zrzut ekranu 2023-06-17 o 12.58.42.png
    Zrzut ekranu 2023-06-17 o 12.58.42.png
    44,9 KB · Wyświetleń: 19
jeśli ci to jakoś pomoże:

przekierowanie portu mi nie pomogło
wrzuciłem passbolta w reverse proxy (żeby mieć ssla) - nie wyobrażam sobie managera haseł bez ssla! mam apache2 ;p
w pliku compose poprawiłem zmienną APP_FULL_BASE_URL żeby wskazywała na moja domenę i lokacje
APP_FULL_BASE_URL: https://dupa.com/passbolt/
przez to mogłem się dostać przez przeglądarkę do programu - https://dupa.com/passbolt/auth/login
i dalej było robienie nowego konta .. więc machnąłem ręką

dokumentacja samego passbolta wskazuje żeby użyć traefik do schowania za sslem.
 
Za dużo z tego nie rozumiem :) wnioskuje jednak, że przydałoby się podpiąć pod NAS zewnętrzną domenę i zainstalować na nim SSL? Czy znajdę na forum konkretne instrukcje jak to zrobić?
 
Generalnie odradzałbym treafik/ingress jako reverse_proxy standalone dziwne że tak sugerują w tym przypadku żadnych benefitów z tego niema a tylko jakąś pokraczną architekturę.
Nie miałem okazji testować ale to wygląda obiecująco i nie wymaga instalacji żadnych zewnętrznych serwerów proxy nie jestem pewien a być może i upiecze się bo przecież ssl fajnie by było mieć normalne podpisane a nie wygenerowane z palca. Rozwiązanie out-of-box How to use Reverse Proxy to improve secure remote connections?

Nie widzę w piku docker-compose ustawień sieci nie ma żadnej gwarancji że adres passbolt otrzyma ten sam adres IP.

Właśnie testowałem dział powtórzę to jeszcze raz bo to ważne masz normalne certyfikaty SSL NAS, które automatycznie są odnawiane, reasumując same plusy ;)
 
3QN dzięki za odpowiedź. Zanim przejdę do tematu Reverse Proxy muszę prawidłowo skonfigurować SSL i przekierowania na serwerze.
Posiedziałem trochę nad tematem zaczynając od początku.

No więc:
1) kupiłem w OVH domenę i przekierowałem rekord A na ip serwera, następnie dla poszczególnych subdomen utworzyłem kolejne rekordy CNAME na nazwadomeny.pl
2) kupiłem certyfikat Commercial SSL WildCard dla domeny i zainstalowałem na serwerze
3) zrobiłem na routerze przekierowanie portu 443 na Qnap

W tym momencie, gdy wchodzę na: nazwadomeny.pl uruchamia mi się zabezpieczona strona logowania do QTS. Więc wygląda na to, że certyfikat został zainstalowany prawidłowo. Gdy odpalam adres subdomeny np. qvr.nazwadomeny.pl też uruchamia się ekran QTS.

I tutaj pojawia się pierwszy problem, które nie wiem jak przeskoczyć. Chciałbym, aby po wejściu na wybraną subdomenę kierowało na konkretną usługę tj:

qnap.nazwadomeny.pl - > QTS
qvr.nazwadomeny.pl -> Stacja QVR
photo.nazwadomeny.pl - > QuMagie
pass.nazwadomeny.pl - > PassBolt
itd.

Czy możecie pomóc w tym temacie?
 
Dla QTS ustawiłem reverse proxy wg. załączonego screenu i wygląda, że działa. Nie mam jednak pojęcia jak ustawić go dla innych usług.

pigers czy możesz podać przykład jak ustawić reverse proxy dla np. QVR Pro?
 

Załączniki

  • Zrzut ekranu 2023-06-18 o 11.30.41.png
    Zrzut ekranu 2023-06-18 o 11.30.41.png
    88,5 KB · Wyświetleń: 16
Muszę podać tam numer portu.
dla QTS był to 2000
dla Virtual Station 8081

natomiast QVR Pro i np. QuMagie pracują na tym samym porcie co QTS i dlatego nie wiem jak to skonfigurować, żeby kierowało bezpośrednio z subdomeny np. qvr.nazwadomeny.pl na QVR.

Tak samo walczę od 2h żeby odpalić passbolta. Ustawiłem Reverse Proxy dla passbolt na port 4444 i nie działa. Nie wiem w czym jest problem. Czy mógłbyś mi wkleić swój pliki compose, żebym mógł porównać czy wszystko mam ok?
 
W końcu się udało z passboltem z konfiguracją Reverse Proxy z załącznika.

Jednak mam pewne wątpliwości czy jest ona do końca prawidłowa, gdyż działa tylko, gdy robię Reverse Proxy z HTTPS port 443 na HTTP port 80

Gdy robię HTTPS port 443 na HTTPS port 4444 strona zwraca:

Service Unavailable​

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Czy nie powinno się jeszcze skonfigurować w Container Station w Preferences - > Docker Certificates ?
 

Załączniki

  • Zrzut ekranu 2023-06-18 o 16.31.26.png
    Zrzut ekranu 2023-06-18 o 16.31.26.png
    87,2 KB · Wyświetleń: 9
Wracam do tematu passbolt :) Połączenie przez pass.nazwadomeny.pl nie działa z sieci lokalnej, na którą kieruje domena. Problem ten miałem w zasadzie nie rozwiązany dla innych usług już od dawna.

Wewnątrz sieci do qnap i jego usług mogę łączyć się wyłącznie po lokalnym IP (passbolt w tej sytuacji nie działa). Problem w tym, że chciałbym mieć możliwość łączenia się do serwera wewnątrz sieci po nazwadomeny.pl. Rozumiem, że tutaj wchodzi w grę odpowiednia konfiguracja DNS. Pytanie tylko czy da się to załatwić z poziomu routera (Draytek Vigor 2925) czy trzeba bawić się w stawianie serwera DNS lokalnie? A może jest jeszcze jakieś inne rozwiązanie?
 
Generalnie to już troszkę odbiega od wątku bo clue było TWOJ_QNAP.myqnapcloud.com:8443 miałeś trywialną konfigurację z ssl za free teraz wyladowałeś z subdomenami ovh ssl i nie wiem nie sądzę aby dało się to zrobić tak łatwo bez serwera dedykowanego.
 
Idąc za wskazówką pigers skonfigurowałem NAT loopback na routerze i ustawiłem go jako serwer DNS. Na wszystkich komputerach lokalnych jako adres DNS podałem ip routera i teraz działa jak oczekiwałem.
 
  • Clapping Hands
Reakcje: 3Qn

Mogą Cię zainteresować

U
  • Pytanie
Przy piwie Octoprint
Odpowiedzi
0
Wyświetleń
274
Kontenery Docker i LXD
Usunięty użytkownik pigers
U
U
Odpowiedzi
4
Wyświetleń
641
Kontenery Docker i LXD
Usunięty użytkownik pigers
U

Użytkownicy znaleźli tą stronę używając tych słów:

  1. instalacja ssl
  2. mysql
  3. połączenie zdalne
  4. The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
  5. compose
  6. container
  7. reverse proxy