How to configure an E-mail distribution service using Postfix + Courier IMAP with SQLite as the credentials storage endpoint

Motiviation

While I was doing the migration from Ubuntu 14 to Ubuntu 16, I came across the high resource demands required by the new version of MySQL. I’m running on a very basic VPS with to few RAM, and so MySQL (was running 5.7) crashed much frequently, so I decided to switch a MySQL fork, mariaDB, in this case. Tried first with the last stable version, 10.3, than I discovered that this version was still with more problems and running with even more problems with the very low RAM, so I downgraded to 10.1, but still the problems persisted. I ran the mysqltuner script to adjust the mariaDB configuration according to this “hardware” requirements. I changed the max_connections variable and lowered the value to 2 or 3. Still discovered that the entire VPS has crashed just because of this. Then I increased the value to 10 and Postfix started to complain with authentication errors since the e-mail credentials are stored in a MySQL schema. On that MySQL there are running other schemas, one for a wordpress site with very low bandwidth, and other wordpress site for a business, with much more load than the last wordpress. You know, wordpress does not support officialy other SQL engines than MySQL, which is bad, very bad, but I discovered a plugin that allows you to use SQLite as a WordPress backend. Very good for the wordpress instance with much less load (Truly speaking, it right this one that is storing this blog). So I decided, if now I can use SQLite as the backend for an WordPress site, why not use it also to store email service credentials. Very unfrequentely I change those credentials, so I move on studying how Postfix and Courier could use a simple SQLite database to store the email credentials and other stuff Postfix implements like transports, or e-mail forwardings. Continue reading “How to configure an E-mail distribution service using Postfix + Courier IMAP with SQLite as the credentials storage endpoint”

How to move the base docker directory to another location (part II)

Continuing from my last post , the process of putting the docker base directory in a remote mount point was completed with a relative success, because I’m still struggling with the fact that the permissions that NFS attribute to the users on the machine the share is mounted. Every new file or modified one is assigned, on the perspective of the docker container, to the user “nobody“, which presents a problem for some services/daemons like sshd, which start to complain if their configuration are world-readable and belonging to another that is not root. Now, the big docker image which is a mirror of my VPS storage is now residing on a share on my NAS. Continue reading “How to move the base docker directory to another location (part II)”

How to move the base docker directory to another location

Some weeks ago, I started getting notices that the root dir where my Linux is mounted was getting low space. I dismissed the warnings and thought there should be something out of the way. Still true that my Linux root partition is just  85 gigs, because I repartitioned the disk on a laptop that goot only Windows installed in it, and Ubuntu does not need that much space in order to install the core of its OS, keeping my /home on a separate partition in case had to reinstall Linux and all my personal stuff in a NTFS partition shared between Windows and Linux. I emptied all the trash folders, clean the /tmp  dir completely and still was getting the warnings.

Continue reading “How to move the base docker directory to another location”