/elabimg

Official eLabFTW Docker image

Primary LanguageHTMLGNU Affero General Public License v3.0AGPL-3.0

Description

This Docker image is for eLabFTW. It runs three services:

  • Nginx webserver
  • PHP-FPM service
  • Cron daemon to execute recurrent tasks (sending notifications)

These services are managed by s6-overlay and are all customized for running eLabFTW.

Tags

Tags, in the context of Docker images, are what comes after the image name (elabftw/elabimg), separated by a colon. If you leave it empty, it defaults to latest. But it is recommended to explicitly define the version you wish to run, e.g.: elabftw/elabimg:5.0.3.

When defining which image version to use, you can use different tags:

  • x.y.z: the actual explicit version: recommended
  • stable: the latest stable version
  • latest: the latest version, can be a stable version or an alpha or beta, whatever is present on master branch of eLabFTW
  • hypernext: this is the dev version, built on a "push" event as well as on a daily schedule.

Building this image

Set the ELABFTW_VERSION to a tagged release or a branch. The latest stable version can be found here.

DOCKER_BUILDKIT=1 docker build --build-arg ELABFTW_VERSION=X.Y.Z -t elabftw/elabimg:X.Y.Z .

For dev, add --build-arg BUILD_ALL=0 to skip the installation of dependencies and building of assets, because the folder will be bind-mounted to your host anyway.

Usage

An example configuration file for docker-compose can be fetched like this:

curl -so docker-compose.yml "https://get.elabftw.net/?config"

After downloading the configuration file, open it in your preferred text editor to modify settings as necessary.

For usage of eLabFTW, see documentation.

Reloading services

If for some reason you wish to reload a service without restarting the container (for instance when trying configuration changes), you can use reload:

# reload php and nginx
reload
# reload only php
reload php
# reload only nginx
reload nginx

Deleting GitHub build cache

If there is a CVE fixed upstream, delete build cache with:

gh cache delete --all

Requires GitHub CLI: https://cli.github.com/