Static Website Hosting in Europe with Free Services

June 10th, 2025 303 Words

The AWS European Sovereign Cloud is maybe the most interesting developments of the current cloud computing era; having AWS create a dedicated branch for european workloads is the next big move. But, how do you run a static website without using US vendors at all?

When thinking about serving static websites, there is way more involved than just the plain HTML files and a web server. This guide will cover:

  • Registering a domain,
  • Managing DNS configuration,
  • Hosting a source code git repository,
  • Automated deployments on new commits, and
  • Static Hosting of the built website.

All of this using only european services. Besides registering the domains, all services can be used for free on personal projects.

Registering a Domain

For registering domain names, managing name servers, and contact information, I can highly recommend EuroDNS from Luxembourg. They have reasonable prices and are doing a great job for over a decade now.

EuroDNS Domain Registrar

Managing DNS

Depending on your needs for DNS hosting, I can recommend going with deSEC e.V., a charitable organization in Germany that offers free DNS hosting, or nanelo if you are up to pay for DNS services.

deSEC

GIT Repository

For the example of sbstjn.de, I use Codeberg for hosting the git repository. Codeberg e.V. is a registered non-profit association based in Berlin, Germany.

Codeberg

Codeberg is using Forgejo, which is build by Codeberg. Perfect example for eat your own dogfood. Besides Codeberg there are countless alternatives available using the same stack.

Static Hosting

Finally, it’s about hosting! statichost.eu is offering services to run static websites without personal data collection; from Sweden.

StaticHost

Automation

Luckily, statichost supports automatic deployments with basic HTTP requests. And Codeberg, or Forgejo in general, supports configuring webhooks as well.

Codeberg Webhook

BAM, That’s it! 🎉

A static website hosted on european servers using european services and companies. The future will be interesting …


  • Deploy Serverless Containers to Scaleway with OpenTofu

    December 5 th, 2025 721 Words

    After building multiarch Docker containers for Rust applications, you want to deploy them somewhere. Scaleway’s serverless container platform offers a straightforward way to run containers without managing infrastructure, and OpenTofu provides the infrastructure-as-code tooling. This guide walks through deploying Docker containers to Scaleway using the OpenTofu provider, from setting up the registry to running your container.

  • Multiarch Docker Containers with Rust

    December 5 th, 2025 395 Words

    This guide shows how to build multiarch Docker containers for Rust applications using cargo zigbuild for cross-compilation and Docker build commands for architecture-specific or multiarch container images. Based on the example for Building a Rust API with Rocket and JWT Authentication, this guide provides the next steps.

  • Building a Rust API with Rocket and JWT Authentication

    December 5 th, 2025 1868 Words

    When building backend APIs, JWT authentication is a common requirement. In Rust, you’ve got several web frameworks to choose from, and Rocket is one that makes request handling feel natural with its request guard system. Combining Rocket with JWTiny for JWT validation and JWKServe as a local identity provider gives you a complete setup for development and testing without external dependencies.

  • JWTiny: Minimal JWT Validation for Rust

    December 4 th, 2025 1340 Words

    I was learning Rust with an example project that needed JWT validation. The popular jsonwebtoken crate depends on serde, but I wanted miniserde instead. That constraint led me to build my own validator — handling signature verification, claims validation, and remote key fetching, designed for reuse across requests. JWTiny is the result.

  • JWKServe: A Fake JWT Authentication Service for Local Development

    December 4 th, 2025 990 Words

    When writing backend services that validate JWT access tokens, you run into a frustrating problem: you need a real identity provider just to test your authentication logic. With Cognito, Auth0, or other OpenID Connect providers, spinning up an authentication service for local development or CI pipelines adds unnecessary complexity. You need valid signatures and correct claims, not the provider itself. That’s where JWKServe comes in.

  • AWS CDK: Serverless WebService Blueprints

    January 19 th, 2025 113 Words

    The past days have been full of content about serverless workloads with AWS AppSync, Amazon Cognito, and AWS Fargate. This guide wraps up all scenarios and is your starting point if you want to build modern serverless applications with AWS using the Cloud Development Kit (CDK).

  • AWS CDK: AppSync Events API with Cognito for WebSockets and React

    January 19 th, 2025 944 Words

    The Amazon AppSync Events API was recently announced and is a new feature to use a WebSocket API for real-time communication. Based on the Amazon Cognito User Pool with Managed Login and guide for GraphQL Data API in Amazon AppSync, this guide shows you how to add real-time communication to your React application using WebSockets and the Amazon AppSync Events API with Amazon Cognito.