--- last_review: "2026-05-05" last_reviewer: "-" documented_code: [ ] --- ```{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.