Git Product home page Git Product logo

Comments (11)

hemertje avatar hemertje commented on May 30, 2024 1

Thank you, will have a closer look and find out these days!

from rpi-nas.

hemertje avatar hemertje commented on May 30, 2024

have a look here:

portainer/portainer#2289

docker/libcompose#509

from rpi-nas.

hemertje avatar hemertje commented on May 30, 2024

some more :

portainer/portainer#3750

from rpi-nas.

timoknapp avatar timoknapp commented on May 30, 2024

Hi Timo,

with the stack below I get the error:

Volume "X" needs to be recreated - driver has changed.

=======================

* Removed Portainer as it is already running onder OMV

* Removed Plex as I don't use it

* Removed homeassistant as I don't use it

What needs to be added to get these following Apps running under the Portainer?

volumes:
nextcloud_postgres: ?
nextcloud: ?
grafana-storage: ?
influxdb-storage: ?

networks:
influxdb: ?

=======================
version: "2"

services:
heimdall: # Dashboard for all you Apps
image: linuxserver/heimdall
container_name: heimdall
environment:

  • PUID=998
  • PGID=100
  • TZ=Europe/Amsterdam
    volumes:
  • /dev-disk-by-label-data/AppData/heimdall:/config
    ports:
  • 8080:80
  • 443:443
    restart: unless-stopped

portainer: # UI based management of Docker
image: portainer/portainer
container_name: portainer
command: -H unix:///var/run/docker.sock
restart: unless-stopped
ports:

  • 9000:9000
  • 8000:8000
    volumes:
  • /var/run/docker.sock:/var/run/docker.sock
  • portainer_data:/data

cloudcmd: # UI based filemanager
image: team0/rpi-cloudcmd # arm-based docker images for cloudcmd
container_name: cloudcmd
ports:

  • 8008:8000
    volumes:
  • ~:/root
  • /:/mnt/fs

pyload: # pyload - download manager for your NAS
image: linuxserver/pyload
container_name: pyload
environment:

  • PUID=998
  • PGID=100
  • TZ=Europe/Amsterdam
    volumes:
  • /dev-disk-by-label-data/AppData/pyload:/config
  • /dev-disk-by-label-data/AppData/downloads:/downloads
    ports:
  • 8088:8000
  • 7227:7227 #optional
    restart: unless-stopped

nextcloud_postgres: # DB for Nextcloud
image: postgres
container_name: nextcloud_postgres
restart: always
volumes:

  • nextcloud_postgres:/var/lib/postgresql/data
    environment:
  • POSTGRES_PASSWORD=ABCDE12345
  • POSTGRES_DATABASE=nextcloud
  • POSTGRES_USER=nextcloud

nextcloud: # Nextcloud
image: nextcloud
container_name: nextcloud
ports:

  • 8081:80
    links:
  • postgres
    volumes:
  • nextcloud:/var/www/html
    restart: unless-stopped

Monitoring Stack:

telegraf:
image: telegraf:latest
container_name: telegraf
command: --config-directory /etc/telegraf/telegraf.d
depends_on:

  • influxdb
    networks:
  • influxdb
    volumes:
  • ./monitoring/telegraf:/etc/telegraf
    restart: always

influxdb:
image: influxdb:latest
container_name: influxdb
networks:
influxdb:
volumes:

  • influxdb-storage:/var/lib/influxdb
    restart: unless-stopped

grafana:
image: grafana/grafana:latest
container_name: grafana
depends_on:

  • influxdb
    ports:
  • 3000:3000
    networks:
  • influxdb
    environment:
  • GF_INSTALL_PLUGINS=grafana-piechart-panel
    volumes:
  • grafana-storage:/var/lib/grafana
  • ./monitoring/grafana/provisioning:/etc/grafana/provisioning
    restart: unless-stopped

volumes:
nextcloud_postgres:
nextcloud:
grafana-storage:
influxdb-storage:

networks:
influxdb:

=======================

Thank you for you reply!

Hi @hemertje ,

it seem that you have already some volumes running, which now blocks the recreation of new ones. Please review all mounted volumes and maybe remove them. In order to get the docker-stack running with your selected containers, you should start a docker-compose.ymlwith the following content. IMPORTANT: keep in mind to update all relevant placeholders!

version: "2"

