Skip to content

Feature/container systemd service alt - #154

Draft
Louwrensth wants to merge 19 commits into
iterorganization:developfrom
Louwrensth:feature/container-systemd-service-alt
Draft

Louwrensth wants to merge 19 commits into
iterorganization:developfrom
Louwrensth:feature/container-systemd-service-alt

Conversation

@Louwrensth

Copy link
Copy Markdown
Contributor

Same as

but rebased onto several smaller PRs to check it's identical.

@Louwrensth
Louwrensth force-pushed the feature/container-systemd-service-alt branch from 25debde to 032e045 Compare October 16, 2026 15:15
…ging', 'feature/config-tweaks-for-server', 'bugfix/publish-pypy-is-privileged', 'bugfix/simdb-version' and 'feature/docker-postgres-backup-scripts' into tmp/union
- pin base image tags
- uv sync --no-build for dependencies
  So that it fails quickly rather than try to (slowly) build a dependency when the built package proves unavailable. This was the case for flask-mail~=0.9.1 at python 3.12.

- docker-compose: only need to build image once
  Add `image` spec so docker compose builds it only once instead four times for migrations, web, worker, and beat.
  remove docker-compose-pyver.yml

- gunicorn: expose access and error logs to stdout

- add gunicorn.conf.py without mounting it
  it is baked into the image and reads everything tunable from the GUNICORN_* environment.

- .gitignore: add common data folders
- .gitignore, .dockerignore: cleanup

- scripts/simdb{,_server}: remove redundant scripts
  uv already installs the ones defined in pyproject.toml, under [project.scripts]

- simdb instance: move nginx.dev.conf to docker/
migrations service should wait for a healthy postgres.
postgres should not need `locale` command, it doesn't exist on alpine.
- multi-stage build + server
  build: with all compile dependencies.
  server: with only execute capabilities and OCI labels.
  add validation stage.

- non-root user
  Celery was complaining loudly.

- uv sync --no-dev only,
  UV_NO_DEV environment makes uv run throw warning "has no effect".

- setuptools tweak
  SETUPTOOLS_SCM_PRETEND_VERSION_FOR_IMAS_SIMDB
- add docker compose layer
- add system unit service and env files
- add Makefile for easy deployment
- add to docs
- use docker/version.sh
- simplify variables
- simplify gha workflow to reduce artifact juggling
- simple ci triggers for image building tagging and publishing
- consistent image addresses
- consistent git/image/package version tags
- remove docker test target to verify code
- documentation errata
@Louwrensth
Louwrensth force-pushed the feature/container-systemd-service-alt branch from 032e045 to 7333acb Compare October 16, 2026 15:39
Add docker/entrypoint/boot-nonroot.sh instead of fixed USER directive in Dockerfile. It will setup the correct user matching APP_UID and APP_GID so that the data directory can be written to without needing to rebuild the image.
@Louwrensth
Louwrensth force-pushed the feature/container-systemd-service-alt branch from 684877a to 25e7f57 Compare October 19, 2026 14:51

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant