Patrząc na roadmap TrueNAS Scale wiem że wcześniejsze sposoby obchodzenia blokady Docker Compose nie będą działały i należy poszukać innego rozwiązania.
Edit: Po kilku miesiącach testów stwierdzam że to rozwiązanie ma problemy z wydajnością i działaniem. Przykłądowo hostując nextcloud przy przeglądaniu dużej ilości zdjęć potrafiło zrestartować cały kontener co powodowało restart wyszystkoch w nim skonfigurowanych aplikacji.
Rozwiązaniem jakie znalazłem które działa narazie najlepiej to postawienie VMki z systemem Debian i tam skonfiguraowaniem dockera i portainera.
Na chwilę obecną udało mi się odpalić Portainer używając aplikacji Docker Compose od Truecharts:
Zanim jednak przejdziemy do instalacji i konfiguracji tej aplikacji musimy zrobic dodatkowy dataset który bedzie używany przez nasze kontenery. Ja stworzyłem swój o nazwie container:
Następnie stworzyłem plik konfiguracyjny configuration.yaml który będzie służył do skonfigurowania Portainera przy użyciu aplikacji Docker Compose od Truecharts. (Pamiętaj zmienić trzecią linijkę w sekcji volumes aby odpowiadała twojej konfiguracji):
version: '3'
networks:
privatenetwork:
name: privatenetwork
driver: bridge
ipam:
driver: default
config:
- subnet: 192.168.99.0/24
gateway: 192.168.99.1
services:
portainer:
read_only: true
image: portainer/portainer-ce:latest
healthcheck:
disable: true
container_name: portainer
restart: unless-stopped
security_opt:
- no-new-privileges:true
networks:
- privatenetwork
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- /mnt/dane/container/truecharts-docercompose/data:/data:rw
ports:
- "9000:9000"
Zapisałem ten plik u siebie jako /mnt/dane/container/truecharts-docercompose/configuration.yaml
Przyda nam się ta ścieżka do pliku przy konfiguracji aplikacji.
Poniżej jest przedstawiona moja konfiguracja aplikacji Docker Compose od Truecharts.
Pamiętaj w sekcji Docer Compose File wstawić dokładną ścieżkę do swojego pliku .yaml z konfiguracją. Oraz od dodaniu Host Path w sekcji Storage gdzie będziesz trzymał pliki związane z kontenerami (Portainer i kontenery będą miały dostęp tylko do tego datasetu). Ja zamontowałem swój dataset /mnt/dane/container do dokładnie tej samej lokalizacji wewnątrz apliakcji aby ułatwić sobie konfigurację kontenerów:
Po odpaleniu aplikacji czekamy na deployment i następnie możemy dostać się do niego na porcie 9000 (podanym w pliku .yaml) swojego hosta TrueNAS :
Gotowe 🙂
Linkografia:
Rozumiem że w ogóle porzuciłeś to co daje w standardzie TrueNas? Jest sklep w którym praktycznie jest wszystko (dla mnie). Pytanie jakie są dodatkowe korzyści z Pointeinera? Największym plusem to na pewno poradniki które dla Portainer-a jest mnóstwo. Chciałbym wiedzieć czy da się tak zrobić by w przypadku poradnika https://forum.level1techs.com/t/truenas-scale-ultimate-home-setup-incl-tailscale/186444 dało się udostępnić cały zasób dyskowy dla Debiana i kontenerów?
Jak to jest że u kogoś działa od ręki a u mnie zawsze jest problem?
Siedzę drugi dzień nad tym tematem i nic nie mogę zawalczyć.
level=warning msg=”Error getting v2 registry: Get \”https://registry-1.docker.io/v2/\”: dial tcp: lookup registry-1.docker.io on 172.17.0.10:53: server misbehaving”
level=info msg=”Attempting next endpoint for pull after error: Get \”https://registry-1.docker.io/v2/\”: dial tcp: lookup registry-1.docker.io on 172.17.0.10:53: server misbehaving”
level=error msg=”Handler for POST /v1.42/images/create returned error: Get \”https://registry-1.docker.io/v2/\”: dial tcp: lookup registry-1.docker.io on 172.17.0.10:53: server misbehaving”
level=info msg=”Processing signal 'terminated'”
level=info msg=”[core] [Channel #4] Channel Connectivity change to SHUTDOWN” module=grpc
level=info msg=”[core] [Channel #4 SubChannel #5] Subchannel Connectivity change to SHUTDOWN” module=grpc
level=info msg=”[core] [Channel #4 SubChannel #5] Subchannel deleted” module=grpc
level=info msg=”[core] [Channel #4] Channel deleted” module=grpc
level=info msg=”stopping event stream following graceful shutdown” error=”” module=libcontainerd namespace=moby
level=info msg=”Daemon shutdown complete”
Juz mnie to męczy. Aktualizacja popsuła mi wszystko…
Niestety aktualizacje truecharts potrafią tak zrobić dlatego używam ich Docer Compose aby hostować własne portainer. Wtedy tylko jedną apkę muszę ogarniać jeśli pozmieniają coś co psuje skonfigurowane aplikacje (tak miałem z Nextcloudem od nich i dlatego przeszedłem na docer compose wersje w portainerze).
No i trzeba będzie spróbować tego rozwiązania!
Jaki status ma ten „truecharts” Można go śmiało używać czy ma jednak trochę błędów i jest niestabilny?
U mnie wszystko działa na nim właśnie (łącznie z tym blogiem) i na razie jest ok. Zobaczymy po updacie TrueNasa lub zmian jakiś nietypowych TrueCharts.
No to trzeba będzie się przemigrować… z Twojego poprzedniego tutoriala 😉
Pingback: TrueNAS Scale standardowy Docker + Portainer – BLOG SŁONIA :)