Docker
Wdróż FoxIDs w Docker Desktop na maszynie deweloperskiej lub testowej.
To opis sposobu wykonania domyślnego wdrożenia i pierwszego logowania.
Instalacja FoxIDs jest jak wiadro: brak zależności zewnętrznych i łatwo osiągnąć bardzo wysoką dostępność przy niewielkim wysiłku.
FoxIDs aktualizuje się przez aktualizację dwóch obrazów Docker www.foxids.com/foxids:x.x.x i www.foxids.com/foxidscontrol:x.x.x
na nową wersję. Nowe wydania FoxIDs są backward compatible. Przed aktualizacją sprawdź informacje o wydaniu. Znajdziesz tam również aktualną wersję obrazu Docker.
Do uzyskania dostępu do wydań FoxIDs wymagana jest ważna licencja. Stamtąd możesz wygenerować secret do uwierzytelniania w rejestrze obrazów Docker pod adresem www.foxids.com, który używa uwierzytelniania Basic.
Wymagania wstępne:
- Masz zainstalowany Docker Desktop.
- Masz podstawową wiedzę o Docker.
Na końcu tego opisu znajduje się lista przydatnych poleceń.
To wdrożenie obejmuje:
- Dwie witryny: jedna dla FoxIDs i jedna dla FoxIDs Control (the admin Client i API) w dwóch obrazach Docker
www.foxids.com/foxids:x.x.xiwww.foxids.com/foxidscontrol:x.x.x. - Dwie witryny są wystawione na dwóch różnych portach.
- MongoDB to baza NoSQL zawierająca wszystkie dane, w tym tenantów, środowiska i użytkowników. Wdrażana z oficjalnego obrazu MongoDB.
- Redis cache przechowuje sekwencje (np. logowanie i wylogowanie), cache danych dla poprawy wydajności oraz liczniki chroniące przed atakami. Wdrażany z oficjalnego obrazu Redis.
- Logi są zapisywane do
stdout, skąd mogą być zbierane przez Docker.
Opcjonalnie użyj PostgreSql zamiast MongoDB i opcjonalnie zrezygnuj z Redis oraz zapisuj dane cache w bazie (MongoDB lub PostgreSql). Bez Redis ustaw
Nonejako data cache.
Wdrożenie
Wdrożenie jest wykonywane w opisanej kolejności.
Przygotowanie
Pobierz pliki konfiguracyjne Docker yaml tutaj i umieść je w folderze na swoim komputerze, np. C:\FoxIDs\Docker.
Otwórz konsolę i przejdź do folderu Docker.
Wolumen
Potrzebujesz wolumenu dla MongoDB o nazwie foxids-data, gdzie będą zapisywane dane.
Utwórz volume dla MongoDB na hoście Windows, np. w folderze C:\data\foxids-data. Ważne: utwórz foldery przed uruchomieniem polecenia.
docker volume create --driver local --opt type=none --opt device=C:\data\foxids-data --opt o=bind foxids-data
LUB utwórz volume dla MongoDB zarządzany przez Docker.
docker volume create foxids-data
Wdrożenie kontenerów
Dwie witryny FoxIDs są skonfigurowane do korzystania z obrazów Docker. Opcjonalnie skonfigurowane do użycia tylko HTTP albo HTTP/HTTPS z certyfikatem deweloperskim.
Oficjalne obrazy MongoDB i Redis są pobierane z Docker Hub.
Pull secret i setup Docker
Ustaw nazwę użytkownika na identyfikator klienta, a hasło na pull secret dla rejestru Docker FoxIDs, a następnie uwierzytelnij Docker.
docker login www.foxids.com --username <customer-id> --password <pull-secret>
Zaktualizuj C:\src\GitHub\FoxIDs.Assets\Docker\docker-compose-image.yaml:
services:
foxids:
image: www.foxids.com/foxids:x.x.x
foxids-control:
image: www.foxids.com/foxidscontrol:x.x.x
Wybierz wersję z wydań FoxIDs, a następnie pobierz obrazy:
docker-compose -f docker-compose-image.yaml pull
Dostawca e-mail
Możesz opcjonalnie skonfigurować globalnego dostawcę e-maili lub później skonfigurować dostawców e-maili dla każdego środowiska. FoxIDs obsługuje wysyłanie e-maili przez SendGrid i SMTP.
Globalny dostawca e-maili jest konfigurowany w pliku docker-compose-image.yaml w usłudze foxids w sekcji environment:.
Poniższy przykład pokazuje konfigurację Outlook / Microsoft 365 przez SMTP:
- name: "Settings__Smtp__FromEmail"
value: "my@email-address.org"
- name: "Settings__Smtp__FromName" # Opcjonalna nazwa nadawcy powiązana z adresem e-mail
value: "e.g, my company name"
- name: "Settings__Smtp__Host"
value: "smtp.office365.com"
- name: "Settings__Smtp__Port"
value: "587"
- name: "Settings__Smtp__Username"
value: "my@email-address.com"
- name: "Settings__Smtp__Password"
value: "xxxxxxx"
Wdrożenie
Utwórz wdrożenie na obrazach Docker i z HTTP:
- Na obrazach Docker i z HTTP
docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml up -d
- Na obrazach Docker i z HTTP/HTTPS - wymaga obecności certyfikatu deweloperskiego.
docker-compose -f docker-compose-image.yaml -f docker-compose.development-https.yaml up -d
Pierwsze logowanie
Otwórz witrynę FoxIDs Control (http://localhost:8801 lub https://localhost:8401) w przeglądarce.
Powinna przekierować do witryny FoxIDs, gdzie zalogujesz się domyślnym użytkownikiem admin admin@foxids.com i hasłem FirstAccess! (podczas pierwszego logowania musisz zmienić hasło).
Następnie zostaniesz przekierowany z powrotem do witryny FoxIDs Control w tenancie master. Możesz dodać więcej adminów w tenancie master.
Następnie kliknij tenant main i uwierzytelnij się ponownie tym samym domyślnym użytkownikiem admin admin@foxids.com i hasłem FirstAccess! (ponownie wymagane jest ustawienie nowego hasła).
Domyślny użytkownik admin i hasło są takie same dla tenanta
masteri tenantamain, ale to dwaj różni użytkownicy.
Jesteś teraz zalogowany w tenancie main i możesz rozpocząć konfigurację aplikacji i metod uwierzytelniania.
Przydatne polecenia
To lista poleceń, które mogą być przydatne podczas wdrożenia do podglądu szczegółów i wprowadzania zmian.
Usuń wdrożenie
docker-compose -f docker-compose-image.yaml -f docker-compose.development-http.yaml down
# lub
docker-compose -f docker-compose-image.yaml -f docker-compose.development-https.yaml down
Zatrzymaj kontener
docker stop xxx
Usuń kontener
docker rm xxx
Usuń obraz
docker rmi xxx
Lista wolumenów
docker volume ls
Usuń wolumen
docker volume rm xxx
Usuń wszystkie nieużywane wolumeny
docker volume prune
Pokaż logi w kontenerze
Docker logs xxx