Cloud init

Cloud-init is a standard way to initialize VPS instances starting from OS images on VMs on first boot. I use it to initialize everything on the VM required to run the desired applications. So for example you can set up the following options using cloud-init: hostname users and auth keys timezone installation and configuration of …

Integrating Nextcloud + Collabora behind reverse proxy

So you have a setup where Nextcloud runs on a host with internal IP which is exposed to the public network using a reverse proxy like Nginx. Public URLs are not accessible from the internal network due to DNS resolution. Research shows that this setup seems to be quite common. Next you want to integrate …

Mock NTP time

For device testing a client needed a solution to set devices reliably to a time in the future to trigger certificate renewal and similar processes. We agreed that providing a mock time via a NTP service would be a good solution. One requirement was to have the NTP service run in a Docker container. I …

Improving the click to deploy solution for WordPress on Google Cloud Platform

If you’re using this recipe to run WordPress on a virtual machine on the Google Cloud Platform (GCP) chances are high you’re experiencing problems. Here’s how to solve them. My example is a customer’s website running on a small instance of type e2-small. This instance only has 2G of RAM and 2 vCPUs. Main problem …

JWT implementation details

I recently implemented JWT (JSON Web Token) based auth on an embedded device using nginx with embedded Lua. Following are implementation details. refresh and access token are created as JWT (signed with variable JWT_SECRET) refresh token is delivered as cookie and stored on the client. It is valid for 24hrs only for path /jwt/refresh. access …

Tricks for ProxMox VE

Free repo for testing servers To get updates for your testing servers running ProxMox VE you can use following repo which is not meant for production use but works well for testing purposes. Just add the following lines to /etc/apt/sources.list: Uncomment the enterprise repo in /etc/apt/sources.list.d/pve-enterprise.list and run apt-get update afterwards. You can now run …

Upgrading an application on Elastic Beanstalk from Amazon Linux 1 to 2

These days i have the pleasure to upgrade an application running on AWS Elastic Beanstalk from platform Multi-container Docker to new platform Docker. The former is based on Amazon Linux 1 (AL1) while the latter runs on Amazon Linux 2 (AL2). I follow this guide. I have encountered the following advantages so far: links between …