2.7 KiB
Docker Image Building for Evolution Email
This document outlines the process for building Docker images for Evolution email, utilizing a prepared root filesystem (rootfs.tar.gz) specified in the Dockerfile. The Dockerfile installs Evolution email and its dependencies. The process involves several scripts to automate the building, running, and management of these Docker images across different Debian releases, from Wheezy to Bookworm.
Dockerfile Setup
The Dockerfile is designed to install Evolution email and its dependencies. It assumes the availability of a rootfs.tar.gz file, which contains the root filesystem for the Docker image. This file should be located in the parent directory of the Dockerfile.
Scripts Overview
build-it.sh
This script automates the Docker image building process. It takes a release name and release data, then uses the docker build command to generate the Docker image.
create-images.sh
This script orchestrates the building of Docker images for each Debian release, from Wheezy to Bookworm. It runs build-it.sh for each release, with individual scripts for each release located in the single-scripts directory.
run-it.sh
This script is used to run a Docker container from the specified release image. It takes a release name and mounts ${PWD}/home/tonny as /home/tonny in the container. Running dbus-launch /usr/bin/evolution from the container should bring up an Evolution window.
restore-evolution.sh (WIP)
This script is intended to facilitate the transfer of an Evolution backup from a working Evolution instance to a Docker container. The current implementation simply exits with a status code of 0.
remove-images.sh
This script attempts to remove all Docker images created by create-images.sh using the docker rmi command.
Home Directories
The document references two home directories:
../../home_old(6.3G from November 2021)../../home(1.6G from December 2023)
home_new demonstrates the minimum structure required for Evolution.
Adding a New Release
To add a new release, follow these steps:
- Add
build_it.sh $RELEASE_NAME $SOURCE_DATEtocreate-images.shandremove-images.sh. - Modify
run-it.shto include$RELEASE_NAME.
Sequence to Transfer Evolution Files
To transfer Evolution files from one version to another, follow these steps:
- Copy
/home/tonnyto the Docker directory. - Run
create-images.sh. - Sequentially run
run-it.sh, changing theRELEASE_NAMEfrom Wheezy to Bullseye. This should allow for the transfer of Evolution files between versions.