59 lines
2.7 KiB
Markdown
59 lines
2.7 KiB
Markdown
# 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:
|
|
|
|
1. Add `build_it.sh $RELEASE_NAME $SOURCE_DATE` to `create-images.sh` and `remove-images.sh`.
|
|
2. Modify `run-it.sh` to include `$RELEASE_NAME`.
|
|
|
|
## Sequence to Transfer Evolution Files
|
|
|
|
To transfer Evolution files from one version to another, follow these steps:
|
|
|
|
1. Copy `/home/tonny` to the Docker directory.
|
|
2. Run `create-images.sh`.
|
|
3. Sequentially run `run-it.sh`, changing the `RELEASE_NAME` from Wheezy to Bullseye. This should allow for the transfer of Evolution files between versions.
|
|
|
|
## References
|
|
|
|
- [Docker image build](https://docs.docker.com/reference/cli/docker/image/build/)
|
|
- [Dockerfile reference](https://docs.docker.com/reference/dockerfile/)
|