Weekly Shaarli

All links of one week in a single page.

Week 46 (November 15, 2021)

homebrewserver - hosting it yourself at small scale and from home

A gathering of people looking to brew servers at home, for low-cost/-power/-maintenance results. Contains a bunch of hardware/software guides for simple diy self-hosting at home.

Day Planner - Fowl Language Comics
thumbnail

The procastinators' dilemma.

Jellyfin with s3 backend
thumbnail

Wanted to run a media server on a server but don't have the storage? This is a (very rough) guide for accomplishing it with an s3 backend - AWS, wasabi, minio, whatever.

Makes use of rclone to let you access a bucket locally and then point jellyfin to said bucket.

Webtop - Fully working Alpine, Ubuntu, Fedora, or Arch running in your browser

Webtop - Alpine, Ubuntu, Fedora, and Arch based docker containers containing full desktop environments in officially supported flavors accessible via any modern web browser.

You simply navigate to the hosted page and can instantly work in your favorite linux environment --- this seems extremely futuristic. And could be useful to many (I am thinking e.g. of using Windows-only library PCs or doing something at a family's/ friend's house).

Improving the code from the official Go RESTful API tutorial

A rewrite of the go rest tutorial (originally using gin) only using stdlib and trying to fix some code-practices issues that the author sees in the original. Brilliant to learn and improve from.

Watchy - Open source e-ink smartwatch

Open-source smartwatch that is fully arduino programmable (run by an ESP32), usually lasts 5-7 days and costs around $50.

Quite a few watchface examples exist online. From what I understand, the watchface is the firmware for this clock,
so no too easy changes there.

There are assembly kits with a case that can be bought for some $ more that will keep the watch a bit more safe (though not e.g. swimmingpool ready). The watch/display so far only exists in square shape.

Upgrading and Migrating data from postgres 12 to 13

A detailed and useful guide for the migration process.
Also contains a link to a similar guide from postgres 13 to 14, where some password modification is needed.

How to determine when new container is truly "ready" · Issue #146 · docker-library/postgres
thumbnail

Postgres docker containers have a problem of multiple restarts.
A simple way to check for them being 'up' up (i.e. initialized, reachable, and ready) is not through pg_isready but instead by checking on the set database port (default 5432) if a connection can be established.

It will not send anything back really since it's not designed as an http server. So curl -sFfI db:5432 for example will get back 52 Empty Reply with status code 52. If you want to check with that make sure to compare to error code 52!

The easiest option if another container has to wait for this one to start up (and especially in a docker stack environment where no wait_for option exists) is:
nc db 5432 which will only return true when the port is ready.

An example for the nextcloud fpm container waiting for database readiness:
entrypoint: sh -c "while !(nc -z db 5432); do sleep 1; done; /entrypoint.sh php-fpm"