16 kwietnia 2024

Konfiguracja Portainera Community Edition do logowania OAuth 2.0 przy pomocy kont Google

Portainer w odmianie Community Edition nie pozwala na skonfigurowanie logowania przez Google poprzez zaznaczenie opcji Dostawcy Google, gdyż jest to opcja zastrzeżona dla Edycji Biznesowej. Pozostaje nam ręczna konfiguracja atrybutów OAuth 2.0.

Na szczęście jest to dość banalne.

Cały proces trzeba podzielić na 2 etapy:

I. Konfiguracja w konsoli Google Cloud Platform

1. Otwieramy https://console.cloud.google.com

2. Tworzymy nowy projekt.

3. Przechodzimy do zakładki Inmterfejsy API i usługi/Dane logowania.

4. Klikamy Utwórz dane logowania.

5. Wybieramy Identyfikator klienta OAuth

6. Jako typ aplikacji podajemy Aplikacja internetowa

7. Podajemy nazwę naszej aplikacji, np. Portainer.

8. Jako autoryzowane źródła JavaScriptu podajemy:

9. Jako autoryzowane identyfikatory URI przekierowania podajemy:

10. Klikamy Utwórz.

11. Zapamiętujemy (kopiujemy np. do Notatnika na potrzeby punkltu 2 poniżej) wyświetlone Id klienta oraz jego Sekret.

l2. Jeżeli w projekcioe nie mamy jeszcze skonfigurowanego Ekranu zgody OAuth, przechodzimy lub zostaniemy automatycznie przeniesieni do tego ustawienia.

13. Na ekranie zgody, jeżeli z naszego Portainera korzystać będą wyłącznie użytkownicy z naszej domeny, wystarczy zaznaczyć, iż jest to aplikacja wewnętrzna.

Ekran zgody w GCP

W przeciwnym przypadku musimy skonfigurować dodatkowe ustawienia aplikacji, takie jak jej nazwa, opcjonalne logo, adres email do kontaktu dla użytkowników, adres aplikacji, link do polityki prywatności i warunków korzystania z aplikacji, a także wylistować autoryzowane domeny, w których działa aplikacja oraz podać adres email dewelopera aplikacji.


II. Konfiguracja w Portainerze

1. W celu skonfigurowania ustawień w Portainerze, przechodzimy do Settings/Authentication.

2. Zaznaczamy oczekiwany czas trwania sesji - parametr Session lifetime.

