TrueNAS Scale Docer Compose Portainer używając TrueCharts 7


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:


Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

7 komentarzy do “TrueNAS Scale Docer Compose Portainer używając TrueCharts

  • Floyd

    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?

  • Zbyszek M.

    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…

    • sloniupl Autor wpisu

      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).

  • Zbyszek M.

    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?

    • sloniupl Autor wpisu

      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.