====== Chaotikum-Website ====== | Verantwortung | Malte | | Container | chaotikum-website | | W. Ports | keine | | OS | Debian 12.5 | | Server | [[infrastruktur:server:magrathea]] | | Zustand | Produktiv | {{tag>infrasystem container magrathea productive malte}} Dieser Container baut die Chaotikum-Website mit einem Gitlab-Runner und liefert sie mit nginx aus. ===== Services ===== ^ Serviceübersicht ^ Version ^ | nginx | 1.22.1-9 | | gitlab-runner | 17.0.0-1 | ===== Installations-Log ===== Visual-Mode in VIM deaktivieren: echo "set mouse-=a" >> ~/.vimrc [[https://docs.gitlab.com/runner/install/linux-repository.html|Install GitLab Runner using the official GitLab repositories]]: curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | bash apt install gitlab-runner gitlab-runner register Install Ruby für Jekyll: apt install ruby ruby-dev build-essentials libssl-dev gem install bundler Install nginx: apt install nginx Die Website wird über ''%%/etc/nginx/sites-enabled/default%%'' konfiguriert. Dort Fehlerseite ergänzen: location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; error_page 404 /404.html; } ===== Dependencies des CI-Skripts ===== Das Gitlab-CI-Skript der Website macht folgendes: * Website bauen * gebaute Webite nach ''%%/var/www/html%%'' kopieren Das Gitlab-CI-Skript installier die Dependencies nicht. Da das ein dedizierter Runner für genau diesen Zweck ist, sind die Dependencies im Container installiert. Dann müssen sie nicht bei jedem Build neu installiert werden. Zum Installieren von Jekyll muss die Website in diesem Container als root ausgechecked werden (oder aus dem Ordner ''/home/gitlab-runner/build/0/0/0/chaotikum/website'' kopiert werden), um dort ''bundle install'' auszuführen. Zum Installieren der Python-Dependencies muss ein virtual env angelegt werden: apt install python3.11-venv su gitlab-runner python3 -m venv /home/gitlab-runner/chaotikm-website-python-venv In diesem venv kann man jetzt Dependencies installieren. In den Kommentaren der ''.gitlab-ci.yml'' steht, welche es braucht: /home/gitlab-runner/chaotikm-website-python-venv/bin/pip install "requests==2.28.2" "icalendar==5.0.7" "xmltodict==0.13.0" "python-frontmatter==1.0.0" linkchecker ===== Wartung ===== In das Textfeld einfach das Datum der Wartung eintragen, am besten in der Form yyyy-mm-dd. {{NEWPAGE>infrastruktur:wartung:website#pagetemplates:wartungstemplate:website }} {{topic>:infrastruktur:wartung?wartungsfenster +website &nodate&nouser&desc&table}} ~~NOCACHE~~