Docker
Docker: what is it?
Docker allows certain services to be started as containers. A container consists of specific software images that can be loaded from the Internet and started in isolation from the operating system and each other.
For network communication with the container, certain network ports can be made available outside the container. Certain folders within the container can be redirected to the host operating system to make thedata persistent .(So that they are not lost when the container is re-provisioned).
As an example, to provision a database, a Docker container might write the database files and their configuration to the local file system. In this case, the actual database runs isolated in the container after downloading the software images and is accessible from the outside via a network port, e.g. "localhost:1433". The data of the database are in the local file system, the software images can be exchanged with new image versions.

Launch Docker containers on Linux.
Instructions for installing Docker can be found on the manufacturer's site. For Debian / Ubuntu, I did the installation as follows. ... continue reading

Launch Docker containers under Windows
How does it work: how does Windows get to the Linux kernel? In order for Docker to be used in Windows, a Linux kernel is required. The reason for this is that Docker builds on features of the Linux kernel and absolutely needs it to run the containers. The Linux kernel, and therefore Docker, is therefore provided in Docker Desktop via a small Linux virtual machine. ... continue reading

secure https connection: Traefik Reverse Proxy + Let's Encrypt
Ready-made Docker containers are available for almost all known web systems, or they can be created relatively easily or existing containers can be adapted. As Docker containers, the web services can be installed and operated very easily. Anyone publishing a web service over the Internet should definitely offer an encrypted connection (SSL) for this today. To control access to one or more containers, a reverse proxy with free Let's Encrypt certificates can be used for SSL offloading, see also: o... ... continue reading

Docker Container GUI graphical web interface with Portainer
Originally, I managed Docker purely via the command line, which is already very simple with a few simple commands. Portainer provides even more overview and a comfortable admin interface. Portainer itself can also be started as a Docker container and makes managing Docker containers a breeze. ... continue reading

Traefik: Forward traffic to another server
In preparation for moving my websites, I was looking for a way to simply forward all traffic from the old server to the new one. ... continue reading

Moving web servers with Docker containers, theory and practice
Anyone who rents a virtual server or cloud server has to replace it for a new operating system from time to time. At the latest, when updates are no longer provided for the operating system, a server change is inevitable. Some time ago, I switched all websites to Docker containers, which should speed up the move. First, some theory on my thinking, then how my server move went last time. Additionally, I created a video about my last server move, see YouTube video. If you want to skip the the... ... continue reading

Docker data storage: Docker Volumes vs. Host Folders
I run a handful of Docker containers on a single Linux host. Docker containers are known to be replaced when they are rebuilt or swapped to a newer image version, losing all changed data. To permanently store certain folders of the container, they need to be swapped out via volumes or bind mounts. I usually have specific paths of the containers in defined folders connected to the host for this purpose (bind mounts). One of the reasons for using bind mounts instead of volumes is that I can more e... ... continue reading
Practice: Backup Docker container data: Volumes / Bind Mounts
In my article "All Docker containers: Moving hosts, theory and practice", I already went a little bit into the topic of backup. If you followed the article, you know that I outsource the data of my Docker containers via bind mounts and back them up with rsync. The backup job is started via crontab. But first, I thought about what actually needs to be backed up when using Docker in a single-server setup. ... continue reading

Docker Compose vs. Docker Swarm: using and understanding it
Docker Swarm allows nodes (hosts) to be grouped together into a common federation. This allows containers to be run in any number of instances on any number of nodes (hosts) in the network. In Docker Swarm, the basis for communication between hosts is an overlay network for services: Multi-host networking. As indicated in my article on moving web servers, I tested Docker Swarm as a possible option for a shared cross-host network and gathered some insights on this, which I briefly summarize her... ... continue reading

Docker Swarm, Portainer and Traefik combined
As mentioned several times on this page, I primarily use the reverse proxy Traefik to access my Docker containers. To be able to manage the containers in a graphical GUI, I also use Portainer. For a single server, the setup fits so far, but if you want to deploy multiple servers, you can use Docker-Swarm for that. I first tested Portainer in combination with Swarm and extended the setup with Traefik including SSL with Let's Encrypt. ... continue reading

Visitor statistics: Matomo, Google Analytic replacement self-hosting
For those who already use Docker, the open source web analytics software Matomo to easily collect and analyze visitor statistics for their own websites. Unlike Google Analytics, this does not allow the data to be sent to a cloud service, but rather collected on your own self-hosted server. ... continue reading

Spell checker: run LanguageTool server in Docker
While looking for a better spell checker for the browser, I came across the open source software LanguageTool. LanguageTool corrects errors for English, Spanish, French, German, Portuguese, Polish, Dutch and more than 20 other languages. In doing so, LanguageTool also finds errors that a simple spell checker cannot detect. Those who do not want to send their texts to a cloud service can run a LanguageTool server themselves for this purpose. Since the service is also available as a Docker version... ... continue reading

