Voraussetzungen: docker
, docker-compose
, ruby
.
Zum lokal ausprobieren einfach folgende Variable in ~/.bashrc
setzen:
export QTS_DEVELOPMENT=1
Dann die credentials.template.rb
unter credentials.rb
speichern und eigene Werte einsetzen. Außerdem muss die src/ruby/invitations.template.txt
als src/ruby/invitations.txt
gespeichert werden und es sollte auch eine E-Mail-Adresse drinstehen.
Start mit:
./config.rb build
./config.rb up
config.rb
schreibt die Datei docker-compose.yaml
und ruft anschließend docker-compose
mit den übergebenen Argumenten auf. Die Seite läuft dann unter http://localhost:8020
, Neo4j unter http://localhost:8021
.
In einer Development Umgebung werden zum Einloggen keine E-Mails verschickt. Stattdessen werden die E-Mails auf der Kommandozeile ausgegeben, so kann der normale Login Prozess getestet werden. Alternativ können auch die folgenden Credentials genutzt werden:
Nutzername: fs@hackschule.de
Code: 123456
Im Folgenden eine Schritt für Schritt Anleitung, wie das hackschule Projekt unter einem frisch installierten Ubuntu 20.04 installiert wird.
Zunächst müssen ein paar Abhängigkeiten installiert werden:
sudo apt update && sudo apt install git docker-compose ruby
Danach kann das aktuelle Hackschulen Repository geklont werden:
git clone https://github.com/specht/hackschule.git
Dadurch wird der gesamte Code heruntergeladen und im aktuellen Verzeichnis unter hackschule
abgelegt.
Damit hackschule im Entwicklungsmodus (Development) ausgeführt wird, muss dies entsprechend konfiguriert werden.
Dafür wird eine Umgebungsvariable genutzt.
Um diese Umgebungsvariable automatisch zu setzen, wird sie in die Konfigurationsdatei .bashrc
geschrieben:
echo "export QTS_DEVELOPMENT=1" >> ~/.bashrc
Alternativ kann diese Umgebungsvariable auch jedes mal von Hand gesetzt werden, dann entfällt der Eintrag in die .bashrc
.
Als nächstes müssen die beiden Konfigurationsdateien erstellt und ggf. angepasst werden.
Wir wechseln zunächst ins hackschule Verzeichnis:
cd hackschule
und kopieren dort die mitgelieferten Vorlagen:
cp credentials.template.rb credentials.rb
und
cp src/ruby/invitations.template.txt src/ruby/invitations.txt
In der credentials.rb
können die notwenidigen Einstellungen für den E-Mail Versand, und die Einstellungen zum automatischen Beschaffen eines letsencrypt TLS Zertifikats konfiguriert werden. Beides ist für den Betrieb im Development Modus nicht erforderlich.
In der invitations.txt
kann konfiguriert werden, wer Zugriff auf die lokale Instanz der hackschule haben soll. Für den Testbetrieb ist auch dies zunächst nicht notwendig, da Development Modus feste Zugangsdaten zur Verfügung stehen:
Nutzername: fs@hackschule.de
Code: 123456
Die hackschule nutzt mehrere docker container.
Um diese vom aktuellen Nutzer aus verwalten zu können, muss dieser in die docker
Gruppe aufgenommen werden:
sudo usermod -aG docker $(whoami)
Diese Änderung wird erst nach einem Aus- und Wiedereinloggen des Nutzers aktiv.
Danach kann die hackschule in Betrieb genommen werden. Beim ersten Aufruf muss sich diese zunächst selbst konfigurieren und die benötigten docker Container aufsetzen. Dies wird durch den Befehl
./config.rb build
angestoßen. Nach einiger Zeit ist die hackschule nun bereit für das erste Ausführen:
./config.rb up
Nach kurzer Zeit sollte die hackschule gestartet sein. Sie ist dann unter localhost:8020 über den Webbrowser erreichbar.