Tags: developer, explanation, administrator, concept

The Big Picture#

The LinkAhead application is split into one image for the SQL server and one for the LinkAhead server itself. Both communicate with each other in a network set up by Docker Compose.

Images#

  • SQL: The SQL image is based on an upstream MariaDB image, additional setup of user and database schema are performed later in the build process.

  • LinkAhead: The LinkAhead image is based on Debian Stable. The build process adds the necessary packages and downloads and builds the LinkAhead server, including the WebUI.

Composition#

Docker Compose starts a container for each image and configures the runtime images for matching settings. The linkahead wrapper script creates and manages the docker-compose.yml file from the profile configuration.

Customization#

The customization mainly happens via the settings in the profile.yml and the custom directories specified therein.

  • Passwords: At the moment there are default passwords for access to the SQL server, but it is planned that they be replaced by random-generated password for each docker-compose instantiation. This should not be of utmost importance if it is possible to separate the SQL server from the rest of the host system on a network level.

  • Permanent data: Data that is to remain beyond destruction of the containers is stored outside, linked inside the containers by volumes.