services:
  heimdall: # Dashboard for all you Apps
    image: linuxserver/heimdall
    container_name: heimdall
    environment:
      - PUID=${USER_ID}
      - PGID=${GROUP_ID}
      - TZ=Europe/Berlin
    volumes:
      - ${PATH_TO_DISK}/appdata/heimdall:/config
    ports:
      - 80:80
      - 443:443
    restart: unless-stopped

  cloudcmd: # UI based filemanager
    image: team0/rpi-cloudcmd # arm-based docker images for cloudcmd
    container_name: cloudcmd
    ports:
      - 8008:8000
    volumes:
      - ~:/root
      - /:/mnt/fs

  pyload: # pyload - download manager for your NAS
    image: linuxserver/pyload
    container_name: pyload
    environment:
      - PUID=${USER_ID}
      - PGID=${GROUP_ID}
      - TZ=Europe/Berlin
    volumes:
      - ${PATH_TO_DISK}/appdata:/config
      - ${PATH_TO_DISK}/downloads:/downloads
    ports:
      - 8088:8000
      - 7227:7227 #optional
    restart: unless-stopped

  nextcloud_postgres: # DB for Nextcloud
    image: postgres
    container_name: nextcloud_postgres
    restart: always
    volumes:
      - nextcloud_postgres:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=
      - POSTGRES_DATABASE=nextcloud
      - POSTGRES_USER=nextcloud

  nextcloud: # Nextcloud
    image: nextcloud
    container_name: nextcloud
    ports:
      - 8081:80
    links:
      - postgres
    volumes:
      - nextcloud:/var/www/html
    restart: unless-stopped

  ## Monitoring Stack:
  telegraf:
    image: telegraf:latest
    container_name: telegraf
    command: --config-directory /etc/telegraf/telegraf.d
    depends_on:
      - influxdb
    networks:
      - influxdb
    volumes:
      - ./monitoring/telegraf:/etc/telegraf
    restart: always

  influxdb:
    image: influxdb:latest
    container_name: influxdb
    networks:
      influxdb:
    volumes:
      - influxdb-storage:/var/lib/influxdb
    restart: unless-stopped

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    depends_on:
      - influxdb
    ports:
      - 3000:3000
    networks:
      - influxdb
    environment:
      - GF_INSTALL_PLUGINS=grafana-piechart-panel
    volumes:
      - grafana-storage:/var/lib/grafana
      - ./monitoring/grafana/provisioning:/etc/grafana/provisioning
    restart: unless-stopped

volumes:
  nextcloud_postgres:
  nextcloud:
  grafana-storage:
  influxdb-storage:

networks:
  influxdb:

from rpi-nas.

hemertje avatar hemertje commented on May 30, 2024

All volumes removed:

Schermafbeelding 2020-04-30 om 14 18 45

Schermafbeelding 2020-04-30 om 14 18 57

Schermafbeelding 2020-04-30 om 14 19 07

Schermafbeelding 2020-04-30 om 14 19 20

Schermafbeelding 2020-04-30 om 14 19 42

Question:
To start a docker-compose.yml I copy the codeas a new stack en run "deploy the stack" right?
So to start a docker-compose.yml I create a new stack, name it "nas" and I copied under "stack" the following, one on one:

version: "2"

services:
heimdall: # Dashboard for all you Apps
image: linuxserver/heimdall
container_name: heimdall
environment:
- PUID=998
- PGID=100
- TZ=Europe/Amsterdam
volumes:
- /dev-disk-by-label-data/AppData/Heimdall:/config
ports:
- 8080:80
- 443:443
restart: unless-stopped

cloudcmd: # UI based filemanager
image: team0/rpi-cloudcmd # arm-based docker images for cloudcmd
container_name: cloudcmd
ports:
- 8008:8000
volumes:
- ~:/root
- /:/mnt/fs

pyload: # pyload - download manager for your NAS
image: linuxserver/pyload
container_name: pyload
environment:
- PUID=998
- PGID=100
- TZ=Europe/Amsterdam
volumes:
- /dev-disk-by-label-data/AppData/pyload:/config
- /dev-disk-by-label-data/Downloads:/Downloads
ports:
- 8088:8000
- 7227:7227 #optional
restart: unless-stopped

nextcloud_postgres: # DB for Nextcloud
image: postgres
container_name: nextcloud_postgres
restart: always
volumes:
- nextcloud_postgres:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=ABC123
- POSTGRES_DATABASE=nextcloud
- POSTGRES_USER=nextcloud

nextcloud: # Nextcloud
image: nextcloud
container_name: nextcloud
ports:
- 8081:80
links:
- postgres
volumes:
- nextcloud:/var/www/html
restart: unless-stopped

Monitoring Stack:

telegraf:
image: telegraf:latest
container_name: telegraf
command: --config-directory /etc/telegraf/telegraf.d
depends_on:
- influxdb
networks:
- influxdb
volumes:
- ./monitoring/telegraf:/etc/telegraf
restart: always

influxdb:
image: influxdb:latest
container_name: influxdb
networks:
influxdb:
volumes:
- influxdb-storage:/var/lib/influxdb
restart: unless-stopped