3. Wybieramy OAuth jako metodę autentykacji użytkownika (zaznaczenie obok opcji Internal zniknie, ale oczywiście nadal będziemy mogli przy logowaniu wybrać tą metodę logowania.

4. Odznaczamy opcję Use SSO

5. Zaznaczamy Automatic user provisioning (w przeciwnym wypadku trzeba będzie najpierw tworzyć użytkowników w załadce Users.

6. Opcjonalnie przydzielamy nowotworzonych użytkowników do wcześniej utworzonego teamu lub wybieramy opcję No team (bezpieczeniejsze w połączeniu z pkt. 5, gdyż nowoutworzeni użytkownicy nie mają dostępu do żadnych zasobów).

7. Konfigurujemy parametry w sekcji OAuth Configuration:

Client ID: utworzone i zapisane w pkt. I

Client secret: jw.

Authorization URL: https://accounts.google.com/o/oauth2/auth

Access token URL: https://accounts.google.com/o/oauth2/token

Resource URL: https://www.googleapis.com/oauth2/v1/userinfo?alt=json

Redirect URL: <URL naszego Portainera>

Logout URL: https://accounts.google.com/Logout

User Identifier: email

Scopes: email

8. Klikamy Save settings

9. Otwieramy okno incognito naszej przeglądarki internetowej, wpisujemy adres naszego Portainera i wybieramy Login with Google i podajemy dane logowania do naszego konta Google/Google Workspace:

Ekran logowania kontem Google w Portainerze

10. Po zalogowaniu i utwoprzeniu użytkownika, musimy mu nadać dostęp do odpowiednich stackw/kontenerów w środowisku lub uprawnienia Administratora (wg potrzeb). Edycja Community nie obsługuje niestety ról.


Uwaga: Edycja Community Portainera nie obsługuje niestety logów z autentykacji, należy więc bardzo uważnie wprowadzać parametry w aplikacji, aby uniknąć pomyłek.

16 listopada 2019

Zabezpieczenie systemu automatycznego nawadniania na zimę

Posiadacze systemów automatycznego nawadniania/podlewania znają ten ból: zbliżająca się zima oznacza niechybnie konieczność przedmuchania systemu nawadniania, celem uniknięcia rozerwania rur położonych w ziemi przez zamarzającą wodę.

Zestaw zmontowany

Do tego roku korzystaliśmy z usług firmy ogrodniczej, która późną jesienią przyjeżdżała i dokonywała całej operacji. Trwało to około 30 minut i kosztowało 80-100 PLN, co oznaczało, że samodzielna zabawa z tym zadaniem była zupełnie nieopłacalna.

W tym roku jednak firma nie miała czasu na to zadanie, a lokalni usługodawcy zażądali za tą prostą operację minimum 250 PLN. Taka kwota oznacza, że zakup kompresora na własne potrzeby zwraca się po 2 operacjach, co już jest warte zachodu. Zwłaszcza, że kompresor można wykorzystać do wielu innych zadań w domu, z malowaniem ogrodzenia na czele.

22 kwietnia 2018

Google Play Store (Android) na praktycznie każdym chromebooku

Google obiecało wprowadzenie możliwości korzystania z aplikacji androidowych na praktycznie większości ostatnio produkowanych chromebooków.
Niestety mimo istnienia listy zapowiedzianych i obsługiwanych modeli, idzie to w praktyce dość powoli.

Dlatego też warto wiedzieć, że możemy niejako wymusić obsługę sklepu Play Store, a co za tym idzie obsługę aplikacji z systemu Android na większości, nawet oficjalnie niewspieranych, chromebooków z procesorami ARM i Intel.

W tym celu należy zmienić kanał systemu Chrome OS ze stabilnego na co najmniej beta, a jeżeli to nie pomoże na wersję deweloperską.
Następnie należy przełączyć chromebooka w tryb deweloperski, czyli tzw. Development Mode. O tym, jak to zrobić można przeczytać w niezliczonych źródłach w internecie, a także na stronie pomocy Google. Warto użyć wyszukiwarki i szybko dowiemy się, jak to zrobić. Hint: Esc + Refresh (F5) + Power, Ctrl + D.

Mając uruchomiony system Chrome OS w trybie deweloperskim, należy otworzyć tzw. Crosh Shella, czyli nacisnąć kombinację Ctrl+Alt+t. Otworzy się nowe okno przeglądarki z linią poleceń, z migającym crosh. W tym miesjcu należy wpisać polecenia:

  1. shell (otworzy się linia poleceń shell zamiast crosh, jeżeli po wpisaniu polecenia shell otrzymamy błąd nierozpoznanego polecenia, oznacza to, iż nie przełączyliśmy naszego chromebooka w tryb deweloperski i należy wykonać operację ponownie, potencjalnie wykonując Powerwash)
  2. sudo su - (przejdziemy do trybu roota na komputerze)
  3. echo ‘-enable-arc’ > /usr/local/chrome_dev.conf
  4. echo "--arc-availability=officially-supported " > etc/chrome_dev.conf;
  5. mount -o bind /usr/local/chrome_dev.conf /etc/chrome_dev.conf

Po wykonaniu tych poleceń należy ponownie uruchomić UI systemu, np. korzystając ze skrótu klawiszowego Ctrl+Shift+q (ew. 2 razy, jeżeli raz nie wystarczy).

Po ponownym zalogowaniu powinniśmy otrzymać ikonkę Google Play Store i możliwość  zainstalowania z niego aplikacji.

Czasami uruchomienie Play Store za pierwszym razem (tak samo, jak aplikacji z niego) się nieco zawiesza (np. na wyświetlaniu ekranu zgody), wtedy należy po prostu ponownie uruchomić chromebooka. Jeżeli będziemy mieli problem z uruchomieniem aplikacji np. w trybie pełnoekranowym (Kodi), to czasami pomaga wyczyszczenie danych aplikacji w panelu administracji aplikacjami Androida i ponowne uruchomienie aplikacji.

Miłego oglądania, np. filmów lub słuchania muzyki, ew. grania na Waszym chromebooku.

06 maja 2017

Reset licznika bębna światłoczułego w drukarce Samsung C410 i podobnych

Jeżeli zdecydowaliście się na zakup kolorowej drukarki laserowej do domu, to jest dość prawodpodobne, że Wasz wybór padł na drukarkę Samsunga. Np. model Samsung C410 kosztował rozsądne pieniądze, a do tego dostępne są do niego niezłej jakości zamienniki tonerów, np. z firmy ABC Toner. To bardzo ciekawa firma, ze Słowacji, która prowadzi swój skep internetowy z obsługą w języku polskim pod adresem: https://www.abctoner.pl/.

01 maja 2017

Anet A8, cz. 2 - Pierwsze wrażenia i montaż

W poprzednim poście opisałem zakup drukarki Anet A8 oraz procedurę odprawy tego zakupu za pośrednictwem agencji celnej DHL.

Drukarka Anet A8 jest stosunkowo dojrzałym projektem (wbrew powszechnemu mniemaniu jest to najstarszy model oferowany przez chińską firmę, nowsze to A6 i A2), ale na moje potrzeby rozpoczęcia przygody z drukiem 3D
Bezpośrednio po zakupie, a przed otrzymaniem przesyłki obejrzałem szereg filmów na YouTube prezentujących cały proces montażu i kalibracji drukarki. Nie jest to zbyt skomplikowany proces, choć w internecie można znaleźć różne czasy montażu.


30 kwietnia 2017

Anet A8, cz. 1 - Druk 3D, czyli czas wsiąść do pociągu

Mimo, iż drukarki 3D pojawiły się na rynku sporo czasu temu, zajęty innymi kwestiami początkowo potraktowałem je jedynie jako ciekawostkę. Następnie przeczytałem sporo artykułów, obejrzałem sporo filmów i doszedłem do wniosku, że sensowne drukarki 3D zaczynają się min. od poziomu 3000 PLN, a naprawdę użyteczne kosztują w okolicach 5000 PLN. Ponieważ druk 3D jest dla mnie jedynie ciekawostką, nawet przez chwilę nie rozważałem wydania takich pieniędzy na drukarkę. W związku z tym, mój kontakt z drukowaniem w trzecim wymiarze ograniczał się do przypadkowych zetknięć z osobami, które coś sobie gdzieś wydrukowały.

Drukarka Anet A8


20 listopada 2016

Sonoff i ESP Easy - reguły dla przycisku

Jeżeli ktoś zakupił doskonały przełącznik oparty na ESP8266 od firmy ITEAD o nazwie Sonoff, na pewno zastanawiał się, czy da się ten przełącznik przerobić korzystając z oprogramowania ESP Easy.
Odpowiedź brzmi oczywiście tak i przełączniki dają się ładnie sterować z systemu automatyki domowej.

30 lipca 2016

Kody błędów Climatronic VW Bora 1999

Wpis z zupełnie innej bajki, ale może komuś się przyda. Spędziłem sporo czasu próbując zdiagnozować przyczyny niedziałania wiatraka dmuchawy w VW Bora rocznik 1999 z Climatronic.
Jak wejść do menu serwisowego znalazłem bez problemu - Fan -, Temp -, ECON, ale jak wyświetlić kody błędów bez podpinania do VAG-a niestety umykały mojej uwadze.
Aż wreszcie stosując różne kombinacje klawiszy udało się. Wystarczy nacisnąć przycisk Recyrkulacji powietrza oraz ECON równocześnie. Pokaże się menu z raportem błędów. Kod 444 oznacza brak błędów. Kod 214 oznacza brak zasilania
(Supply Voltage B+). Inne kody można znaleźć w internecie.
Jeżeli chcemy skasować wykryte błędy, wystarczy przytrzymać ECON przez 3s.
Takie proste, a ile czasu straciłem.

W moim przypadku okazało się, że zniknął bezpiecznik w skrzynce bezpieczników, ale to zupełnie inna historia.

28 lutego 2016

RFLink Gateway, cz. 3 - lutowanie, konfiguracja i działanie

Jakiś czas temu zacząłem przygodę z RFLinkiem. Najpierw kupiłem moduł nadawczo-odbiorczy, który w wyniku mojej pomyłki okazał się wyłącznie modułem jednofunkcyjnym. Na szczęście udało się go odesłać do Conrad Electronics ze stratą jedynie na przesyłkę - szczegóły w jednym z poprzednich postów.
W konsekwencji, po sprawdzeniu cen właściwego Aurela, zdecydowałem się na zakup komponentów RFLink-a - opis w kolejnym poście.

Przesyłka z nodo-shopu dotarła praktycznie w obiecywanym terminie 6 dni (obecują 3-30 dni, poczta holenderska, bez śledzenia), ale niestety z uwagi na Chiński Nowy Rok, przesyłka z Arduino Mega 2560 szła nieco dłużej i dotarła tydzień po komponentach z Holandii. Do tego trzeba dodać wyjazd służbowy i mamy efekt - montaż RFLinka zdołałem przeprowadzić dopiero dzisiaj.

15 lutego 2016

Odbudowa macierzy RAID w QNAP NAS

W domu mam NAS (NEtwork Attached Storage) firmy Qnap, 4-dyskową, model TS-469L, czyli pozbawioną wyświetlacza, ale na procesorze Atom. NAS pracuje stabilnie już od dobrych kilku lat, jest dozbrojony w RAM do swojej maksymalnej pojemności 3GB.

Ostatnio mój NAS, po teście mechanizmu S.M.A.R.T. dysków zgłosiła, iż dysk numer 1 będzie wkrótce wymagał wymiany. Zaopatrzyłem się więc w nowy dysk i przystąpiłem do wymiany. Wskutek nieszczęśliwego zbiegu okoliczności, byłem święcie przekonany, iż mam jedynie 3 dyski w macierzy, pomyślałem więc, iż w celu minimalizacji zagrożenia, dołożę 4 dysk jako zapasowy, a następnie wyjmę dysk nr 1. Ku mojemu ogromnemu zdziwieniu, w momencie, gdy wyciągnąłem szufladę dysku nr 4 zauważyłem, iż jest w niej dysk (nieprawdopodobne, ale niestety prawdziwe - zapomniałem, że rok temu rozszerzyłem macierz o 4 dysk). W ten sposób macierz się rozsynchronizowała i przeszła w tryb degraded nie z powodu dysku zagrożonego awarią (nr 1), ale moich własnych działań dot. w pełni sprawnego dysku nr 4.

10 lutego 2016

Konfiguracja Domoticza i Satela do wzajemnej współpracy

Przyczyną, dla której zdecydowałem się opisać w ostatnim poście aktualizację oprogramowania centrali Satel Integra wraz z modułem ETHM-1 jest możliwość współpracy tej centrali z Domoticzem. Dzięki temu, w konfiguracji docelowej będziemy nie tylko posiadać informację o stanie naszego systemu alarmowego, ale będziemy mogli wykorzystać moduły - czujki ruchu, kontraktony w drzwiach i oknach oraz inne elementy systemu alarmowego jako moduły sterujące zdarzeniami w naszym inteligentym domu.

RFLink Gateway - komunikacja z urządzeniami 433,92MHz, cz. 2

Tak, jak pisałem w poprzednim poście, wpadka z zamówieniem modułu Aurela oznaczała nie tylko konieczność zwrotu modułu na własny koszt, ale konstatację, iż kupując jednostkowo, nie da się kupić modułu taniej niż za 86 zł w TME. W tej sytuacji zdecydowałem się na kontakt z nodo-shop.nl, w którym od wczoraj dostępne było 50 szt. zestawów do samodzielnego lutowania zawierających płytkę drukowaną RFLink Gateway, moduł Aurela oraz gniazda.

01 lutego 2016

RFLink Gateway - komunikacja z urządzeniami 433,92MHz, cz. 1

Posiadając Domoticza i moduły oparte na ESP8266 zderzamy się z rzeczywistością - gotowe moduły konsumenckie oparte są z reguły na protokole Z-wave (np. Fibaro, Aeon, itp.) - są drogie, minimalna cena modułu 200-300 PLN, albo pracują na częstotliwości 433,92MHz - są zdecydowanie tańsze, a przez to bardzo popularne. Dobrym przykładem modułów pracujacych na częstotliwości 433,92MHz są np. czujniki dymu Flamingo firmy Elro (model FA21RF) dostępne dzisiaj na iBood, różnego rodzaju kontakty sterowane pilotem, wyłączniki światła i wiele, wiele innych modułów.

Po dokonaniu inwestycji w sticka Z-wave nadszedł czas na rozwiązanie drugiego problemu, czyli udostępnienie możliwości komiunikacji z urządzeniami działającymi na częstotliwości 433.
Zamówienie gotowego modułu RFXtrx433E oczywiście rozwiązuje problem natychmiast, ale kosztuje w tech chwili coś około 109 EUR + przesyłka, a w polskich sklepach internetowych 500 PLN. Jak więc osiągnąć ten sam cel taniej?


26 stycznia 2016

Prawidłowa obsługa nazw obiektów z polskimi znakami Satel -> Domoticz

Dzięki pracy kolegi fantoma z forum Domoticza, od wersji beta 2.4296, ten kontroler automatyki domowej zyskał prawidłową obsługę polskich znaków diaktrycznych w nazwach obiektów z central Satela, zintegrowanych przy użyciu modułu ETHM-1 i nowszych.

25 stycznia 2016

Skrypt zastępujący specjalizowaną wersję wsadu do ESP dla QuinLED

W internecie dostępny jest genialny projekt QuinLED autorstwa Quindora. Był to jeden z pierwszych przykładów wykorzystania w praktyce modułu ESP. Dzięki nieco przerobionemu w stosunku do oryginału skryptowi Lua w Domoticzu, możemy do sterowania modułem wykorzystać ESP Easy, zamiast specjalizowanej wersji oprogramowania opartego na NodeMCU i kolekcji skryptów Lua wgrywanych do modułu ESP8266.


Konfiguracja OpenZWave i Comet Z-wave

Nadszedł czas na opisanie konfiguracji sticka UZB1 oraz wpięcia w system głowicy termostatycznej Comet Z-wave.

24 stycznia 2016

OTA w Easy ESP R68

Czyż życie nie jest piękne? W wersji R68 oprogramowania ESP Easy kolega Martinus dodał długo oczekiwaną obsługę OTA, czyli możliwości wgrywania oprogramowania dla modułu ESP 8266 w trybie Over-the-Air, czyli w praktyce z poziomu przeglądarki WWW. Do tego czasu, aktualizacja oprogramowania modułu wymagała podłączenia programatora w miejscu instalacji modułu lub demontażu i zaprogramowania w warsztacie, co oznaczało z reguły dłuższą przerwę w działaniu modułu.

23 stycznia 2016

Aktualizacja oprogramowania centrali Satel i modułu ETHM-1

Firma Satel produkuje bardzo dobre centrale alarmowe Integra (obecnie w wersji Plus), do których istnieje bardzo dużo modułów dodatkowych.
Od jakiegoś czasu rozwijana jest integracja Satela z Domoticzem, więc postanowiłem opisać kroki niezbędne do połączenia obu systemów.

22 stycznia 2016

Jutro urodziny, więc pora na prezent

Jutro mam urodziny, więc dzięki sklepom dom-inteligentny.pl oraz smart4living.pl (to nie jest reklama tych sklepów i nie są one sponsorami tego postu, tylko informacja, gdzie można kupić elementy inteligentnego domu w normalnych cenach) nabyłem:
 
  • stick USB Z-wave UZB1, który posłuży mi do sterowania infrastrukturą opartą na protokole Z-wave z poziomu Domoticza na Raspberry Pi 2 oraz
  • nową wersję sterownika do zaworów grzejnikowych firmy Eurotronic, Comet Z-wave, następcę modelu Stella Z-wave.