Build a docker image on gitlab ci and publish it to google container registry

In previous blogposts I explained my concept of a personal cloud for my own projects (Kubernetes for Sideprojects) and how I set it up (Run a personal cloud with Traefik, Let’s encrypt and Zookeeper). I also showed how I packaged a PWA project with docker (Build a PWA in docker). With all those ingredients ready to go the last hurdle to solve is building the docker image automatically as well as publishing it to a private container registry so I can deploy it to my cloud from there....

September 3, 2019 · 3 min · 455 words · Philip Heltweg

Deploy to google kubernetes engine using gitlab ci

In a previous blogpost I showed how I build and publish docker images on gitlab ci (Build a docker image on gitlab ci) Make sure to read that post first for an overview and permission setup. Update the kubernetes service with the new docker image You can easily set up a deploy step using google’s own cloud SDK docker images. Note the service account with the permissions to change the kubernetes setup is saved as “GCLOUD_K8S_KEY” variable here....

September 3, 2019 · 1 min · 173 words · Philip Heltweg

Build a progressive web app in docker with nginx to deploy to kubernetes or docker swarm

This post was updated on 2024-02-10 to work with up-to-date nginx and node versions. With my personal cloud setup based on kubernetes done (you can read about it here: https://heltweg.org/posts/run-a-personal-cloud-with-traefik-lets-encrypt-and-zookeeper/) it is time to actually deploy the first project into it. The easiest application to deploy is a pure client side single page application, packaged in a docker container with a webserver like nginx to deliver the files. Packaging the application into it’s own container allows us to build a standardized container that can be run locally for testing or deployed to docker swarm and kubernetes....

August 24, 2019 · 3 min · 481 words · Philip Heltweg

Run a personal Cloud with Traefik, Lets encrypt and Zookeeper

Kubernetes ingress with Traefik As mentioned in my last blog post I want to focus on a provider neutral setup for my own cloud, using technology that is not bound to any cloud offering whenever possible. While google cloud offers load balanced HTTP ingress by default it is apparently very expensive in comparison to running small nodes and I have heard only good things about using Traefik for kubernetes ingress....

August 16, 2019 · 5 min · 1017 words · Philip Heltweg

Kubernetes for sideprojects: Hardware is dead

Why invest in a personal cloud It has never been easier to host your personal side projects. Tools like surge.sh or Heroku make it painless to run your code. And if all else fails the old reliable “drag and drop files to a ftp” is always there - so why invest time into setting up your own personal cloud with kubernetes? My goal for technology is typically to find a setup that gets boring to work with because I know it well and can focus on delivering new functionality....

August 15, 2019 · 4 min · 719 words · Philip Heltweg

Entity-Systems for typescript based games

Entity-Systems for typescript based games For my latest game project Frozzen I want to explore how an external UI, build with Angular, would work for a browser based game. Since Angular is written in Typescript that means ideally the game should also use the same. I have used Artemis ODB as framework for a Java based game in the past and liked it a lot. Entity-Systems are much better introduced by any of the huge amount of articles out there (for example the classic on T=Machine but I feel they are especially well suited to Javascript/Typescript development....

June 6, 2019 · 2 min · 266 words · Philip Heltweg

Deploy a personal blog with Hugo, Firebase and Gitlab

Blog requirements I recently evaluated what how writing content and carving out a little personal space on the internet would look like for me and came up with a list of requirements: Own my content (No third party platforms as only distribution method. There was a time before medium and there will be a time after medium.) Easy to set up and maintain (I don’t want to set up and host databases or complicated CMS systems and when I come back to this in a month it should be easy to update....

May 3, 2019 · 2 min · 426 words · Philip Heltweg

mealpreplist.com - Your weekly mealprep, made easy

Meal prepping is the practice of preparing multiple meals at once and either freezing them or keeping them in the fridge to eat over the upcoming days. There is an active community on reddit (r/MealPrepSunday/) and various blogs online. Often mealprep containers are separated in three sections for a carb source, a protein source and vegetables. With mealpreplist I wanted to save my own, simple meal components for each of these sections and allow myself an easy way of combining them to a meal to prepare....

September 27, 2017 · 3 min · 530 words · Philip Heltweg

Whatchr.com - a better youtube playlist experience

Whatchr was born of a personal problem. I regularly watch let’s play content on youtube (following a group of content creators with their series), mainly following the channels of The Yogscast. Youtube’s focus is on either suggesting content it thinks you find interesting on your “Suggestions” or content divided in daily chunks in your “Feed”. There is no nice way to watch multiple series other than bookmarking playlists with watch positions....

October 4, 2016 · 4 min · 744 words · Philip Heltweg

Frozzen - a turn-based RPG

Gameplay Screenshots Login Menu Select a scenario Select a party Manage your party Manage party member and test level Gameplay Old History

September 6, 2013 · 1 min · 22 words · Philip Heltweg