Personal Website, vers. 1 (pushed far to late)
No files matched your search
@@ -0,0 +1,61 @@
|
||||
kicker:
|
||||
de: Informatik · Server-Administration · Homelab
|
||||
en: Computer science · Server administration · Homelab
|
||||
|
||||
lead:
|
||||
de: Ich studiere Informatik und helfe bei der Administration eines Roleplay-Servers. Zu Hause betreibe ich ein Homelab und schreibe kleine Skripte für alles, was ich nicht ständig von Hand machen will.
|
||||
en: I study computer science and help run the servers of a roleplay community. At home I keep a homelab going and write small scripts for anything I don't want to keep doing by hand.
|
||||
|
||||
# visual: server, homelab, scripts, study oder video (die Grafik in der Kachel)
|
||||
# link: eine Seite (homelab, journey, contact) oder portfolio?tag=...
|
||||
areas:
|
||||
- visual: server
|
||||
title:
|
||||
de: RP-Server-Administration
|
||||
en: Roleplay server admin
|
||||
text:
|
||||
de: Ich helfe dabei, einen Roleplay-Server zu betreiben. Dazu gehören Updates, Fehlersuche und Absprachen mit dem restlichen Team, wenn etwas nicht so läuft wie geplant.
|
||||
en: I help run a roleplay server. That means updates, troubleshooting and working things out with the rest of the team when something doesn't behave.
|
||||
link: portfolio?tag=server
|
||||
|
||||
- visual: homelab
|
||||
title: Homelab
|
||||
text:
|
||||
de: Ein paar Rechner, Docker und ein Reverse Proxy. Hier probiere ich neue Dienste aus und mache meine Fehler dort, wo sie niemandem schaden.
|
||||
en: A few machines, Docker and a reverse proxy. This is where I try out new services and make my mistakes where they don't hurt anyone.
|
||||
link: homelab
|
||||
|
||||
- visual: scripts
|
||||
title:
|
||||
de: Skripte & Tools
|
||||
en: Scripts & tools
|
||||
text:
|
||||
de: Kleine Helfer für wiederkehrende Aufgaben. Meistens unspektakulär, aber sie nehmen mir jede Woche ein bisschen Arbeit ab.
|
||||
en: Small helpers for recurring chores. Mostly unspectacular, but they take a bit of work off my plate every week.
|
||||
link: portfolio?tag=scripts
|
||||
|
||||
- visual: study
|
||||
title:
|
||||
de: Informatik-Studium
|
||||
en: Computer science
|
||||
text:
|
||||
de: Theorie, Mathe und viel Programmierung. Einiges davon begegnet mir im Homelab wieder, nur mit echten Fehlermeldungen.
|
||||
en: Theory, maths and a lot of programming. Some of it shows up again in my homelab, just with real error messages.
|
||||
link: journey
|
||||
|
||||
- visual: video
|
||||
title:
|
||||
de: Videoschnitt
|
||||
en: Video editing
|
||||
text:
|
||||
de: Nebenbei versuche ich mich am Videoschnitt. Ich lerne noch, aber an Timing und Ton zu feilen, bis ein Schnitt sitzt, macht mir Spaß.
|
||||
en: On the side I'm learning video editing. I'm still at it, but tweaking timing and sound until a cut feels right is fun.
|
||||
link: portfolio?tag=video
|
||||
|
||||
contact:
|
||||
title:
|
||||
de: Suchst du jemanden für die IT?
|
||||
en: Looking for someone in IT?
|
||||
text:
|
||||
de: Ich suche eine Stelle in der IT, am liebsten in der Administration, im Support oder dort, wo sich etwas automatisieren lässt. Schreib mir, wenn das zu euch passt.
|
||||
en: I'm looking for a job in IT, ideally in administration, support or anywhere things can be automated. Get in touch if that fits your team.
|
||||
@@ -0,0 +1,44 @@
|
||||
# Solange draft: true gesetzt ist, ist die Homelab-Seite nur lokal sichtbar
|
||||
draft: true
|
||||
|
||||
hardware:
|
||||
- name: Server
|
||||
role:
|
||||
de: Docker-Host
|
||||
en: Docker host
|
||||
specs:
|
||||
- CPU
|
||||
- RAM
|
||||
- de: Speicher
|
||||
en: Storage
|
||||
|
||||
services:
|
||||
- group:
|
||||
de: Infrastruktur
|
||||
en: Infrastructure
|
||||
items:
|
||||
- name: Dockge
|
||||
text:
|
||||
de: Verwaltet die Docker-Compose-Stacks
|
||||
en: Manages the Docker Compose stacks
|
||||
- name: Nginx Proxy Manager
|
||||
text:
|
||||
de: Reverse Proxy und TLS-Zertifikate
|
||||
en: Reverse proxy and TLS certificates
|
||||
|
||||
- group:
|
||||
de: Entwicklung
|
||||
en: Development
|
||||
items:
|
||||
- name: Git-Server
|
||||
url: https://git.harlelux.de
|
||||
text:
|
||||
de: Meine Repositories, auch das dieser Seite
|
||||
en: My repositories, including the one for this site
|
||||
|
||||
- group: Web
|
||||
items:
|
||||
- name: lux.harlelux.de
|
||||
text:
|
||||
de: Diese Seite
|
||||
en: This site
|
||||
@@ -0,0 +1,29 @@
|
||||
# Neueste Einträge zuerst.
|
||||
# from/to: Jahr (2024) oder Monat (2024-10). Für laufende Sachen ongoing: true statt to.
|
||||
# type: edu, work oder project (bestimmt nur die Farbe des Punkts)
|
||||
# draft: true blendet einen Eintrag online aus
|
||||
|
||||
entries:
|
||||
- title:
|
||||
de: Informatik-Studium
|
||||
en: Computer science degree
|
||||
type: edu
|
||||
from: 2024
|
||||
ongoing: true
|
||||
draft: true
|
||||
|
||||
- title:
|
||||
de: Administration eines Roleplay-Servers
|
||||
en: Administration of a roleplay server
|
||||
type: work
|
||||
from: 2024
|
||||
ongoing: true
|
||||
draft: true
|
||||
|
||||
- title:
|
||||
de: Eigenes Homelab
|
||||
en: My own homelab
|
||||
type: project
|
||||
from: 2023
|
||||
ongoing: true
|
||||
draft: true
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Homelab
|
||||
lead: Was bei mir zu Hause läuft und wofür. Das meiste davon bräuchte ich nicht, aber ich lerne dabei mehr als aus jedem Tutorial.
|
||||
---
|
||||
|
||||
## Was ich dabei gelernt habe
|
||||
|
||||
Hier kommt rein, was im Homelab schiefgegangen ist und was ich daraus mitgenommen habe. Konkrete Beispiele sind besser als allgemeine Aussagen, zum Beispiel ein Update, das etwas kaputt gemacht hat, und wie ich es wieder hinbekommen habe.
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Homelab
|
||||
lead: What runs at my place and what it's for. I wouldn't strictly need most of it, but I learn more from it than from any tutorial.
|
||||
---
|
||||
|
||||
## What I learned along the way
|
||||
|
||||
This is where the things that went wrong in the homelab go, and what I took away from them. Concrete examples work better than general statements, for example an update that broke something and how I got it running again.
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
title: Werdegang
|
||||
lead: Wer ich bin, was ich bisher gemacht habe und womit ich mich auskenne.
|
||||
---
|
||||
|
||||
Ich bin Lux und studiere Informatik. Neben dem Studium helfe ich bei der Administration eines Roleplay-Servers und betreibe zu Hause ein Homelab, in dem ich neue Dienste ausprobiere, bevor ich ihnen vertraue.
|
||||
|
||||
Am meisten Spaß macht mir Arbeit, bei der am Ende etwas zuverlässig läuft. Ein Dienst läuft oder er läuft nicht, und wenn nicht, gibt es einen Grund, den man finden kann.
|
||||
|
||||
Ab und zu schneide ich Videos. Das ist eine andere Art von Basteln, bei der es ebenfalls um Details geht, die am Ende niemandem auffallen sollen.
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
title: Journey
|
||||
lead: Who I am, what I've done so far and what I know my way around.
|
||||
---
|
||||
|
||||
I'm Lux and I study computer science. Alongside my degree I help administer a roleplay server, and at home I run a homelab where I try out new services before I trust them.
|
||||
|
||||
I enjoy work most when something runs reliably at the end of it. A service either works or it doesn't, and if it doesn't, there's a reason you can track down.
|
||||
|
||||
Every now and then I edit videos. It's a different kind of tinkering, but it's also about details nobody should notice in the end.
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: Datenschutzerklärung
|
||||
lead: Wer hier welche Daten verarbeitet und warum. Kurz gesagt so wenig wie möglich.
|
||||
---
|
||||
|
||||
## Verantwortlich
|
||||
|
||||
Vorname Nachname<br>
|
||||
Straße Hausnummer<br>
|
||||
PLZ Ort<br>
|
||||
E-Mail: name@example.org
|
||||
|
||||
## Beim Aufruf der Seite
|
||||
|
||||
Wenn du diese Seite aufrufst, verarbeitet der Server technisch notwendige Daten: deine IP-Adresse, Datum und Uhrzeit, die aufgerufene Adresse, den Browser-Typ (User-Agent) und den HTTP-Statuscode. Das ist nötig, um die Seite auszuliefern und den Betrieb abzusichern. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. Die Protokolle werden nach [Anzahl] Tagen gelöscht.
|
||||
|
||||
## Cookies, Tracking und Drittanbieter
|
||||
|
||||
Diese Seite setzt keine Cookies und verwendet keine Tracking- oder Analyse-Werkzeuge. Schriftarten, Skripte und Bilder kommen von diesem Server, nicht von Drittanbietern. Einzige Ausnahme sind YouTube-Videos, siehe unten.
|
||||
|
||||
## Kontaktformular
|
||||
|
||||
Wenn du das Kontaktformular nutzt, werden Name, E-Mail-Adresse und Nachricht per E-Mail an mich weitergeleitet. Ich nutze die Angaben nur, um deine Anfrage zu beantworten. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO, wenn es um eine Bewerbung oder eine mögliche Zusammenarbeit geht, ansonsten Art. 6 Abs. 1 lit. f DSGVO. Auf dem Webserver selbst wird die Nachricht nicht gespeichert. Die E-Mail lösche ich, sobald sie nicht mehr gebraucht wird.
|
||||
|
||||
Für den Versand nutze ich den E-Mail-Dienst [Anbieter].
|
||||
|
||||
Zum Schutz vor Missbrauch zählt der Server, wie viele Nachrichten von einer IP-Adresse kommen. Dieser Zähler liegt nur im Arbeitsspeicher und wird nach einer Stunde verworfen.
|
||||
|
||||
## YouTube-Videos
|
||||
|
||||
Manche Projektseiten enthalten Videos von YouTube. Sie werden erst geladen, wenn du auf „Video laden“ klickst. Erst dann wird eine Verbindung zu YouTube (Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland) aufgebaut, dabei werden unter anderem deine IP-Adresse und gegebenenfalls Cookies übertragen. Eingebunden wird der erweiterte Datenschutzmodus über youtube-nocookie.com. Rechtsgrundlage ist deine Einwilligung durch den Klick (Art. 6 Abs. 1 lit. a DSGVO). Details stehen in der [Datenschutzerklärung von Google](https://policies.google.com/privacy).
|
||||
|
||||
## Deine Rechte
|
||||
|
||||
Du hast das Recht auf Auskunft (Art. 15 DSGVO), Berichtigung (Art. 16), Löschung (Art. 17), Einschränkung der Verarbeitung (Art. 18), Datenübertragbarkeit (Art. 20) und Widerspruch (Art. 21). Außerdem kannst du dich bei einer Datenschutz-Aufsichtsbehörde beschweren, zum Beispiel bei der deines Bundeslandes.
|
||||
|
||||
Stand: Oktober 2026
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: Privacy policy
|
||||
lead: Who processes which data here and why. In short, as little as possible.
|
||||
---
|
||||
|
||||
The German version of this policy is the binding one. This translation is provided for convenience.
|
||||
|
||||
## Controller
|
||||
|
||||
First name Last name<br>
|
||||
Street and number<br>
|
||||
Postcode, city<br>
|
||||
Email: name@example.org
|
||||
|
||||
## When you visit this site
|
||||
|
||||
When you open this site, the server processes technically necessary data: your IP address, date and time, the requested address, your browser type (user agent) and the HTTP status code. This is needed to deliver the site and keep it secure. The legal basis is Art. 6(1)(f) GDPR. Logs are deleted after [number] days.
|
||||
|
||||
## Cookies, tracking and third parties
|
||||
|
||||
This site doesn't set cookies and doesn't use any tracking or analytics tools. Fonts, scripts and images are served from this server, not from third parties. The only exception are YouTube videos, see below.
|
||||
|
||||
## Contact form
|
||||
|
||||
If you use the contact form, your name, email address and message are forwarded to me by email. I only use them to reply to your request. The legal basis is Art. 6(1)(b) GDPR when it's about a job application or a possible collaboration, otherwise Art. 6(1)(f) GDPR. The message is not stored on the web server itself. I delete the email once it's no longer needed.
|
||||
|
||||
Emails are sent through [provider].
|
||||
|
||||
To prevent abuse, the server counts how many messages come from an IP address. This counter only lives in memory and is discarded after one hour.
|
||||
|
||||
## YouTube videos
|
||||
|
||||
Some project pages contain YouTube videos. They are only loaded after you click "Load video". Only then does your browser connect to YouTube (Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland), which transfers your IP address and possibly cookies, among other things. Videos are embedded in privacy-enhanced mode via youtube-nocookie.com. The legal basis is your consent given by clicking (Art. 6(1)(a) GDPR). See [Google's privacy policy](https://policies.google.com/privacy) for details.
|
||||
|
||||
## Your rights
|
||||
|
||||
You have the right to access (Art. 15 GDPR), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18), data portability (Art. 20) and to object (Art. 21). You can also lodge a complaint with a data protection supervisory authority.
|
||||
|
||||
Last updated: October 2026
|
||||
|
After Width: | Height: | Size: 95 KiB |
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Mein Homelab
|
||||
summary: Docker-Host mit Dockge, Nginx Proxy Manager und eigenem Git-Server.
|
||||
---
|
||||
|
||||
Hier beschreiben, wie das Homelab aufgebaut ist: welche Hardware, welches Betriebssystem, wie die Dienste verteilt sind und wie Updates und Backups laufen.
|
||||
|
||||
Bilder einfach in diesen Ordner legen und mit `` einbinden.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: My homelab
|
||||
summary: Docker host with Dockge, Nginx Proxy Manager and a self-hosted Git server.
|
||||
---
|
||||
|
||||
Describe how the homelab is set up: hardware, operating system, how services are split up and how updates and backups work.
|
||||
@@ -0,0 +1,11 @@
|
||||
draft: true
|
||||
date: 2026-09
|
||||
tags: [homelab, docker, linux]
|
||||
featured: true
|
||||
cover: cover.jpg
|
||||
# gallery:
|
||||
# - rack.jpg
|
||||
# - src: grafana.png
|
||||
# caption:
|
||||
# de: Dashboard mit den wichtigsten Diensten
|
||||
# en: Dashboard with the most important services
|
||||
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 86 KiB |
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Diese Website
|
||||
summary: Eigene Seite mit Node.js und Express, Inhalte als Markdown-Dateien, ausgeliefert als Docker-Container.
|
||||
---
|
||||
|
||||
Ich wollte eine Seite, die ich selbst verstehe und ohne CMS pflegen kann. Deshalb ist sie bewusst einfach aufgebaut.
|
||||
|
||||
## Aufbau
|
||||
|
||||
- **Server:** Node.js mit Express, die Seiten rendert Nunjucks auf dem Server.
|
||||
- **Inhalte:** Jedes Projekt ist ein Ordner mit einer YAML-Datei für die Metadaten und einer Markdown-Datei pro Sprache. Neue Einträge kommen per `git pull` auf den Server und werden ohne Neustart übernommen.
|
||||
- **Bilder:** sharp rechnet sie beim ersten Aufruf in passende Größen um und legt sie in einem Cache ab.
|
||||
- **Betrieb:** Ein Docker-Container in Dockge, davor Nginx Proxy Manager für HTTPS. Der Container läuft mit schreibgeschütztem Dateisystem und ohne zusätzliche Rechte.
|
||||
|
||||
## Worauf ich geachtet habe
|
||||
|
||||
Die Seite setzt keine Cookies und lädt nichts von fremden Servern, auch die Schriftarten liegen lokal. Ohne JavaScript funktioniert alles weiterhin, die Animationen sind nur eine Ergänzung und halten sich an die Systemeinstellung für reduzierte Bewegung.
|
||||
|
||||
Der Hintergrund auf der Startseite ist ein kleiner WebGL-Shader, der die Streifen der Genderfluid-Flagge ineinanderfließen lässt.
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: This website
|
||||
summary: My own site built with Node.js and Express, content as Markdown files, shipped as a Docker container.
|
||||
---
|
||||
|
||||
I wanted a site I fully understand and can maintain without a CMS, so it's deliberately simple.
|
||||
|
||||
## How it's built
|
||||
|
||||
- **Server:** Node.js with Express, pages are rendered on the server with Nunjucks.
|
||||
- **Content:** Every project is a folder with a YAML file for metadata and one Markdown file per language. New entries reach the server with `git pull` and are picked up without a restart.
|
||||
- **Images:** sharp resizes them on first request and keeps the results in a cache.
|
||||
- **Hosting:** A Docker container managed in Dockge, with Nginx Proxy Manager in front for HTTPS. The container runs with a read-only filesystem and no extra privileges.
|
||||
|
||||
## What I paid attention to
|
||||
|
||||
The site sets no cookies and doesn't load anything from third-party servers, fonts included. Everything still works without JavaScript, the animations are an extra and respect the system setting for reduced motion.
|
||||
|
||||
The background on the homepage is a small WebGL shader that lets the stripes of the genderfluid flag flow into each other.
|
||||
@@ -0,0 +1,27 @@
|
||||
date: 2026-10
|
||||
tags: [web, docker]
|
||||
featured: true
|
||||
cover: cover.jpg
|
||||
gallery:
|
||||
- src: mobile.jpg
|
||||
alt:
|
||||
de: Startseite auf dem Smartphone
|
||||
en: Homepage on a phone
|
||||
caption:
|
||||
de: Startseite auf dem Smartphone
|
||||
en: Homepage on a phone
|
||||
- src: bento.jpg
|
||||
caption:
|
||||
de: Übersicht auf der Startseite
|
||||
en: Overview on the homepage
|
||||
- src: portfolio.jpg
|
||||
caption:
|
||||
de: Portfolio mit Filter nach Themen
|
||||
en: Portfolio with topic filter
|
||||
links:
|
||||
- label:
|
||||
de: Quelltext
|
||||
en: Source code
|
||||
url: https://git.harlelux.de/Harlekin/Personal-Website
|
||||
- label: lux.harlelux.de
|
||||
url: https://lux.harlelux.de
|
||||
|
After Width: | Height: | Size: 120 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 95 KiB |
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: Administration eines Roleplay-Servers
|
||||
summary: Updates, Fehlersuche und Betrieb für eine Roleplay-Community.
|
||||
---
|
||||
|
||||
Hier beschreiben, um welches Spiel und welchen Server es geht, wie groß die Community ist und was genau deine Aufgaben im Team sind. Gut sind konkrete Beispiele, etwa ein Problem, das du gelöst hast, oder etwas, das du automatisiert hast.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: Running a roleplay server
|
||||
summary: Updates, troubleshooting and day-to-day operations for a roleplay community.
|
||||
---
|
||||
|
||||
Describe the game and server, the size of the community and what exactly your tasks in the team are.
|
||||
@@ -0,0 +1,5 @@
|
||||
draft: true
|
||||
date: 2026-08
|
||||
tags: [server, linux]
|
||||
featured: true
|
||||
cover: cover.jpg
|
||||
|
After Width: | Height: | Size: 95 KiB |
@@ -0,0 +1,11 @@
|
||||
---
|
||||
title: Skripte
|
||||
summary: Kleine Helfer für wiederkehrende Aufgaben.
|
||||
---
|
||||
|
||||
Hier ein oder mehrere Skripte vorstellen: welches Problem sie lösen, in welcher Sprache sie geschrieben sind und was du dabei gelernt hast. Code lässt sich direkt einbinden:
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env bash
|
||||
echo "Hallo"
|
||||
```
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: Scripts
|
||||
summary: Small helpers for recurring chores.
|
||||
---
|
||||
|
||||
Introduce one or more scripts: what problem they solve, what they're written in and what you learned.
|
||||
@@ -0,0 +1,7 @@
|
||||
draft: true
|
||||
date: 2026-07
|
||||
tags: [scripts, automation]
|
||||
cover: cover.jpg
|
||||
# links:
|
||||
# - label: Repo
|
||||
# url: https://git.harlelux.de/Harlekin/...
|
||||
|
After Width: | Height: | Size: 95 KiB |
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: Videoschnitt
|
||||
summary: Erste Schnittprojekte.
|
||||
---
|
||||
|
||||
Hier beschreiben, was du geschnitten hast, mit welchem Programm und worauf du beim Schnitt geachtet hast.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: Video editing
|
||||
summary: First editing projects.
|
||||
---
|
||||
|
||||
Describe what you edited, which software you used and what you paid attention to.
|
||||
@@ -0,0 +1,6 @@
|
||||
draft: true
|
||||
date: 2026-06
|
||||
tags: [video]
|
||||
cover: cover.jpg
|
||||
# YouTube-Link oder eine Datei aus diesem Ordner (clip.mp4)
|
||||
# video: https://youtu.be/...
|
||||
@@ -0,0 +1,45 @@
|
||||
name: Lux
|
||||
pronouns:
|
||||
de: alle Pronomen
|
||||
en: any pronouns
|
||||
description:
|
||||
de: Lux studiert Informatik, hilft bei der Administration eines Roleplay-Servers und betreibt ein Homelab. Portfolio, Werdegang und Kontakt.
|
||||
en: Lux studies computer science, helps run a roleplay server and keeps a homelab going. Portfolio, background and contact.
|
||||
|
||||
# Leer lassen, wenn die Adresse nicht öffentlich sein soll
|
||||
email: ''
|
||||
|
||||
links:
|
||||
- label: git.harlelux.de
|
||||
url: https://git.harlelux.de/Harlekin
|
||||
# - label: LinkedIn
|
||||
# url: https://www.linkedin.com/in/...
|
||||
|
||||
source: https://git.harlelux.de/Harlekin/Personal-Website
|
||||
|
||||
footer:
|
||||
de: Läuft als Docker-Container hinter Nginx Proxy Manager. Ohne Cookies, ohne Tracking.
|
||||
en: Runs as a Docker container behind Nginx Proxy Manager. No cookies, no tracking.
|
||||
|
||||
# Foto für den Werdegang, Pfad relativ zu content/
|
||||
# avatar: images/portrait.jpg
|
||||
|
||||
now:
|
||||
- de: Diese Website bauen und mit Inhalten füllen
|
||||
en: Building this website and filling it with content
|
||||
|
||||
skills:
|
||||
- group:
|
||||
de: Betrieb
|
||||
en: Operations
|
||||
items: [Linux, Docker, Docker Compose, Dockge, Nginx Proxy Manager, Git]
|
||||
- group:
|
||||
de: Entwicklung
|
||||
en: Development
|
||||
items: [JavaScript, Node.js, HTML, CSS]
|
||||
- group:
|
||||
de: Medien
|
||||
en: Media
|
||||
items:
|
||||
- de: Videoschnitt
|
||||
en: Video editing
|
||||