My Docker Setup

Did you move things over from the Dell 1950? Why did you want to break it down to individual RPIs?

Do you use docker compose? Is your config file shared anywhere?

sorry for the delayed reply.
I never got around to moving the stuff over to rpi at least not yet. It is a cost and noise pollution move.

did not use docker compose. basically pulled all the dockers info from here

Can you post your docker-compose file?

1 Like

this is the text file I have with all the accumulated docker stuff. ymmv


docker run -d --name plex --restart=always --net=host -e TZ=“America/New_York” -e PLEX_UID=0 -e PLEX_GID=0 -v /home/sysop/docker/containers/plex/config:/config -v /mnt/media:/media -v /home/sysop/docker/containers/plex/transcode:/transcode -v /home/sysop/storage/jedia:/storage/jedia --device /dev/dri:/dev/dri plexinc/pms-docker:plexpass

Plex RPI

docker create --name=plex --restart=always --net=host -e PUID=0 -e PGID=0 -v /home/pi/docker/containers/plex/config:/config -v /mnt/media/Series:/data/tvshows -v mnt/media/movies:/data/movies -v /mnt/media/transcode:/transcode lsioarmhf/plex

docker run -d --name=sabnzbd --restart=always -p 8580:8080 -p 9590:9090 -v /home/sysop/docker/containers/sabnzb/config:/config -v /mnt/media/downloads:/downloads -v /mnt/media/incomplete-downloads:/incomplete-downloads -v /mnt/media:/media -e PGID=0 -e PUID=0 -e TZ=“America/New_York” linuxserver/sabnzbd


docker run -d --name nzbget --restart=always -p 6798:6789 -e PUID=0 -e PGID=0 -v /home/sysop/docker/containers/nzbget/config:/config -v /mnt/media/downloads:/downloads -v /mnt/media:/media linuxserver/nzbget


docker run -d --name sonarr --restart=always -p 8989:8989 -e PUID=0 -e PGID=0 -v /dev/rtc:/dev/rtc:ro -v /home/sysop/docker/containers/sonarr/config:/config -v /mnt/media/downloads/completed/Series:/downloads/completed/Series -v /mnt/media/Series:/media/Series linuxserver/sonarr


docker run -d --name=radarr --restart=always -p 7878:7878 -e PGID=0 -e PUID=0 -e TZ=“America/New_York” -v /home/sysop/docker/containers/radarr/config:/config -v /mnt/media/downloads/completed/Movies:/downloads/completed/Movies -v /mnt/media/Movies:/media/Movies linuxserver/radarr

Couch Potato

docker run --name=couchpotato --restart=always -p 5050:5050 -e PGID=0 -e PUID=0 -v /etc/localtime:/etc/localtime:ro -v /home/sysop/docker/containers/couchpotato/config:/config -v /home/sysop/docker/downloads:/downloads -v /home/sysop/docker/downloads/completed/Movies:/downloads/completed/Movies -v /mnt/media/Movies:/media/Movies linuxserver/couchpotato


docker run -d --name=plexpy --restart=always -p 8181:8181 -e PGID=0 -e PUID=0 -v /etc/localtime:/etc/localtime:ro -v /home/sysop/docker/containers/plexpy/config:/config -v /home/sysop/docker/containers/plex/config/Library/Application\040Support/Plex\040Media\040Server/Logs:/logs:ro linuxserver/plexpy


docker run -d --name=headphones -p 8282:8181 --restart=always -e PGID=0 -e PUID=0 -e TZ=“America/New_York” -v /home/sysop/docker/containers/headphones/config:/config -v /mnt/media:/media linuxserver/headphones



docker run -d --name=unifi --restart=always --net=host -p 8080:8080 -p 8081:8081 -p 8443:8443 -p 8843:8843 -p 8880:8880 -e PGID=0 -e PUID=0 -v /etc/localtime:/etc/localtime:ro -v /home/sysop/docker/containers/unifi/config:/config linuxserver/unifi

