diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..61eb75f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +FROM alpine:3.15.3 AS builder + +RUN apk update && \ + apk add --no-cache \ + hugo + +WORKDIR /app + +COPY . ./ + +# Build the site +RUN hugo + + +FROM nginx:1.21.6-alpine + +ENV MATRIX_SERVER=matrix.rustybever.be:443 \ + MATRIX_CLIENT_SERVER=https://matrix.rustybever.be + +COPY nginx/nginx.conf /etc/nginx/nginx.conf +COPY nginx/default.conf /etc/nginx/conf.d/default.conf +COPY nginx/*.conf.template /etc/nginx/templates/ + +COPY --from=builder /app/public /usr/share/nginx/html diff --git a/config.toml b/config.toml index b984493..eb755cf 100644 --- a/config.toml +++ b/config.toml @@ -20,19 +20,12 @@ pygmentsUseClasses = true url = "/" weight = 10 - [[menu.main]] - identifier = "blogroll" - name = "blogroll" - title = "blogroll" - url = "/blogroll/" - weight = 20 - [[menu.main]] identifier = "about" name = "about" title = "about" url = "/about/" - weight = 30 + weight = 20 [permalinks] posts = "/:title/" diff --git a/content/blogroll/index.md b/content/blogroll/index.md deleted file mode 100644 index 8be9609..0000000 --- a/content/blogroll/index.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Blogroll" ---- - -Below you can find some other blogs that I follow! - -* [Jan-Lukas Else](https://jlelse.blog/) -* [Rubenerd](https://rubenerd.com/) -* [Björn Wärmedal](https://warmedal.se/~bjorn/) -* [Henrique Dias](https://hacdias.com/) -* [Brain Baking](https://brainbaking.com/) -* [Ru Singh](https://rusingh.com/) -* [Hey Georgie](https://hey.georgie.nu/) -* [James' Coffee Blog](https://jamesg.blog/) -* [Kev Quirk](https://kevq.uk/) -* [Oh Hello Ana](https://ohhelloana.blog/) -* [astrid.tech](https://astrid.tech/) diff --git a/content/posts/tour-of-flanders/bert-enjoying-himself.jpg b/content/posts/tour-of-flanders/bert-enjoying-himself.jpg deleted file mode 100644 index a2b6264..0000000 Binary files a/content/posts/tour-of-flanders/bert-enjoying-himself.jpg and /dev/null differ diff --git a/content/posts/tour-of-flanders/index.md b/content/posts/tour-of-flanders/index.md deleted file mode 100644 index f1f53fc..0000000 --- a/content/posts/tour-of-flanders/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "Tour of Flanders" -date: 2022-04-04T12:53:23+02:00 -draft: true ---- - -Yesterday, some friends & I met to "watch" the Tour of Flanders (gonna have to -trust Google Translate on this one). Mind the quotes, because none of us really -know anything about cycling ;p One of us just lived close to where the tour -ended, so we used this as an excuse to organize a party at their place! - -It was really fun standing in a big crowd of bystanders while the two -frontrunners passed by. Everyone went wild! It really shows how cosy a group of -Belgians can be if we just don't talk about anything besides sports (let's -leave the politics aside). - -Afterwards, we went back to their place, ate some delicious burgers courtesy of -their mom, and watched [De -Mol](https://en.wikipedia.org/wiki/De_Mol_(TV_series)) together. For the rest -of the evening we had some beer & wine (and a glass of Johnnie Walker Black -Label ;) ), and just talked about everything. I really enjoy these kinds of -evenings, chilling with friends, no pressure to go out, just relaxing & talking -with some good booze :) - -{{< figure src="./bert-enjoying-himself.jpg" title="Bert having some fun while we're all focused on the big screen" >}} - -{{< figure src="./later-in-the-evening.jpg" title="After a few drinks (I gotta shave)" >}} diff --git a/content/posts/tour-of-flanders/later-in-the-evening.jpg b/content/posts/tour-of-flanders/later-in-the-evening.jpg deleted file mode 100644 index 601f790..0000000 Binary files a/content/posts/tour-of-flanders/later-in-the-evening.jpg and /dev/null differ diff --git a/content/posts/tuxedo-book-xp14-review.md b/content/posts/tuxedo-book-xp14-review.md deleted file mode 100644 index efd2643..0000000 --- a/content/posts/tuxedo-book-xp14-review.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: "Tuxedo Book XP14 12th Gen Review" -date: 2022-04-02 -draft: true ---- - -Fro the last couple of years, my main driver was a Macbook Air 13" from 2013. -It was my sister's old laptop & I claimed it when she replaced it because it -became too slow. Naturally, I put Linux on it and, after a few distro hops, -settled on EndeavourOS. This setup worked well for about 3 years, but it was -getting rather old. After about a year of using it myself I had to replace the -battery, and after another two years or so that one became useless as well. It -was time for a change, so I started searching. - -Thanks to a recommendation from a friend, I found Tuxedo Computers and I just -couldn't get them out of my head, so eventually I gave in and bought one! As -the title already revealed, the model's a Tuxedo Book XP14 Gen12. - -My specific version has a 120Hz display, 500GB of a Samsung 980, 2 x 8GB of -DDR4 RAM, an i5-1135G7 & Intel Iris Xe Graphics G7 80EUs. - -Now that we've got the nerd stats out of the way, let's talk about the laptop -itself. - -## The Good - -The build quality is very solid. While the top half containing the display is -made up of a solid metal casing, the bottom part consists of a sturdy plastic. -There is some deck flex, but definitely not a level I would consider an issue. - -The trackpad is very responsive & pairs nicely with the smoothness of the -cursor on the 120Hz display. I personally think the keyboard is quite amazing. -It's got a satisfying travel time & feels very solid for a membrane keyboard. - -IO is more than enough, with a Kensington lock, SD card reader, gigabit -Ethernet port, Thunderbolt 4 port, two USB 3 ports, another USB-C port, HDMI & -two-in-one audio jack. - -Under normal load the fans are completely silent, while at peak they're audible -but not annoying or overly loud. - -Battery life is quite decent; under light load with dimmed backlight it can go -for about 6 hours. I do recommend properly configuring some energy profiles in -the Tuxedo Control Center. diff --git a/nginx/default.conf b/nginx/default.conf new file mode 100644 index 0000000..1c28faa --- /dev/null +++ b/nginx/default.conf @@ -0,0 +1,15 @@ +# vim: ft=nginx + +# =====FRONTEND HOSTING===== +location / { + root /usr/share/nginx/html; + index index.html; +} + +error_page 404 /404.html; + +# redirect server error pages to the static page /50x.html +error_page 500 502 503 504 /50x.html; +location = /50x.html { + root /usr/share/nginx/html; +} diff --git a/nginx/matrix.conf.template b/nginx/matrix.conf.template new file mode 100644 index 0000000..abc2879 --- /dev/null +++ b/nginx/matrix.conf.template @@ -0,0 +1,49 @@ +# vim: ft=nginx + +# =====MATRIX WELL-KNOWN FILES===== +# Used for server federation +location = /.well-known/matrix/server { + charset utf-8; + default_type application/json; + + if ($request_method = 'GET') { + add_header Access-Control-Allow-Origin '*'; + add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS'; + add_header Access-Control-Allow-Headers 'X-Requested-With, Content-Type, Authorization'; + + return 200 '{"m.server":"${MATRIX_SERVER}"}'; + } + + if ($request_method = 'OPTIONS') { + add_header Access-Control-Allow-Origin '*'; + add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS'; + add_header Access-Control-Allow-Headers 'X-Requested-With, Content-Type, Authorization'; + add_header 'Content-Length' 0; + return 204; + } + + return 405; +} + +location = /.well-known/matrix/client { + charset utf-8; + default_type application/json; + + if ($request_method = 'GET') { + add_header Access-Control-Allow-Origin '*'; + add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS'; + add_header Access-Control-Allow-Headers 'X-Requested-With, Content-Type, Authorization'; + + return 200 '{"m.homeserver":{"base_url":"${MATRIX_CLIENT_SERVER}"}}'; + } + + if ($request_method = 'OPTIONS') { + add_header Access-Control-Allow-Origin '*'; + add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS'; + add_header Access-Control-Allow-Headers 'X-Requested-With, Content-Type, Authorization'; + add_header 'Content-Length' 0; + return 204; + } + + return 405; +} diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 0000000..561a1bb --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,37 @@ +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + + keepalive_timeout 65; + + gzip off; + + server { + listen 80; + listen [::]:80; + + # This order is important, as the Matrix matches should be evaluated first + include /etc/nginx/conf.d/matrix.conf; + include /etc/nginx/conf.d/default.conf; + } +}