DNS over HTTPS on macOS

Improve your privacy by using DNS over HTTPS. Look up hostnames privately and avoid giving too much info to your ISP. This is a tutorial for dnscrypt proxy on macOS.…

Install immich in three steps

Quick tutorial to run immich.app, the free and open source google photos alternative. This article is intended to those who don't have much experience using docker. Follow these three steps to have a working immich.app server. Requirements: Ubuntu with root access, internet access, open ports and some storage.…

Simple webdav server with sftpgo, docker and traefik

If you end up on this page, it's maybe because you asked yourself the same as me: how to make a simple webdav server running in a docker, routed by traefik. Maybe just like me you avoided sftpgo because it can do too much. And that's true, but it's also…

Upgrade docker-compose installation of Gitlab

If you are using a standard installation of Gitlab with Docker, it means that you are using the omnibus Gitlab installation. And it's excellent! What is not that great however is that the upgrade way is not well documented. But it's actually super-easy: 1. Modify your docker-compose.yaml file and…

Behat tutorial part 2: testing Symfony 6 application

In part 1 we saw how to write a behat test. It's now time to use this knowledge to test our real-world application! Please notice that this tutorial will work with most versions of Symfony since behat is compatible with Symfony 4, 5, and 6. The project we are going…

Behat tutorial part 1: the basics

TL;DR: we are going to functionally test the ls command, the code is here. Behat is a testing tool for PHP. But before understanding what behat is used for, you need to understand that different types of testing exist. ⚠️ I will try to explain here the differences between the…

Deploy Ghost 5 using docker compose and traefik

Have your ghost blog engine running in only a few minutes! Here's our configuration if you want some inspiration. We are using docker compose, traefik, and an SQLite database. Our configuration docker-compose.yml version: '3.1' services: ghost: image: ghost:5.x.x-alpine restart: always volumes: - /data/swag-ghost/content:…

Creating a PHP archive (phar)

Java has jar files. PHP has phar files. Those files are PHP projects packaged. You may know them through usages like composer or PHPUnit. But phar files were designed by taking into consideration the nature of PHP: the web. Therefore, we're going to try to show how to build a…