Running Bitwarden in Docker - Setup step by step
Bitwarden is a web-based password manager, similar to LastPass, but open source and the ability to run (host) it yourself. How Bitwarden compares to other password managers, I have considered on the following page: Password Managers Secure? KeePass vs LastPass vs Bitwarden. Bitwarden consists of several services, which can be provided via different containers. The relatively complex setup has been simplified with "Bitwarden Unified" especially for self-hosting by packing all services into one co... ... continue reading

WordPress in Docker incl. HTTPS Let's Encrypt setup
The currently most widespread blogging software WordPress can be operated easily and cost-effectively in Docker containers, among other things. A virtual server or cloud server from a well-known hosting provider can be used as a server, see also: Provider change HostEurope vs Hetzner, vServer vs Cloud Server. If you are not afraid of running your own web server, you can use the setup presented here torun one or more WordPress sites onit, including a free https certificate. The cost of a virtual... ... continue reading

Home Assistant Docker Conbee 2 and Zigbee2MQTT / deCONZ
Thanks to numerous integration options, Home Assistant is a simple platform for controlling a wide range of smart home devices. Compared to ioBroker, I found it much easier to get started with Home Assistant. While for ioBroker I was still searching for which frontend I could use for my dashboards, with Home-Assistant I had a ready-made system out of the box. Home Assistant's Lovelance dashboards can be easily clicked together in the GUI and adapted for special customizations in the code edito... ... continue reading
![Preview Nextcloud Server Docker | Setup + https: Let's Encrypt [ssl]](/storage/300x202/6273d03c721b0.jpg)
Nextcloud Server Docker | Setup + https: Let's Encrypt [ssl]
To synchronize contacts, appointments, and photos of my NAS, I tested Nextcloud and thus turned my back on other cloud providers for my private data. Thanks to Docker, the installation is easier and more flexible than ever, allowing Nextcloud to run on almost any hardware. ... continue reading

Running Docker Mailserver yourself | a field report
With the help of a suitable Docker image, it is relatively easy to run a mail server yourself. I originally used the integrated mail server of the Host Europe vServer (Plesk) and came across a very simple Docker container while looking for a replacement. The lightweight container provides a mail server without a graphical management interface, but can be managed with a few simple commands. Any email client can be used to send and receive the mails, for this POP3 or IMAP is offered for receiving... ... continue reading

Nginx-LetsEncrypt reverse proxy in practice
In addition to Traefk, the Nginx Proxy Automation project can be used to run multiple web services with corresponding SSL certificates on one server . The setup involves several Docker containers that together provide an Nginx reverse proxy including certificate management and SSL offloading. Once the containers are started via Docker Compose, they take care of serving multiple websites over a common IP and its certificate management: for issuing certificates for new containers and renewing the... ... continue reading

InfluxDB: Time series database in Docker
An InfluxDB database is a database optimized for time data. For visualization InfluxDB is often used in combination with Grafana. Note: This article refers to InfluxDB version 1, information about version 2 will follow soon. ... continue reading
Zigbee2MQTT vs deCONZ and Phoscon
Both Phoscon and Zigbee2MQTT are programs for controlling a Zigbee gateway, like the Conbee 2. The primary task of a Zigbee gateway is to connect and centrally control Zigbee devices. After initial difficulties with stability, Phoscon worked relatively well for me recently, but after more than a year of deCONZ and Phoscon I switched to Zigbee2MQTT.One reason for the change was a dimmer switch, which I did not get stable under Phoscon until last: Sometimes it worked, sometimes not, see also: Conb... ... continue reading
Grafana: Docker - visualize data and define alarms
Grafana is a web application for visualizing data. With Grafana you can create nice charts or define alarms in a few minutes. ... continue reading
MQTT - Broker in Docker
MQTT (Message Queuing Telemetry Transport) is an open network protocol for transmitting messages between devices. An MQTT broker, like the open source Mosquitto server, is a simple solution to receive data from SmartHome devices or to control them .As an example, I use MQTT with an ESP32 microcontroller to have it send values to the MQTT broker, which can be retrieved via the MQTT integration in HomeAssistant. In addition, I use the MQTTBroker to communicate my Zigbee devices via Zigbee2MQT, see... ... continue reading

Commissioning Zigbee2MQTT in Docker - step by step
Zigbee2MQTT is an open source Zigbee bridge which can be easily integrated into existing smart home solutions thanks to the MQTT network protocol. As an example, Zigbee2MQTT combined with MQTT broker Mosquitto and Home Assistant can collect, display, record and control data from Zigbee devices. The setup described here uses Docker as a base. Manufacturer's website: https://www.zigbee2mqtt.io ... continue reading

Docker commands in practice
Docker containers can be started, updated and managed using terminal commands. In the post I note commands that I have needed so far for Docker and corresponding examples: ... continue reading