Here is what my NAS docker-compose looks like:
Note that I didn’t do anything specific re: finding versions, so for grafana I am defaulting to latest (looks like I currently have version 9.11 from the logs, but does look like I picked a specific version (2.3.0) for influxdb. 2.4.0 is the latest from a few days ago, so I suppose I could upgrade. I did this for both windows and the NAS… had to move to the NAS to the other day as resources were somewhat constrained on the PC and the two running constantly were impacting performance. Moving from windows to NAS was just a matter of changing the volume mapping (windows would have a c:\foo\bar format, vs /foo/bar on the NAS since it’s linux.
you’re probably better off using the specific version in the docker-compose yml, so you don’t inadvertently upgrade accidentally to a version that might need some steps to upgrade. I probably had that version in there because I found a recent example that worked!
If pulling latest or those specific versions doesn’t work for you on the NAS it may be because of the architecture they are running on. for example, raspberry pi would be arm vs amd for linux and presumably my NAS (intel based).
If you look at the tags page you’ll see that the latest ones are 64 bit which may not be available for arm (looks like arm is only up to version 1.8).
Note the shm_size limits are kind of arbitrary (and maybe too much), haven’t looked into the limit, that was mostly left over from another docker compose file I had.
I created a grafana and influxdb/database folder and made sure those folder were writable by docker.
I also added a /backups volume so I could dump a backup of the db and copy to the new server (used that when I went from windows to NAS). Note to self, remember to stop iotawatt upload to influxdb when doing the backup so you don’t lose some data next time!
one other note, if you don’t have the image locally when you do
docker-compose up --detach
to start things, it’ll pull the latest version (since I didn’t specify) or the specific version, but subsequent runs will use the local image. if I wanted to use a newer version of grafana, I would do
docker image rm grafana/grafana-enterprise
then either do a pull of the latest images, or just docker-compose up again and it’ll fetch it.
and you can do these things via portainer too (well, maybe not the docker-compose part)