- Mitglied seit
- 14. Mai 2015
- Beiträge
- 37
- Punkte für Reaktionen
- 1
- Punkte
- 0
Hallo,
weil in einem anderen Thread gerade eine diesbezügliche Frage aufkam und ich selbst seit einiger Zeit viel mit Docker auf der DS arbeite, dachte ich vielleicht könnte man hier eine Übersicht über nützliche Images und wie man diese startet erstellen? Oder denkt ihr, so etwas wäre im Wiki besser aufgehoben? Dann würde ich das dort sammeln.
Ich habe mir angewohnt, Container über die Shell zu starten und zu aktualisieren weil dies schneller geht als über das Synology Docker UI und alle Optionen zur Verfügung stehen, also auch die die es evtl. noch nicht ins UI geschafft haben.
Dazu lege ich unter /volume1/docker/<containername> immer ein Verzeichnis an in dem ein Update-Skript nach folgendem Schema liegt:
Dadurch kann ich Container starten / aktualisieren indem ich das Skript via "sudo sh update-container.sh" aufrufe. Im Container-Verzeichnis lege ich gegebenenfalls weitere Unterverzeichnisse an die ich in den Container mappe um persistent Daten speichern zu können.
Folgende Docker Container laufen aktuell bei mir:
Home Assistant
https://home-assistant.io
Anmerkung: "/usr/syno/etc/certificate/system/default" mappe ich (read-only) auf "/certs" damit im Container das Let's Encrypt Zertifikat verwendet werden kann um Zugriffe von extern abzusichern.
Gitlab
https://about.gitlab.com
Gitlab Runner (Continous Integration)
https://docs.gitlab.com/runner/
Pi-Hole
https://pi-hole.net/
Anmerkung: Durch das Mappen des dnsmasq.d Verzeichnisses kann ich den DNS Server für mein LAN konfigurieren, das ist also optional.
TV Headend
https://tvheadend.org/
Dazu noch ein paar selbst geschriebene Rails-Apps die ich zum einfacheren Deployment ebenfalls in Container gesteckt habe. Dadurch hat man keine Abhängigkeiten im DSM und kann schnell mal verschiedene Images ausprobieren.
Indem man jedem Container einen eigenen Port gibt kann man über den Reverse Proxy von extern über eine Subdomain darauf zugreifen sofern dies gewünscht ist.
Vielleicht hilft das ja künftig dem ein oder anderen mit Docker loslegen zu können. Über Hinweise auf andere nützliche Images würde ich mich freuen (ich hab noch etwas RAM frei )
Viele Grüße,
Stefan
weil in einem anderen Thread gerade eine diesbezügliche Frage aufkam und ich selbst seit einiger Zeit viel mit Docker auf der DS arbeite, dachte ich vielleicht könnte man hier eine Übersicht über nützliche Images und wie man diese startet erstellen? Oder denkt ihr, so etwas wäre im Wiki besser aufgehoben? Dann würde ich das dort sammeln.
Ich habe mir angewohnt, Container über die Shell zu starten und zu aktualisieren weil dies schneller geht als über das Synology Docker UI und alle Optionen zur Verfügung stehen, also auch die die es evtl. noch nicht ins UI geschafft haben.
Dazu lege ich unter /volume1/docker/<containername> immer ein Verzeichnis an in dem ein Update-Skript nach folgendem Schema liegt:
Rich (BBCode):
docker pull <imagepath> # z.B. "gitlab/gitlab-ce:latest"
docker stop <containername> || true && docker rm <containername> || true # z.B. "gitlab"
<docker run ...> # s.-unten
Dadurch kann ich Container starten / aktualisieren indem ich das Skript via "sudo sh update-container.sh" aufrufe. Im Container-Verzeichnis lege ich gegebenenfalls weitere Unterverzeichnisse an die ich in den Container mappe um persistent Daten speichern zu können.
Folgende Docker Container laufen aktuell bei mir:
Home Assistant
https://home-assistant.io
Rich (BBCode):
docker run -d --name home-assistant --net=host --restart always -v /etc/localtime:/etc/localtime:ro -v /volume1/docker/homeassistant/config:/config -v /usr/syno/etc/certificate/system/default:/certs:ro -it -p 8181:8181 homeassistant/home-assistant:latest
Anmerkung: "/usr/syno/etc/certificate/system/default" mappe ich (read-only) auf "/certs" damit im Container das Let's Encrypt Zertifikat verwendet werden kann um Zugriffe von extern abzusichern.
Gitlab
https://about.gitlab.com
Rich (BBCode):
docker run --detach --hostname <domainname> --publish 3001:443 --publish 3000:80 --publish 3022:22 --publish 3101:3101 --name gitlab --restart always --volume /volume1/docker/gitlab/config:/etc/gitlab --volume /volume1/docker/gitlab/logs:/var/log/gitlab --volume /volume1/docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
Gitlab Runner (Continous Integration)
https://docs.gitlab.com/runner/
Rich (BBCode):
docker run -d --name gitlab-runner --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /volume1/docker/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner:latest
Pi-Hole
https://pi-hole.net/
Rich (BBCode):
docker run -d -p 53:53/tcp -p 53:53/udp -p 8080:80 --restart always --cap-add=NET_ADMIN -e ServerIP="<ip-adresse>" --name pi-hole --restart=always -v /volume1/docker/pi-hole/pihole.log:/var/log/pihole.log -v /volume1/docker/pi-hole/pihole/:/etc/pihole/ -v /volume1/docker/pi-hole/dnsmasq.d:/etc/dnsmasq.d diginc/pi-hole:latest
docker exec pi-hole pihole -a -p # entfernt das Admin-Passwort (Oberfläche ist nur aus dem LAN erreichbar)
Anmerkung: Durch das Mappen des dnsmasq.d Verzeichnisses kann ich den DNS Server für mein LAN konfigurieren, das ist also optional.
TV Headend
https://tvheadend.org/
Rich (BBCode):
docker run -d --name tvheadend --net=host --restart always -v /volume1/docker/tvheadend/config:/config -v /volume1/video/Recordings:/recordings -it -p 9981:9981 -p 9982:9982 -e TZ:"Europe/Berlin" linuxserver/tvheadend:latest
Dazu noch ein paar selbst geschriebene Rails-Apps die ich zum einfacheren Deployment ebenfalls in Container gesteckt habe. Dadurch hat man keine Abhängigkeiten im DSM und kann schnell mal verschiedene Images ausprobieren.
Indem man jedem Container einen eigenen Port gibt kann man über den Reverse Proxy von extern über eine Subdomain darauf zugreifen sofern dies gewünscht ist.
Vielleicht hilft das ja künftig dem ein oder anderen mit Docker loslegen zu können. Über Hinweise auf andere nützliche Images würde ich mich freuen (ich hab noch etwas RAM frei )
Viele Grüße,
Stefan