docker run --rm --net=host -e TZ=“America/New_York” -v ~/unifi/data:/var/lib/unifi -v ~/unifi/logs:/var/log/unifi --name unifi jacobalberty/unifi:unifi5


docker run --restart=always --name=portainer -d -p 9100:9000 -v /home/sysop/docker/containers/portainer/config:/data -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

Portainer Pi

mkdir -p /home/pi/docker/containers/portainer/config
mkdir -p /var/run/docker.sock:/var/run/docker.sock
docker run --restart=always --name=portainer -d -p 9100:9000 -v /home/pi/docker/containers/portainer/config:/data -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer --no-auth


docker run --name=muximux -p 82:80 -p 445:443 --restart=always -v /home/sysop/docker/containers/muximux/config:/config linuxserver/muximux

glances - console

#docker create --name=glances --restart=always -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host -it

glances - web

docker create --restart=always --name=glances -p 61208-61209:61208-61209 --restart=always -e GLANCES_OPT="-w" -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host

nana assistant:

docker create --name=nana-assistant --restart=always -v /home/sysop/nanassistant:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant

home assistant:

docker run -d --name=home-assistant --restart=always -v /home/sysop/homeassistant:/config -v /etc/localtime:/etc/localtime:ro --net=host --privileged -v /dev/ttyUSB0:/dev/ttyUSB0 homeassistant/home-assistant

docker run -d --name=appdaemon --restart=always -v /home/sysop/docker/containers/appdaemon/conf:/conf appdaemon:latest


docker create --name=hydra -p 5075:5075 --restart=always -e PGID=0 -e PUID=0 -e TZ=“America/New_York” -v /home/sysop/docker/containers/hydra/config:/config -v /home/sysop/docker/downloads:/downloads linuxserver/hydra



sudo mkdir -p /home/pi/docker/containers/mqtt/config
sudo mkdir -p /home/pi/docker/containers/mqtt/log
sudo mkdir -p /home/pi/docker/containers/mqtt/data/
sudo docker create --name mqtt -p 1883:1883 -p 9001:9001 --restart=always -ti -v /home/sysop/docker/containers/mqtt/config:/mqtt/config:ro -v /home/sysop/docker/containers/mqtt/log:/mqtt/log -v /home/sysop/docker/containers/mqtt/data/:/mqtt/data/ jonasheinisch/rpi-mqtt

sudo docker create --name mqtt -p 1883:1883 -p 9001:9001 --restart=always -ti -v /home/sysop/docker/containers/mqtt/config:/mqtt/config:ro -v /home/sysop/docker/containers/mqtt/log:/mqtt/log -v /home/sysop/docker/containers/mqtt/data/:/mqtt/data/ toke/mosquitto


docker create --name=homebridge --restart=always --net=host -e TZ=“America/New_York” -v /home/sysop/docker/containers/homebridge:/homebridge oznu/homebridge

docker create --name=homebridge --restart=always --net=host -e TZ=“America/New_York” -v /home/sysop/docker/containers/homebridge:/config moutten/homebridge


docker create --name nodered --restart=always -it -p 1880:1880 -v /home/sysop/docker/containers/node-red-data:/data -v /home/sysop/.ssh:/ssh nodered/node-red-docker


docker create --name motioneye --restart=always -p 8091:8081 -p 8765:8765 -e TIMEZONE=“America/New_York” -e PUID=“0” -e PGID=“0” -v /home/sysop/docker/containers/motioneye/media:/home/nobody/media -v /home/sysop/docker/containers/motioneye/config:/config jshridha/motioneye:latest


docker run -d --name mysql --restart=always -p 3306:3306 -v /home/sysop/docker/containers/mysql:/var/lib/mysql -e MYSQL_ROOT_HOST= -e MYSQL_ROOT_PASSWORD=stinkycemo mysql/mysql-server


docker create --name myadmin --restart=always --link mysql:db -p 8383:80 phpmyadmin/phpmyadmin