grafana:
image: grafana/grafana:latest
container_name: grafana
depends_on:
- influxdb
ports:
- 3000:3000
networks:
- influxdb
environment:
- GF_INSTALL_PLUGINS=grafana-piechart-panel
volumes:
- grafana-storage:/var/lib/grafana
- ./monitoring/grafana/provisioning:/etc/grafana/provisioning
restart: unless-stopped

volumes:
nextcloud_postgres:
nextcloud:
grafana-storage:
influxdb-storage:

networks:
influxdb:

Now I am getting the error:

Service 'nextcloud' has a link to service 'postgres' which is undefined

Schermafbeelding 2020-04-30 om 14 48 57

from rpi-nas.

timoknapp avatar timoknapp commented on May 30, 2024

Just noticed, that there is a typo in the nextcloud part. The reference under links must be nextcloud_postgres instead of postgres.

So again, here would be an appriatecompose file for you:

version: "2"

services:
  heimdall: # Dashboard for all you Apps
    image: linuxserver/heimdall
    container_name: heimdall
    environment:
      - PUID=${USER_ID}
      - PGID=${GROUP_ID}
      - TZ=Europe/Berlin
    volumes:
      - ${PATH_TO_DISK}/appdata/heimdall:/config
    ports:
      - 80:80
      - 443:443
    restart: unless-stopped

  cloudcmd: # UI based filemanager
    image: team0/rpi-cloudcmd # arm-based docker images for cloudcmd
    container_name: cloudcmd
    ports:
      - 8008:8000
    volumes:
      - ~:/root
      - /:/mnt/fs

  pyload: # pyload - download manager for your NAS
    image: linuxserver/pyload
    container_name: pyload
    environment:
      - PUID=${USER_ID}
      - PGID=${GROUP_ID}
      - TZ=Europe/Berlin
    volumes:
      - ${PATH_TO_DISK}/appdata:/config
      - ${PATH_TO_DISK}/downloads:/downloads
    ports:
      - 8088:8000
      - 7227:7227 #optional
    restart: unless-stopped

  nextcloud_postgres: # DB for Nextcloud
    image: postgres
    container_name: nextcloud_postgres
    restart: always
    volumes:
      - nextcloud_postgres:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=
      - POSTGRES_DATABASE=nextcloud
      - POSTGRES_USER=nextcloud

  nextcloud: # Nextcloud
    image: nextcloud
    container_name: nextcloud
    ports:
      - 8081:80
    links:
      - postgres
    volumes:
      - nextcloud:/var/www/html
    restart: unless-stopped

  ## Monitoring Stack:
  telegraf:
    image: telegraf:latest
    container_name: telegraf
    command: --config-directory /etc/telegraf/telegraf.d
    depends_on:
      - influxdb
    networks:
      - influxdb
    volumes:
      - ./monitoring/telegraf:/etc/telegraf
    restart: always

  influxdb:
    image: influxdb:latest
    container_name: influxdb
    networks:
      influxdb:
    volumes:
      - influxdb-storage:/var/lib/influxdb
    restart: unless-stopped

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    depends_on:
      - influxdb
    ports:
      - 3000:3000
    networks:
      - influxdb
    environment:
      - GF_INSTALL_PLUGINS=grafana-piechart-panel
    volumes:
      - grafana-storage:/var/lib/grafana
      - ./monitoring/grafana/provisioning:/etc/grafana/provisioning
    restart: unless-stopped

volumes:
  nextcloud_postgres:
  nextcloud:
  grafana-storage:
  influxdb-storage:

networks:
  influxdb:

To your question: Yes, exactly. Thats the way how to put a compose stack into portainer.

from rpi-nas.

hemertje avatar hemertje commented on May 30, 2024

Many thanks again!
Overlooked that too ;(

Deployment just finshed, all Apps running now ;)

Schermafbeelding 2020-04-30 om 18 13 32

May I ask you two some small questions?

  1. With previous coderaiser/cloudcmd#288 Cloudcmd I couldn't see the "data" disk under Mount, with the container

team0/cloudcmd

there was none... now I can:
Schermafbeelding 2020-04-30 om 18 33 25

But how to see other "SharedFolders" as well?
Schermafbeelding 2020-04-30 om 18 34 25

Should be something with the user/owner of Cloudcmd, but what?
How to give Cloudcmd "sudo" rights to view/show all directories and files?

  1. On my Wish / Todo list is installing Pi-Hole on the SBC ROCKPro64
    But the docker-compose example https://github.com/pi-hole/docker-pi-hole , stated Version 3, not version 2
version: "3"

# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp"
      - "80:80/tcp"
      - "443:443/tcp"
    environment:
      TZ: 'America/Chicago'
      # WEBPASSWORD: 'set a secure password here or it will be random'
    # Volumes store your data between container upgrades
    volumes:
      - './etc-pihole/:/etc/pihole/'
      - './etc-dnsmasq.d/:/etc/dnsmasq.d/'
    dns:
      - 127.0.0.1
      - 1.1.1.1
    # Recommended but not required (DHCP needs NET_ADMIN)
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    cap_add:
      - NET_ADMIN
    restart: unless-stopped

While Stack inside Portainer tells us:
This stack will be deployed using the equivalent of docker-compose. Only Compose file format version 2 is supported at the moment.

Via Heimdall it is possible to add Pi-Hole, but it is asking a IP-Adress, this is the IP-Address of the NAS added with the wanted port?

from rpi-nas.

timoknapp avatar timoknapp commented on May 30, 2024

Many thanks again!
Overlooked that too ;(

Deployment just finshed, all Apps running now ;)

Schermafbeelding 2020-04-30 om 18 13 32

May I ask you two some small questions?

1. With previous [coderaiser/cloudcmd#288](https://github.com/coderaiser/cloudcmd/issues/288) Cloudcmd I couldn't see the "data" disk under Mount, with the container

team0/cloudcmd

there was none... now I can:
Schermafbeelding 2020-04-30 om 18 33 25

But how to see other "SharedFolders" as well?
Schermafbeelding 2020-04-30 om 18 34 25

Should be something with the user/owner of Cloudcmd, but what?
How to give Cloudcmd "sudo" rights to view/show all directories and files?

1. On my Wish / Todo list is installing Pi-Hole on the SBC ROCKPro64
   But the docker-compose example https://github.com/pi-hole/docker-pi-hole , stated Version 3, not version 2
version: "3"

# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp"
      - "80:80/tcp"
      - "443:443/tcp"
    environment:
      TZ: 'America/Chicago'
      # WEBPASSWORD: 'set a secure password here or it will be random'
    # Volumes store your data between container upgrades
    volumes:
      - './etc-pihole/:/etc/pihole/'
      - './etc-dnsmasq.d/:/etc/dnsmasq.d/'
    dns:
      - 127.0.0.1
      - 1.1.1.1
    # Recommended but not required (DHCP needs NET_ADMIN)
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    cap_add:
      - NET_ADMIN
    restart: unless-stopped

While Stack inside Portainer tells us:
This stack will be deployed using the equivalent of docker-compose. Only Compose file format version 2 is supported at the moment.

Via Heimdall it is possible to add Pi-Hole, but it is asking a IP-Adress, this is the IP-Address of the NAS added with the wanted port?

Great that it works for you. To your questions:

  1. How many hard drives do you have connected? Could it be that the other sharedfolders are from another disk e.g.:
  • /mnt/fs/dev-disk-by-label-data2/

In order to make cloudcmdshow everything, the linux user which is running docker(its the one with your PUID=998), needs to have all relevant right and therefore being part of multiple groups, managed by OMV could be like this:
image

  1. Have you tried adding the pihole image manually, without the docker-stack. So just starting it manually as a container? I guess the docker-compose version is not that important here.
    And yeah its the IP-Address of your RockPro. You can identify it, by sshinto your RockPro and just doing a ifconfig. This will show the IP-Address. Otherwhise you can check in the UI of your router.

from rpi-nas.

hemertje avatar hemertje commented on May 30, 2024

Hallo tea-mo903,

  1. I have just one HDD attached
    Aantekening 2020-05-02 195405
    Aantekening 2020-05-02 195449

Under SSH I saw that "admin" is PUID 998, I assume that "admin" is running "cloudcmd" ?
It's what I read on a Howto "OMV Portainer cloudcmd" page...

root@NAS-rockpro64:~# id admin
uid=998(admin) gid=100(users) groups=100(users)
root@NAS-rockpro64:~#
  1. On this Howto page, I read that I have to do other requirements before just installing "pi-hole" via "Container":

https://pcmac.biz/pi-hole-on-openmediavault-5-inside-docker-with-portainer-using-raspberry-pi-4/

See step 1 & 2...

What's true?

  1. Other question: How to update these "compose containers" in the future?
    Inside their own webinterface?

from rpi-nas.

timoknapp avatar timoknapp commented on May 30, 2024

Hi @hemertje ,

  1. If you only have one HDD, than you must check that all shared folders are acutally active and referenced. Furhtermore you need to make sure, that you enabled them under your SMB configuration.

  2. Yeah thats completely right, you can follow the steps of the Website. They also dont run it as a compose. So you can follow step-by-step. Furthermore its alright to change the port from omv to sth. different (e.g. 8080, thats what I use)

  3. In order to pull newer images lateron, just re-run the stack and select "Always pull image".

from rpi-nas.

timoknapp avatar timoknapp commented on May 30, 2024

lets close this issue then.

from rpi-nas.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.