Making Playwright Work on Alpine Out of Spite

Doing Who On What Now? Playwright is a Web Testing and Automation framework developed by Microsoft, it’s similar to Selenium or Puppeteer. The core project is written in nodejs and there are sub-projects offering the same framework in Python, .NET, and Java. It’s the Python project that I was specifically interested in due to its use in the changedetection.io container that I maintain for Linuxserver.io. The problem is that the container uses an Alpine base image whereas Microsoft only publish wheels for glibc, and they don’t publish the source to Pypi for pip to build, which means you can’t just do pip install playwright because it won’t be able to find a muslc wheel to install from....

2024-03-13 · 5 min · Adam

Practical Configuration of Traefik as a Reverse Proxy For Docker - Updated for 2023

An updated guide to configuring Traefik with Docker, with explanations of why to do each step as well as how.

2023-07-19 · 20 min · Adam

Changing Docker Daemon Options For Fun and Profit

Introduction Did you know there are all kinds of interesting options that Docker supports but doesn’t necessarily expose, or document, very well? Most of them are very simple to configure and can have substantial benefits so it’s well worth investigating. Daemons All of these options are configured via the Docker daemon. You can pass arguments to dockerd via the systemd service file or, preferably, use a config file, which defaults to /etc/docker/daemon....

2022-03-31 · 3 min · Adam

Integrating CrowdSec with Traefik & Discord

A Further Update Since writing this post I’ve now moved from using the Traefik Crowdsec Bouncer container to using a plugin-based bouncer as it performs better and is actively maintained. Update To The Update The issue with upstream proxies and the Traefik bouncer has been resolved by the maintainer. I’ll leave my fork up in case I get some more free time to work on it. I got impatient waiting for the bug with the Traefik bouncer to get fixed so I forked it and fixed it myself, as well as added a couple of extra features....

2022-01-11 · 9 min · Adam

The Dockers I Have Done

As you may be aware, I’m part of linuxserver.io where I maintain a number of Docker containers such as grav and syslog-ng but there are times when I need a container that isn’t a suitable linuxserver candidate for any number of reasons so I just publish it myself. It occurred to me that I should probably make an effort to promote them given how difficult docker discovery is on places like Docker Hub where there are hundreds of containers for any given thing, almost all of which had one image push 3 years ago and haven’t been touched since....

2021-09-07 · 2 min · Adam

ZeroSSL As A LetsEncrypt Alternative Using Traefik

Introduction LetsEncrypt is a fantastic service and it has quite literally revolutionised how people use TLS certificates, but having a Single Point Of Failure for these things is always a bad idea. The good news is that other providers of free certificates are starting to emerge and one of the first is ZeroSSL. Unlike LetsEncrypt they don’t rate limit, but they do require the use of External Account Binding (EAB) which means it’s not quite a drop in replacement in your config....

2020-12-20 · 2 min · Adam

Traefik Titbits

This is just a quick collection of random bits I’ve learned about Traefik since writing my original How To.

2020-10-05 · 3 min · Adam

Wireguard as a VPN client in Docker using PIA

Update Since posting this the scripts have changed slightly so the line numbers are no longer correct, that said the functional elements are still the same so it shouldn’t be too hard to figure out where to make the changes. Also get_region_and_token.sh is now get_token.sh and get_region.sh so you’ll need to run the two of them in your init script (get_token.sh first). Introduction Compared to a lot of VPN providers PIA have been pretty slow off the mark in supporting DIY Wireguard connections; they’ve had Wireguard support in their client for a while but that doesn’t help if you want to use something like the linuxserver/wireguard container as your client....

2020-09-26 · 9 min · Adam

Monitoring For Docker Image Updates With Diun

One of the most common questions around Docker is “how do I know when I new version of an image gets published?”. Even if you’re tied to a specific version tag, security and bug fixes can still result in new images being pushed and there’s no built-in mechanism to notify you that it’s happened.

2020-09-17 · 5 min · Adam

Configure Authelia To Work With Traefik

Introduction Authelia is an open-source authentication and authorization server providing 2-factor authentication and single sign-on (SSO) for your applications via a web portal. It’s ideal if you want to make your self-hosted services accessible from the internet without letting every man and their dog nose through your stuff. If you haven’t got Traefik up and running yet, my guide to setting it up as a reverse proxy for Docker will help you out....

2020-09-15 · 8 min · Adam