docker create --name influxdb --restart=always -p 8083:8083 -p 8086:8086 -v /home/sysop/docker/containers/influxdb:/var/lib/influxdb influxdb


docker create --name=grafana --restart=always -i -p 3000:3000 grafana/grafana

UI for docker

docker run --name=ui4docker --restart=always -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker


docker run -d --name=zoneminder --restart=always -p 89:80 --privileged=true -v /home/sysop/docker/containers/zoneminder/config:/config:rw -v /etc/localtime:/etc/localtime:ro aptalca/zoneminder-1.29


docker run -d --name=postgresdb --restart=always -v /home/sysop/docker/containers/postgresql/data:/var/lib/postgresql/data -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo postgres:9.4

-v /home/sysop/docker/containers/postgresql/data:/var/lib/postgresql/data

docker create --name=webmin --restart=always -p 10000:80 -v /home/sysop/docker/containers/webmin:/var/run/container-control tragus/webmin

docker start plex couchpotato plexpy radarr sonarr unifi openvpn-as observium crashplan nzbget muximux watchtower home-assistant glances headphones homebridge nodred hydra mqtt mysql myadmin influxdb
docker start openvpn-as observium crashplan muximux watchtower


docker run -d --restart=always -p 9080:80 --name partkeepr mhubig/partkeepr


docker run -d --restart=always --name=beets -v /home/sysop/docker/containers/beets/config:/config -v /mnt/media/Music:/music -v /home/sysop/docker/downloads/completed/Music:/downloads -p 1234:8337 linuxserver/beets

docker run -d --name docker-statsd-influxdb-grafana --restart=always -p 3003:3003 -p 3004:8083 -p 8086:8086 -p 22022:22 -p 8125:8125/udp samuelebistoletti/docker-statsd-influxdb-grafana:latest


docker run -d --name watchtower --restart=always -v /var/run/docker.sock:/var/run/docker.sock v2tec/watchtower

shairport jedberry

docker run -d --restart always --name shairport --net host --device /dev/snd -e AIRPLAY_NAME=JedBerry evansalter/shairport-sync-docker-pi

docker run -d --restart always --name shairport --net host --device /dev/snd -e AIRPLAY_NAME=Jungle evansalter/shairport-sync-docker-pi

shairport moberry

docker run -d --name shairport --restart=always --net host --device /dev/snd -e AIRPLAY_NAME=MoBerry luxus/rpi-docker-shairport-sync


docker create --name=musicbrainz --restart=always -e WEBADDRESS= -p 5500:5000 -v /home/sysop/docker/containers/musicbrainz/config:/config -v /home/sysop/docker/containers/musicbrainz/config:/data -e PGID=1000 -e PUID=1000 -e TZ=“America/New_York” -e BRAINZCODE= xxxxxxxxx linuxserver/musicbrainz


docker create --name=organizr -v /home/sysop/docker/containers/organizr/config:/config -e PGID=1000 -e PUID=1000 -p 83:80 lsiocommunity/organizr


docker create --name=openvpn-as --restart=always -v /home/sysop/docker/containers/openvpn-as/config:/config -e PGID=1000 -e PUID=1000 -e TIMEZONE=“America/New_York” -e INTERFACE=eth0 --net=host --privileged linuxserver/openvpn-as


docker run --name=“hadashboard” -d --restart=always -v /home/sysop/docker/containers/hadashboard/dashboards:/app/dashboards -v /home/sysop/docker/containers/hadashboard/lib/ha_conf.rb:/app/lib/ha_conf.rb -v /home/sysop/docker/containers/hadashboard/hapush:/app/hapush --net=host hadashboard


docker pull


docker run -d --restart=always -p 8086:8086 -v /home/sysop/docker/containers/influxdb:/var/lib/influxdb influxdb


docker run -d --restart=always -p 3001:3000 -v /home/sysop/docker/containers/grafana:/var/lib/grafana -e “GF_SECURITY_ADMIN_PASSWORD=8852363” grafana/grafana


