/* Freifunk */ irgendwie landen die Termine noch nicht im Kalender, besser?
[stratum0-wiki.git] / Theodem.mw
1 {{Hardware
2 |kontakt=[[Benutzer:Emantor|Emantor]], [[Benutzer:chrissi^|chrissi^]]
3 |status=working
4 |ort=[[endor]]
5 |beschreibung=VM für [[Vorstand]]sfoo
6 |links=
7 }}
8
9 == SSH-Keys ==
10
11 -----BEGIN PGP SIGNED MESSAGE-----
12 Hash: SHA512
13
14 $ for i in /etc/ssh/ssh_host_*.pub; do ssh-keygen -lf $i; done
15 1024 ea:74:1e:22:63:7e:48:29:eb:60:c7:0c:2f:3c:56:60 /etc/ssh/ssh_host_dsa_key.pub (DSA)
16 256 ad:de:1a:1f:2b:8f:e4:5c:cb:72:0a:e2:f3:48:73:b1 /etc/ssh/ssh_host_ecdsa_key.pub (ECDSA)
17 256 2e:f0:ac:eb:83:6d:5c:5a:20:8f:8f:16:7a:8a:e9:13 /etc/ssh/ssh_host_ed25519_key.pub (ED25519)
18 2048 a3:28:ca:9f:9a:f5:ee:b7:5e:13:7a:9d:35:db:94:ca /etc/ssh/ssh_host_rsa_key.pub (RSA)
19 -----BEGIN PGP SIGNATURE-----
20 Version: GnuPG v2
21
22 iQIcBAEBCgAGBQJXeHGPAAoJELJBPGbdLD/qO2QP/1ATa80NxMB5CHzpyWBq3tqV
23 zZYMAH2Hx1CQWZDQ/ATTfzt4duGL9REOVlkWIjsYlIEKgCSWT5vv9fuuDJIbKjfj
24 otPgB7SHZ5J9O4HtduneKNxWFb2VQvZiW7GD0Rrps2WD7PHtHmF2BjjkemWwkL1a
25 9AdpxxHfUB8Jr+06ciIe/z94mFlCPpr4phe1HW5WvPP/AlrIf+GYVCZL3J3FIcxh
26 HUGcykabjAoYhW6LDKL8ovVJkn8tf38D3LUJv7fePOGb9SFk/xf6JO30mveIRChz
27 pMUhyqPg6/qlZ4itxzFAzYs61hovK8PnD6eBk87PtJS2GE5jWnMmyO2y2xmQpGQH
28 c10Zq477R6useUDjc7xq/R6Ays5wM6extw8KA5UrQRikifA0yS0MdVnlqWbTufYj
29 9mlV0BBGPYN/zA55ui/mp2cDA9ph5/m+ZM5AC3mh8jxYMTWPEUBhCAK4UWfYjDy3
30 W6aX/WxV+hcQAivG1K97Skd3DIdSsokCVFoYrJMJ8SvVmI3kTTZL5AwcmW4A1s8A
31 fW5Oq2kIc5h6indDyy8tgN3dQodMWl5Nd5okEomCaIiT4YFMP65k5rZMLA8PE9Fv
32 JVYo/6IA7M+8qs5/hMVAbSNqZnm1CntgKNmSM2T8OWlyNyuxzb1AR2lM2CdIcrFf
33 tsFJqwX82h1NsOre6Lec
34 =OiC3
35 -----END PGP SIGNATURE-----
36
37 == Doku ==
38 * Debian stretch, systemd
39 * 512 MB RAM
40 * 6 GB Platte
41 * 2 CPU-Kerne
42 * Netzwerk intern, statisch via /etc/systemd/network/eth0.network
43
44 * gitolite3 in <tt>/var/lib/gitolite3/</tt>, user <tt>git</tt>
45 * <tt>s0v-finanzen</tt>-Repo:
46 ** post-receive-Hook ist manuell im Repository angelegt, delegiert an
47 *** <tt>/var/lib/gitolite3/scripts/jverein-finance-report/hook.sh</tt>
48 **** benutzt virtualenv unter <tt>/var/lib/gitolite3/scripts/jverein-finance-report/venv</tt>
49 *** <tt>/var/lib/gitolite3/scripts/jverein-regressionstests/run_tests.sh</tt>
50 **** Verschickt die Reports an: <tt>rou***@c*.de, chr***@t*.de</tt>
51 * SSH via Port-Forwarding von [[gandolf]], Port 2222
52 * Alle Dateien in <tt>/var/www/html</tt> werden auf [[regolas]] gesynct, sobald die Datei <tt>/var/www/html/.dirty</tt> angelegt wird (z.B. durch Ausführen von <tt>/usr/local/bin/regolas-rsync</tt>, was auch stündlich als Cronjob geschieht). Die Dateien sind damit unter https://data.stratum0.org erreichbar.
53
54 === Skripte etc ===
55 /home/regolas-rsync/bin/regolas-rsync:
56 #!/bin/sh
57 rsync \
58 --recursive --delete --stats \
59 --chmod=D2755,F644 \
60 --exclude='.*' \
61 /var/www/html/ theodem-rsync@regolas:/var/www/data.stratum0.org/ | \
62 sed 's/^/regolas-rsync: /'
63
64 /etc/systemd/system/regolas-rsync.service:
65 [Unit]
66 Description=rsync everything from /var/www/html to regolas
67 Requires=network.target
68
69 [Service]
70 User=regolas-rsync
71 Group=www-data
72 ExecStart=/bin/sh -c ' \
73 while true; do \
74 if [ -r /var/www/html/.dirty ]; then \
75 /home/regolas-rsync/bin/regolas-rsync; \
76 rm -f /var/www/html/.dirty; \
77 fi; \
78 sleep 1; \
79 done'
80 Restart=always
81
82 [Install]
83 WantedBy=multi-user.target
84
85 === Services ===
86 * [https://data.stratum0.org/finanz/ Finanzreport] (Schatzmeister)
87 ** Git-Hook in /var/lib/gitolite3/repositories/s0v-finanzen.git/hooks/post-receive
88
89
90 ==== SSH-Config ====
91 Die folgende ~/.ssh/config ist ein Beispiel, wie theodem erreicht werden kann.
92
93 Host theodem
94 User chrissi
95 Port 2222
96 HostName theodem.stratum0.org
97
98 ==== gitolite ====
99
100 ===== Übersicht der eigenen Repositories =====
101
102 Man kann sich alle Repositories anzeigen lassen, auf die man zugriff hat:
103
104 $ ssh git@theodem
105
106 hello chrissi, this is git@theodem running gitolite3 3.6.6-1 (Debian) on git 2.11.0
107
108 R W gitolite-admin
109 R W s0v-dokumente
110 R W s0v-finanzen
111 R W s0v-mails2011
112 R W s0v-mails2012
113 R W s0v-mails2013
114 R W s0v-mails2014
115 R W s0v-mails2015
116 R W s0v-mails2016
117 R W s0v-mails2017
118 R W s0v-mails2018
119 R W s0v-mails2019
120
121 ===== Repository klonen =====
122 Die URL eines Repositories ergibt sich aus seinem Namen und der Basisurl:
123
124 git@theodem:<Name>
125
126 z.B.:
127 git@theodem:s0v-dokumente
128 [[Kategorie:Virtuelle Maschine]]
129 [[Kategorie:Infrastruktur]]
This page took 0.050687 seconds and 5 git commands to generate.