Sources and automation for my personal webpage and blog built using Hugo, Woodpecker CI and MinIO https://bluemedia.dev
Go to file
Oliver Traber ea4aecdb35
All checks were successful
ci/woodpecker/push/deploy Pipeline was successful
Update hugo-profile
2024-07-24 20:49:19 +02:00
.woodpecker Allow manual and cron as pipeline triggers 2023-11-12 01:41:24 +01:00
archetypes Initial commit 2023-11-06 00:30:32 +01:00
content Set robots meta tag "noindex" for legal pages 2024-07-21 14:08:37 +02:00
static Add post about the new blog 2024-01-28 01:00:24 +01:00
themes Update hugo-profile 2024-07-24 20:49:19 +02:00
.gitignore Initial commit 2023-11-06 00:30:32 +01:00
.gitmodules Initial commit 2023-11-06 00:30:32 +01:00
config.yaml Update hugo-profile 2024-07-24 20:49:19 +02:00
LICENSE Add license and readme 2023-11-12 00:28:02 +01:00
README.md Add status badge alt 2023-11-12 00:48:36 +01:00

My personal webpage and blog status-badge

This repo contains the sources for my personal webpage and blog. You can check out the live version at bluemedia.dev.

Components

The site uses the following components:

Content is written using markdown and some YAML configs.

Deployment

The site is built using a Woodpecker CI pipeline for every change to main. After running hugo, the pipeline publishes the content of the public directory to a MinIO bucket using the mc command-line tool. bluemedia.dev is in turn just a Nginx server that proxies requests to the MinIO bucket and rewrites the upstream request to a corresponding /index.html file.

The (simplified) proxy config looks like this:

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;

    server_name bluemedia.dev;

    location / {
        rewrite ^(.*)/$ $1/index.html break;
        rewrite ^(.*/[^./]+)$ $1/index.html break;

        proxy_http_version 1.1;
        proxy_connect_timeout 300;
        chunked_transfer_encoding off;

        proxy_intercept_errors on;
        error_page 404 =404 /404.html;

        proxy_set_header Host "bluemedia-dev.s3.infra.bluemedia.dev";
        proxy_set_header Connection "";

        proxy_pass https://bluemedia-dev.s3.infra.bluemedia.dev;
    }
}