docker run -d --name=kapacitor --restart=always -p 9092:9092 -v /home/sysop/docker/containers/kapacitor/conf:/etc/kapacitor -v /home/sysop/docker/containers/kapacitor/lib:/var/lib/kapacitor kapacitor


docker run -d --restart=always -p 8888:8888 -v /home/sysop/docker/containers/chronograf:/var/lib/chronograf chronograf


docker run -d --name=telegraf --net=influxdb -v /home/sysop/docker/containers/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro telegraf
docker run --restart=always --name=telegraf -v /home/sysop/docker/containers/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro telegraf


docker run -d --name gekko --restart=always -p 3005:3000 -v /home/sysop/docker/containers/gekko/history:/usr/src/gekko/history -v /home/sysop/docker/containers/gekko/config.js:/usr/src/gekko/config.js -v /home/sysop/docker/containers/gekko/web/vue:/usr/src/gekko/web/vue barnumd/gekko


I’ve just got HA running in Docker, but have zero experience of Docker. How do I run hass commands in a Docker environment (e.g. hass --script check_config to check my HA config?)

I’ve just got HA running in Docker, but have zero experience of Docker. How do I run hass commands in a Docker environment (e.g. hass --script check_config to check my HA config?)>

I agree i tried to bash into the container and couldnt accomplish.
Also if anyone knows how to get working w/ the reverse proxy/letsencrypt that’d be grand as well.

Portainer makes getting shell in docker container easy

Generally shell command is something like
sudo docker attach -it containername /bin/bash

I’m using portainer to manage all my docker containers, it’s been great. What’s the best way to backup all your container config so you can get them up an running if something happens to your host?

just started doing backups of my server last night after months of looking into solutions and putting it off.

rsync is the winner

I looked into bacula and it is super complex and slightly more than I need(by a lot).
I prefer command line for simplicity and other GUI options outside of bacula just seemed more complex than needed
“rysnc -a /pathto/orig_folder /pathto/ backup_folder” is all it takes and after doing my backup of my movie folder I realized this is more than enough

I plan to have a monthly backup thats replaced monthly and biannual replaced every six months of configs
I will have monthly of static items (movies, music, etc). These I will update new only, never delete or replace.
I have decided to eliminate Raid Array in favor of local and offisite backups. This adds drive space for me but provides better solution for recovery in case of failure.


You may want to look into rdiff-backup or backupninja (which uses rdiff-backup too) as they can do incremental/differential backups. I used to use crash plan for backups (more offsite than local) but after they ended the user plans I switched to duplicati. For the music/movies items I use greyhole with success.

I think all those are based off librsync (rsync). Rsync is differential backup.

I am looking into encrypted backup. This is not super critical since it’s just stuff like movies and non supersecret files but just for thoroughness I will be looking for encrypted backup solution.

Duplicity looks good. I saw this and think it may be good solution. I think running this in docker may be just the trick.

For backups I’d recommend Restic:

1 Like


I’m trying to move my zoneminder vm to a docker container but couldn’t find a good one. The one you are using is the 1.29 version. Did you get a newer one? thanks in advance!

p.s. it seems that there’s not a official docker file yet, and the ones i tried didn’t worked :-(.

you can try this one for the pi3, the dockerfile is also included so you can build one

thanks. Should this work on x86 too? perhaps changing to a debian repository?

How do you access the front end with portainer? I have it running, but can’t seem to get port 8123 working. I tried publish all exposed ports as well as mapping additional ports. Neither seemed to work.

Portainer is just managing your Docker containers. You don’t do anything with portainer to get home assistant front end to show.

port 9100 for portainer web Gui

Sorry if I wasn’t clear, I was asking how to access the home assistant front end once it was running in portainer. For some reason exposing port 8123 wasn’t working. After restarting a few times it seems to be working though.


Make sure you only have one container using port 8123.

It’s recommended to use net=host on home assistant Docker

1 Like