Skip to content
Andrew Hosgood edited this page Nov 26, 2024 · 11 revisions

The National Archives base Docker images are designed to serve as a starting point for all containerised applications in The National Archives. These base images:

  • extend the official Python images
  • include common tools used within TNA (Poetry, nvm, Gunicorn, Uvicorn)
  • don't run as the root user
  • work with the Python frameworks used within TNA (Flask, Django and FastAPI)
  • contain healthcheck definitons
  • work for a number of preset environments
  • can be customised in terms of their thread counts, worker numbers, log levels etc.
  • can build any NodeJS assets as part of their build process
  • are linted with hadolint and shellcheck
  • can start up development NodeJS scripts to build assets in the background

Images

There are three main flavours of image, each created for a separate purpose:

  • tna-python - For generic Python applications and those using Flask or FastAPI
  • tna-python-django - For Django applications
  • tna-python-dev - As a development assistant image to help with code formatting and linting

Root images

There is also tna-python-root and tna-python-django-root which mirror their non-root counterparts but run as root.

⚠️ These root-level images should not be used in production. ⚠️

Versions

Version Purpose
x.y.z A specific semantically versioned release (e.g. 1.2.3)
x.y The latest version of the minor x.y releases (e.g. 1.2 which will be the latest 1.2.z build)
x The latest version of the major x releases (e.g. 1 which will be the latest 1.y.z build)
latest The latest release
preview The most recent build of the main branch which contains new and unreleased features
feature-x An image based off a feature/x branch
graph TD;
    feature --> preview;
    preview --> latest;
    preview --> x.y.z;
    preview --> x.y;
    preview --> x;
Loading
Clone this wiki locally