Host:Dockerserver: Difference between revisions

From Chaosdorf Wiki
Jump to navigation Jump to search
(telemete: PR 7)
m (dist-upgrade)
(11 intermediate revisions by 2 users not shown)
Line 2: Line 2:
|name=dockerserver
|name=dockerserver
|description=Docker-Instanzen
|description=Docker-Instanzen
|os=Debian 9.8
|os=Debian 10.0
|location=Host:Helios
|location=Host:Helios
|purpose=Container hosten
|purpose=Container hosten
Line 12: Line 12:
|ownership=virtual
|ownership=virtual
|use=ask
|use=ask
|admins=nomaster, ytvwld, marudor
|admins=magluz, marudor, nomaster, xchange, ytvwld
|netbox_url=https://netbox.chaosdorf.space/virtualization/virtual-machines/1/
|netbox_url=https://netbox.chaosdorf.space/virtualization/virtual-machines/1/
}}
}}
== Prittstift aktualisieren ==


    docker pull telegnom/labello
== Wie bekomme ich meine Software da drauf? ==
    systemctl stop prittstift.service
    docker rm prittstift
    docker create --name prittstift --env-file prittstift.env -p 8001:8000 -v prittstift:/opt/labello/fonts telegnom/labello download_font
    systemctl start prittstift.service


