I often see people mention the Portainer project and how it’s useful, but I never hear any reason to use it other than as a more user friendly front end to service management.

So is there any particular feature or reason to use portainer over docker’s CLI? Or is it simply a method of convenience?

This isn’t only strictly for self hosting, but I figure people here would know better.

  • gamermanh@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    3 months ago

    Ok, had my wife send me the file from my network

    networks:
      main-network:
        name: ${COMPOSE_PROJECT_NAME}
        attachable: true
        ipam:
          driver: default
          config:
            - subnet: configure
              ip_range: this
              gateway: yoself
    
    services:
      # Gluetun - <https://github.com/qdm12/gluetun>
      gluetun:
        image: qmcgaw/gluetun
        container_name: gluetun
        networks:
          - main-network
        cap_add:
          - NET_ADMIN
        environment:
          - PUID=${PUID}
          - PGID=${PGID}
          - TZ=${TZ}
          - VPN_SERVICE_PROVIDER=custom
          - VPN_TYPE=wireguard
          - VPN_PORT_FORWARDING=true
          - VPN_PORT_FORWARDING_PROVIDER=protonvpn
          - WIREGUARD_ADDRESSES=use your own
          - WIREGUARD_ALLOWED_IPS=0.0.0.0/0
          - WIREGUARD_PRIVATE_KEY=nope
          - WIREGUARD_PUBLIC_KEY=69420
          - WIREGUARD_DNS=
          - VPN_ENDPOINT_PORT=
          - VPN_ENDPOINT_IP=
        volumes:
          - ${DOAPPDAT}/gluetun:/gluetun
    

    I left in the wireguard stuff without my details because for me Gluetun refused to work when setting the exact same info to wg0.conf, so I define it in my compose

    Then, services that rely on gluetun go below and look like:

    # qBittorrent - <https://hub.docker.com/r/linuxserver/qbittorrent>
    qbittorrent:
      container_name: qbittorrent
      network_mode: container:gluetun
      image: lscr.io/linuxserver/qbittorrent:latest
      depends_on:
        gluetun:
          condition: service_healthy
      restart: unless-stopped
    
    

    Works perfectly when I run it through portainer

    • aStonedSanta@lemm.ee
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      3 months ago

      It worked. Muahaha it worked. Thank you so much. I still have so much to learn. But one click and repulled and redeployed. The only change I needed in my config was to add.

      depends_on:
          gluetun:
            condition: service_healthy
      

      Into each container that was controlled by gluetun

    • aStonedSanta@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 months ago

      Thank you so much. 😊 I see a few things already worth changing in my file. You da best.

      • gamermanh@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        3 months ago

        It took me too long to get everything working myself because people love to share shit exclusively in CLI format and look down at anyone who asks for YAML it seems, so I’m always glad to pass it on

        (I can understand CLI, but the ADHD brain finds YAML much easier for documentation purposes and it surprises me how many people seem to disagree)