Stan's blog Thanks for stopping by.
Posts with the tag Free-Software:

How to mount a local GlusterFS volume at boot (fstab/systemd fix)

When running a GlusterFS cluster, you may want to use the volume(s) on the servers themselves.

During the boot process, GlusterFS will take a bit of time to start. systemd-mount, which handles the mount points from /etc/fstab, will run before the glusterfs-server service finishes to start.

The mount will fail so you will end up without your mounted volume after a reboot.

After doing to some research to fix this issue, I stumbled upon this Ubuntu bug report from 2011 (!). At the time, systemd wasn’t the init system, but in 2016 someone posted a pretty good solution for systemd systems.

Automatically build and push Docker images using GitLab CI

When I began publishing public Docker images, I was using the GitHub integration with the Docker Hub to automatically build and publish my images.

However, the Docker Hub is very slow to build images and has very, very limited configuration options.

Then I discovered Drone which allowed me to build images on my own server, tag them, etc. The thing is I’m limited by the drone-docker plugin and I can’t do everything I want with it.

How to setup a Telegram bot for your Drone CI/CD builds

In my last post I presented Drone, an extremely light CI/CD server.

One cool and satisfying thing is to be automatically notified of the output of your pipelines. In a company, you would probably use a Slack or HipChat bot. For a personal use, I think a Telegram bot is a good idea.

Let’s setup one!

Creating a Telegram bot

Setting up a bot is free and actually very easy. You can do everything from a Telegram client.

Host your own CI/CD server with Drone

Continuous Integration and Continuous Delivery are very trendy topics in the DevOps world right now.

There are quite a lot of services and software to build, test and deploy your code, but actually, a few are free and open-source and self-hostable.

The most well-know softwares corresponding to these characteristics are Jenkins and GitLab CI. However, Jenkins has a huge memory footprint since it runs on Tomcat (Java).

As for GitLab CI, it’s very good but requires you to run your own GitLab (which is huge) or to be on gitlab.com. You can run your own runner independently though.

How I back up my servers using restic and Wasabi object storage

Warning

How to use nvm, rbenv, pyenv, goenv... with the fish shell

I’ve been a user of the fish shell for years and I absolutely love it, mainly because it has so many features out-of-the-box.

The thing is, fish is also a language, so you can’t run bash-specific commands and syntax in fish.

It’s not an issue most of the time, but it is when you want bash programs to integrate with your shell. In the case of this article: programming languages version managers.

Donation of the month: Peertube

This month I decided to donate to the Peertube crowfunding campain, in order to make possible a future with a usable alternative to YouTube.

What is Peertube? Let me quote Framasoft:

PeerTube is a software anyone can install on a server, to get a data-friendly video-hosting platform, called a PeerTube Instance. PeerTube combines:

○ A free-libre license, that guarantees code transparency and legally allows you to use and contribute to the software;

Enable DNSSEC support in systemd-resolved

I’m currently running Ubuntu 18.04 and I noticed that by default I was using systemd-resolved for DNS:

stanislas@xps ~> cat /etc/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "systemd-resolve --status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 127.0.0.53

Most of the recent systemd distributions use it, Ubuntu does since 16.10. It has the same role as dnsmasq.

Moving Mastodon's media files to Wasabi Object Storage

Warning

mstdn.io is one year old

One year ago, was the big Mastodon “boom”. A lot of French people like me signed up on mastodon.social and discovered this new social network.

Actually I signed up 2 months before but didn’t use it before the wave of April. I already did a little review of my year here, but I wanted to make a quick post to immortalize this big milestone.

So as mastodon.social was dying under the load, me and a lot of other people decided to create new instances to welcome new users, because that’s the point of a federated social network.