home
Konfiguracja Portainer od podstaw: konta użytkowników, role i uprawnienia, bezpieczeństwo, środowiska oraz ustawienia globalne.
Postaw HomeAssistant w Dockerze, podłącz go do infrastruktury i przygotuj pod dalszą konfigurację automatyki.
Spis treści
W tym rozdziale zbudujemy solidne podstawy do automatycznego deploy-u usług w Portainer.
Na początku:
Przygotujemy repozytorium na GitHubie, w którym będziemy trzymać:
Stworzymy lokalną strukturę plików i folderów, a następnie wypchniemy wszystko do repozytorium.
Kolejny krok to konfiguracja Portainer:
Utworzymy stack oparty o repozytorium Git i skonfigurujemy go tak, aby:
Dlaczego zaczynamy właśnie od tego?
Bo dobrze przygotowane fundamenty:
Po przejściu tych kroków kolejne deploye będą już tylko formalnością.
Na początek zakładamy nowe repozytorium na GitHubie.

home_automationHome Automation local environmentpublic => privateCreate repositoryPo utworzeniu repo GitHub wyświetli Ci krótką instrukcję startową — dokładnie z niej skorzystamy.
Na swoim komputerze tworzysz katalog roboczy, np.:
home_automation
Najwygodniej od razu otworzyć go w Visual Studio Code — za chwilę i tak będziemy używać VSC jako:
W terminalu, w katalogu projektu, wykonujesz dokładnie te polecenia, które podpowiada GitHub.

tak możesz je skopiować wszystkie na raz i wkleić w terminalu.
Odśwież stronę repozytorium w przeglądarce. Jeśli wszystko poszło poprawnie:
Od tego momentu masz już centralne miejsce na całą konfigurację infrastruktury — dokładnie to, czego potrzebujemy do dalszej automatyzacji w Portainerze
W kolejnym kroku przygotujemy strukturę katalogów pod stacki i usługi.
Na początek przygotujmy porządną strukturę katalogów na pliki konfiguracyjne.
/dev
/prod
Dlaczego taki podział?
Dla wygody i bezpieczeństwa:
dev – środowisko testowe. Tu sprawdzasz nowe wersje obrazów, zmiany w konfiguracji, nowe stacki.
prod – środowisko produkcyjne. Tu trafiają tylko sprawdzone i stabilne konfiguracje.
Dzięki temu:
Na razie skupiamy się na DEV — do produkcji wrócimy później.
W katalogu dev tworzymy plik:
home_automation.yaml lub home_automation.yml
Przykładowa konfiguracja homeassiatnta:
services:
homeassistant:
image: "ghcr.io/home-assistant/home-assistant:latest"
container_name: homeassistant-dev
restart: on-failure
volumes:
- "/etc/localtime:/etc/localtime:ro"
ports:
- "8123:8123"
privileged: true

Co tu się dzieje?
Od tego momentu masz już pierwszy realny element infrastruktury jako kod.
szybkie wypchnięcie do repozytorium:
git add .
git commit -m "Added homeassistant service"
git push
lub przez UI

następnie Sync changes
Przechodzimy do github.com/settings/tokens
Ścieżka w UI: Awatar → Settings → Developer settings → Personal access tokens → Tokens (classic)
Następnie klikamy:
Generate new token → Generate new token (classic)
Ustawienia:
w polu Note nadajemy nazwę, np: portainer_token
Expiration:
wybieramy Custom i ustawiamy 1 rok - (krótszy czas = większe bezpieczeństwo)
Scopes zaznaczamy repo
To wystarczy, żeby Portainer mógł:

i klikamy Genrate token
Token pojawi się tylko raz.
Skopiuj go i zapisz w bezpiecznym miejscu (np. menedżer haseł).
Jeśli token wycieknie — natychmiast go unieważnij i wygeneruj nowy.
Do utworzenia stacka z repozytorium GitHub potrzebujesz:
Wejdź do swojego repozytorium i przejdź dokładnie do pliku stacka, np.:
https://github.com/<<YOUR_NAME>>/<<YOUR_REPO_NAME>>/blob/main/DEV/home_automation.yaml
Z tego adresu wyciągamy:
.yaml / .ymlhttps://github.com/<<YOUR_NAME>>/<<YOUR_REPO_NAME>>.git1. Wybór środowiska
Jeśli w lewym menu widzisz:
Environment: None selected
Kliknij i wybierz swoje środowisko.

2. Dodanie stacka
Przechodzimy do Stacks → Add stack

3. Konfiguracja stacka
Podstawowe ustawienia

4. Dostęp do repozytorium
Zaznacz Authentication i uzupełnij:
<<YOUR_NAME>><<YOUR_TOKEN>>https://github.com/<<YOUR_NAME>>/<<YOUR_REPO_NAME>>.git/DEV/home_automation.yaml - to jest lokalizacja pliku compose na githubie
5. Deploy options – automatyzacja
To jedna z najważniejszych sekcji.
zaznaczamy opcje GitOps updates
Na start ustaw:

Co to daje?
Portainer:
To jest podstawowy, ale bardzo skuteczny GitOps.
6.Environment variables
Sekcja Environment variables pozwala dodać zmienne środowiskowe przekazywane do kontenerów.

Na tym etapie:
ale warto wiedzieć, że:
W przyszłości będziesz z tego korzystać bardzo często.
7. Deploy
Na końcu upewnij się, że Access control jest zaznaczony oraz grupa jest ustawiona na 'Administrators', następnie
klikamy: Deploy the stack

Pierwsze uruchomienie może potrwać chwilę — obraz Home Assistanta jest dość duży.
Po poprawnym deployu:
Sprawdzenie w przeglądarce
Otwórz:
http://IP_SERWERA:8123
Jeśli wszystko poszło dobrze — zobaczysz ekran powitalny Home Assistanta - pamiętaj że to test, nie ma tu zamontowanych volumenów wiec po restarcie dane znikną. W kolejnym wpisie zrobimy to produkcyjnie. 😎

Zbudowałeś fundament pod Infrastructure as Code i przeszedłeś cały proces tworzenia pierwszego stacka w Portainerze — i to jest dokładnie ten moment, w którym zaczyna się porządkowanie infrastruktury.
Od teraz, korzystając z tego samego schematu, będziesz mógł:
W kolejnym wpisie przejdziemy już do wdrożenia produkcyjnego Home Assistanta: z użyciem zmiennych środowiskowych, z podpiętym wolumenem na dane i z konfiguracją gotową na realne użycie.
W następnych kilku wpisach stworzymy co najmniej trzy takie stacki, każdy do innej roli w Twojej infrastrukturze — i zobaczysz, jak bardzo ułatwia to dalszą pracę