CI/CD workflow using Gitea, Drone and Docker registry

With the goal of building automated deployments, I explored multiple options. The primary ones being Gitlab and Bitbucket since they offer self-hosted options. My research quickly pointed out that Bitbucket's self-hosted version is an entirely different code base than the cloud offering and anecdotal evidence from articles and comments suggested…

Evaluation of Object Storage Offerings

Despite the popularity of S3 storage and having an AWS account, I haven't really used it before. However, I had some gigabytes of content that I want to store almost like an archive off the more expensive block storage options I was using. I did a cursory analysis of the…

SQL to Alteryx

Reference comparison between Alteryx functions and SQL and pandas. My perspective on the functionality of these tools.…

AMP Error in required structured data element

Default ghost theme emits this error for google indexing if there is no image associated with a post. There are AMP versions of each ghost page generated that can be accessed by appending /amp in front of any post. The cursory research I undertook suggests that this is caused by…

Traefik gateway time out with docker compose

One common mistake I keep making when configuring new docker-compose services for access via traefik results in Gateway Timeout. I'll explain why this happens. If you've configured traefik correctly with labels, you will be able to see the traefik route and traefik service to be configured correctly in the dashboard,…

Global HTTP Redirect in Traefik 2

I'm setting up traefik 2 using a docker-compose file. In order to redirect all HTTP traffic to the equivalent HTTPS address, we can setup the following configuration as labels in the docker-compose file. labels: - "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)" - "traefik.http.routers.http-catchall.entrypoints=web" -…