== Labello aktualisieren ==
Schreib ein docker-compose-File und mach einen Pull Request in https://github.com/chaosdorf/docker-stacks auf.
Beachte bitte auch [[Software#HowTo]].
(Sollte deine Anwendung komplexen Netzwerk-Foo machen und nicht einfach nur ein TCP-Client bzw. -Server sein, gehen auch Deployments außerhalb von docker swarm. Sprich dazu (und allgemein bei Fragen) eine der Personen aus der Infobox an.)


    docker pull chaosdorf/labello
== Cheatsheet für Admins ==
    systemctl stop labello.service
    docker rm labello
    docker create --name=labello -p 127.0.0.1:8000:8000 --env-file=labello.env chaosdorf/labello
    systemctl start labello.service


== mpd2mqtt aktualisieren ==
=== shairplay aktualisieren ===


    docker pull chaosdorf/mpd-mqtt-gateway
docker pull chaosdorf/shairplay
    systemctl stop mpd2mqtt.service
systemctl stop shairplay.service
    docker rm mpd2mqtt
docker rm shairplay
    docker create --name mpd2mqtt --dns=172.22.26.9 --env-file=mpd2mqtt.env chaosdorf/mpd-mqtt-gateway
docker create --name shairplay --dns=172.22.26.9 --network host --env-file shairplay.env chaosdorf/shairplay
    systemctl start mpd2mqtt.service
systemctl start shairplay.service


== dashpi aktualisieren ==
=== alles andere aktualisieren ===


    docker pull chaosdorf/dashpi:latest
cd docker-stacks
    systemctl stop dashpi.service
git pull --ff
    docker rm dashpi
./deploy-stacks.sh
    docker create --name dashpi -p 3030:3030 --dns=172.22.26.9 --env-file=dashpi.env --mount type=bind,source=(pwd)/dashpi-secrets,destination=/run/secrets,read-only=true chaosdorf/dashpi:latest
    systemctl start dashpi.service
 
== shairplay aktualisieren ==
 
    docker pull chaosdorf/shairplay
    systemctl stop shairplay.service
    docker rm shairplay
    docker create --name shairplay --dns=172.22.26.9 --network host --env-file shairplay.env chaosdorf/shairplay
    systemctl start shairplay.service
 
== pulseweb aktualisieren ==
 
  docker pull chaosdorf/pawebcontrol
  systemctl stop pulseweb.service
  docker rm pulseweb
  docker create --name pulseweb --dns 172.22.26.9 -p 8080:8080 --env-file pulseweb.env chaosdorf/pawebcontrol
  systemctl start pulseweb.service
 
== ympd aktualisieren ==
 
  docker pull chaosdorf/ympd
  systemctl stop ympd.service
  docker rm ympd
  docker create --name ympd --dns 172.22.26.9 -p 8082:8080 chaosdorf/ympd
  systemctl start ympd.service
 
== fftalks aktualisieren ==
 
  docker pull chaosdorf/freitagsfoo-web
  systemctl stop fftalks.service
  docker rm fftalks
  docker create --name fftalks --env-file fftalks.env -p 4000:5000 -v (pwd)/fftalks.cfg:/etc/freitagsfoo-web.cfg chaosdorf/freitagsfoo-web
  systemctl start fftalks.service
 
== telemete aktualisieren ==
 
  docker pull ytvwld/telemete # vorher bauen und pushen
  systemctl stop telemete.service
  docker rm telemete
  docker create --name telemete --env-file telemete.env -v (pwd)/telemete-data:/usr/src/data -v (pwd)/telemete.toml:/etc/telemete.toml --mount type=bind,source=(pwd)/telemete-secrets,destination=/run/secrets,read-only=true ytvwld/telemete
  systemctl start telemete.service
 
== mete ==
 
Vorher sollten auf dem Dockerserver die folgenden Images geupdated werden:
 
  docker pull chaosdorf/mete
  docker pull postgres:10-alpine
  docker pull nomaster/postgres-backup
 
(Bin ich doof oder gibt es kein build --pull in docker-compose?)
 
Mete läuft über docker-compose, allerdings nicht vom Dockerserver aus. Die folgenden Befehle müssen also '''lokal''' im Verzeichnis mit dem Compose-File ausgeführt werden (und setzen funktionierende Tools voraus):
 
  ssh -L localhost:5732:localhost:2375 root@dockerserver -N &
  env SENTRY_DSN=blargh docker-compose -H tcp://localhost:5732 up --no-start
  <warten>
  fg
  ^C
  systemctl -H root@dockerserver start mete.target
 
== chaospizza ==
 
Vorher muss auf dem Dockerserver die Anwendung und die Abhängigkeiten geupdated werden:
 
  docker pull chaosdorf/chaospizza
  docker pull postgres:9.6
  docker pull nomaster/postgres-backup
 
Chaospizza läuft über docker-compose, allerdings nicht vom Dockerserver aus. Die folgenden Befehle müssen also '''lokal''' im Verzeichnis mit dem docker-compose-File ausgeführt werden (und setzen funktionierende Tools voraus):
 
  ssh -L localhost:5732:localhost:2375 root@dockerserver -N &
  env SENTRY_DSN=foo docker-compose -H tcp://localhost:5732 -f chaospizza.yml -p chaospizza up --no-start
  <warten>
  fg
  ^C
  systemctl -H root@dockerserver start chaospizza.target

Revision as of 17:29, 8 August 2019

dockerserver
Docker-Instanzen
Ort Host:Helios
Zweck Container hosten
OS Debian 10.0
Disks 250GB250,000 MB <br />250,000,000 kB <br />0.25 TB <br />
RAM 4GiB4,096 MiB <br />4,194,304 kiB <br />4,294,967,296 B <br />0.00391 TiB <br />4,294.967 MB <br />
Admin-Toolkit Yes
PAM? Yes
SSH user login? No
Besitzstatus virtuell
Benutzung Nachfragen
Admins magluz, marudor, nomaster, xchange, ytvwld
NetBox URL [1]


Wie bekomme ich meine Software da drauf?

Schreib ein docker-compose-File und mach einen Pull Request in https://github.com/chaosdorf/docker-stacks auf. Beachte bitte auch Software#HowTo. (Sollte deine Anwendung komplexen Netzwerk-Foo machen und nicht einfach nur ein TCP-Client bzw. -Server sein, gehen auch Deployments außerhalb von docker swarm. Sprich dazu (und allgemein bei Fragen) eine der Personen aus der Infobox an.)

Cheatsheet für Admins

shairplay aktualisieren

docker pull chaosdorf/shairplay
systemctl stop shairplay.service
docker rm shairplay
docker create --name shairplay --dns=172.22.26.9 --network host --env-file shairplay.env chaosdorf/shairplay
systemctl start shairplay.service

alles andere aktualisieren

cd docker-stacks
git pull --ff
./deploy-stacks.sh