Compare commits

...
3 Commits
Author SHA1 Message Date
marvin 498ac6e1a4 fixed typos 2026-09-25 07:47:29 +02:00
marvin 60f3354e35 changed docker network 2026-09-25 07:30:12 +02:00
marvin 03e23f9802 added gitea entry 2026-09-25 07:22:03 +02:00
7 changed files with 66 additions and 7 deletions
+2 -2
View File
@@ -7,10 +7,10 @@ services:
- "8081"
restart: unless-stopped
networks:
- cnn_network
- portfolio_network
pull_policy: never
container_name: portfolio_website
networks:
cnn_network:
portfolio_network:
external: true
+5
View File
@@ -54,6 +54,11 @@
"id": "cnn_website_4",
"image": "images_jpg/yolo.jpg",
"image_pos": "center"
},
{
"id": "selfhost_1",
"image": "images_jpg/gitea.jpg",
"image_pos": "left"
}
]
}
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

+30 -4
View File
@@ -1,5 +1,5 @@
{
"title_website": "Marvins Protfolio",
"title_website": "Marvins Portfolio",
"title_introduction": "Hallo!",
"content_introduction": "Ich studiere Medieninformatik im Bachelor und habe im Rahmen meines Studiums praktische Erfahrungen in verschiedenen Projekten gesammelt. Besonders gerne arbeite ich an Projekten, in denen ich neue Technologien ausprobieren und vertiefen kann, aktuell vor allem im Bereich Machine Learning.",
"status": "Student B.Sc.",
@@ -61,7 +61,7 @@
"blocks": [
{
"heading": "Frontend",
"text": "Die --link-- Website ist online. Das Frontend wurde mit React implementiert und ermöglicht das Hochladen von Bildern sowie die Anzeige von Klassifikationsergebnissen. Es ist responsiv gestaltet und passt sich an verschiedene Bildschirmgrößen an, wodurch es auch auf Mobilgeräten gut nutzbar ist.",
"text": "Die --link-- ist online. Das Frontend wurde mit React implementiert und ermöglicht das Hochladen von Bildern sowie die Anzeige von Klassifikationsergebnissen. Es ist responsiv gestaltet und passt sich an verschiedene Bildschirmgrößen an, wodurch es auch auf Mobilgeräten gut nutzbar ist.",
"image": "cnn_website_1",
"links": [
{
@@ -84,17 +84,43 @@
]
},
{
"heading": "Bird Classification",
"heading": "Vogelklassifikation",
"text": "Das CNN klassifiziert sieben Vogelarten aus Bildern. Es verwendet Skip Connections, Dropout und Batch Normalization, um das Training stabiler zu machen und Overfitting zu reduzieren.",
"image": "cnn_website_3"
},
{
"heading": "Face Detection",
"heading": "Gesichtserkennung",
"text": "Das Modell basiert auf der YOLO-Architektur und kann Gesichter in Echtzeit erkennen, selbst auf schwacher Hardware (z. B. ein Server mit 1 GB RAM und 1 vCPU). Das Frontend sendet kontinuierlich ausgeschnittene Frames des Webcam-Streams über WebSockets an den Server.",
"image": "cnn_website_4"
}
]
},
{
"id": "selfhosting",
"title": "Self-Hosting",
"description": "Selbst gehostete Dienste, die in Docker-Containern auf meinem eigenen Debian 13-Server laufen.",
"tags": [
"Linux",
"Docker Compose",
"Gitea",
"SQLite"
],
"github": "https://git.marvinkrausser.com",
"blocks": [
{
"heading": "Gitea",
"text": "Die --link-- dient mir als privater Git-Server für persönliche Repositories. Sie läuft als Docker-Container, der nur über den Caddy Reverse Proxy erreichbar ist, welcher HTTPS mit Let's-Encrypt-Zertifikaten bereitstellt. Der Git-Zugriff per SSH läuft über einen separaten Port und funktioniert ausschließlich mit SSH-Keys. Alle Daten, einschließlich der Repositories und der SQLite-Datenbank, liegen in einem einzigen Ordner auf dem Host, sodass ein Backup lediglich aus dem Archivieren dieses Ordners besteht.",
"image": "selfhost_1",
"links": [
{
"id": "gitea",
"link": "https://git.marvinkrausser.com",
"desc": "Gitea-Instanz ↗"
}
]
}
]
},
{
"id": "pixelcnn",
"title": "PixelCNN Bildgeneration",
+26
View File
@@ -95,6 +95,32 @@
}
]
},
{
"id": "selfhosting",
"title": "Self-Hosting",
"description": "Self-hosted services running in Docker containers on my own Debian 13 server.",
"tags": [
"Linux",
"Docker Compose",
"Gitea",
"SQLite"
],
"github": "https://git.marvinkrausser.com",
"blocks": [
{
"heading": "Gitea",
"text": "The --link-- serves as my private Git server for personal repositories. It runs as a Docker container that is only reachable through the Caddy reverse proxy, which provides HTTPS with Let's Encrypt certificates. Git access via SSH uses a separate port and works exclusively with SSH keys. All data, including repositories and the SQLite database, is stored in a single folder on the host, making backups as simple as archiving that folder.",
"image": "selfhost_1",
"links": [
{
"id": "gitea",
"link": "https://git.marvinkrausser.com",
"desc": "Gitea instance ↗"
}
]
}
]
},
{
"id": "pixelcnn",
"title": "PixelCNN Generator",
+2
View File
@@ -16,7 +16,9 @@ export function renderProjects(container, navbar, data, imageConfig) {
blocks.appendChild(createBlock(block, i, imageConfig));
});
if (item.github) {
section.appendChild(createGithubLink(item.github, data.github_desc));
}
});
}