Host:Dockerserver: Difference between revisions

From Chaosdorf Wiki
Jump to navigation Jump to search
(certbot)
m (dist-upgrade)
(4 intermediate revisions by the same user 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 15: Line 15:
|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,readonly=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 -p 4000:5000 --mount type=bind,source=(pwd)/docker-stacks/configs/fftalks.cfg,destination=/etc/freitagsfoo-web.cfg,readonly=true --mount type=bind,source=(pwd)/fftalks-secrets,destination=/run/secrets,readonly=true 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/app/data --mount type=bind,source=(pwd)/docker-stacks/configs/telemete.toml,destination=/etc/telemete.toml,readonly=true --mount type=bind,source=(pwd)/telemete-secrets,destination=/run/secrets,readonly=true ytvwld/telemete
  systemctl start telemete.service
 
== mete ==
 
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):
 
erst [https://gist.github.com/YtvwlD/762759e67eba7d184f3a65667bd27753 diesen Patch] anwenden
 
  ssh -L localhost:5732:localhost:2375 root@dockerserver -N &
  docker-compose -H tcp://localhost:5732 pull
  env SENTRY_DSN=blargh docker-compose -H tcp://localhost:5732 up --no-start
  <warten>
  fg
  ^C
  systemctl -H root@dockerserver start mete.target
 
== chaospizza ==
 
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 &
  docker-compose -H tcp://localhost:5732 -f chaospizza.yml -p chaospizza pull
  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
 
== certbot aktualisieren ==
 
Die TLS-Zertifikate werden automatisch aktualisiert (certbot.service / .timer), aber auch certbot bekommt Updates.
 
  ./certbot-auto -h # installiert möglicherweise Updates, zeigt dann die Hilfe an
  # wenn Updates installiert wurden:
  cd /opt/eff.org/certbot
  . venv/bin/activate.fish
  pip install certbot-dns-cloudflare
  deactivate

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