Commit Graph

111 Commits

Author SHA1 Message Date
Cyril Rohr d482f1f708 Fix docker bloat (#21948)
* Refactor Docker build/runtime stages for slimmer images

Split runtime and build dependencies into separate stages and build the app in a dedicated stage before runtime copy.

Add a slim prune stage that removes non-runtime source trees, source maps, duplicate enterprise source videos, module test/doc folders, and extra vendored gem artifacts.

This ensures bytes are removed before the final slim copy, so layer size actually decreases while keeping runtime behavior intact.

* Add target-specific Docker image validation in CI

Introduce script/ci/docker_validate_image.sh with validations for slim, slim-bim, and all-in-one images.

Checks include runtime binary presence/absence, plugin asset/module integrity, slim pruning expectations, BIM tooling, and all-in-one API startup/embedded services.

Update docker workflow to run the validator for every matrix target before push.

* fix

* Generate YAML-safe auto Hocuspocus secret

All-in-one startup auto-generates OPENPROJECT_COLLABORATIVE__EDITING__HOCUSPOCUS__SECRET in the entrypoint.

Environment overrides are parsed through YAML, so leading punctuation in the previous charset (e.g. %) could trigger Psych parsing errors and abort boot.

Restrict generated secret characters to alphanumeric to keep parsing stable while preserving high entropy.

* Fix all-in-one hocuspocus runtime and validation

* Fix all-in-one memcached startup handover
2026-02-11 10:40:54 +01:00
Oliver Günther 0a050946d3 Update hocuspocus image to openproject/hocuspocus:17.0.3 2026-02-06 11:32:26 +01:00
Markus Kahl 921721f2dc use slim ruby image as base, add gem build dependencies 2026-01-23 14:18:45 +00:00
Kabiru Mwenja 4d32e32a38 Bump hocuspocus release to include arm64/v8 build platforms
See: https://github.com/opf/op-blocknote-hocuspocus/pull/31

https://community.openproject.org/wp/705107
2026-01-14 11:44:31 +01:00
Markus Kahl cf6a7e3e64 only auto config hocuspocus for aio/supervisord, allow setting via UI by unsetting url env var from auto to empty 2026-01-14 08:35:55 +00:00
Markus Kahl 31570854fd pin hocuspocus to specific sha to be bumped on update 2026-01-14 06:03:17 +00:00
Markus Kahl 1cfa4f8a36 include and configure hocuspocus in AIO docker container 2026-01-13 17:37:59 +00:00
Oliver Günther 7d28f6ebdc Merge remote-tracking branch 'origin/release/16.6' into dev 2025-10-27 11:05:55 +01:00
Oliver Günther 6bf4c0b67c Bump node to 22.21.0
Addresses CVE-2025-23166
2025-10-27 11:01:44 +01:00
Oliver Günther 533ee53d47 Revert docker workflow for 16.6
We only want it in 17.0
2025-10-23 16:34:36 +02:00
Oliver Günther 8cca715000 Rename to slim-bim 2025-10-23 07:55:12 +02:00
Oliver Günther ab282bfb85 Update docker/prod/Dockerfile
Co-authored-by: Markus Kahl <machisuji@gmail.com>
2025-10-23 07:55:12 +02:00
Oliver Günther 5acadee17a Add separate target for bim 2025-10-23 07:55:11 +02:00
Oliver Günther 39c42a35ef Allow configuration of base image 2025-10-23 07:55:10 +02:00
Oliver Günther cc57c2d741 Add SBOM attestation build args to the dockerfile (#20687)
Add SBOM attestation to the dockerfile
2025-10-22 10:06:09 +02:00
Oliver Günther 7b1e5251dc Bump ruby to 2.4.7
https://community.openproject.org/work_packages/68511
2025-10-22 09:32:05 +02:00
Klaus Zanders e6fa10a649 Update Ruby & bundler 2025-07-18 15:37:31 +02:00
Oliver Günther 2b494e0049 Still allow running older PGVERSION while users are migrating 2025-06-20 08:15:42 +02:00
3115fcfc-2c0b-4076-927f-ae6531c76061 2ba568aa2e Change for Docker PostgreSQL to Version 17 and OpenProject to Version 16 2025-06-20 08:15:41 +02:00
Klaus Zanders 918bc1e8e9 Update Ruby to version 3.4.4 and Bundler to 2.6.9 2025-05-19 10:47:58 +02:00
Cyril Rohr 60b90bf657 Allow more than 2 pg versions to be installed (#18772)
* Allow more than 2 pg versions to be installed

* Ensure PATH is updated with PGBIN

* Ensure all variables are set
2025-05-06 11:16:50 +02:00
Oliver Günther fdea795a77 Bump Node.js and NPM (#18814)
* Bump nodejs to 22.15

* Update frontend docker
2025-05-05 15:30:22 +02:00
Oliver Günther f41619f6b5 Revert "Set NEXT_PGVERSION to 17"
This reverts commit 2393139281.
2025-02-18 17:26:17 +01:00
Oliver Günther 03912e6a7b Revert "Use ARG, not ENV"
This reverts commit 67fb5e4cc5.
2025-02-18 17:26:17 +01:00
Klaus Zanders fa8bb7b98b Update ruby to 3.4.2 2025-02-17 09:58:44 +01:00
Oliver Günther 67fb5e4cc5 Use ARG, not ENV 2025-02-11 10:01:02 +01:00
Oliver Günther 2393139281 Set NEXT_PGVERSION to 17
This will install the psql17 client, allowing is to upgrade on saas
2025-02-11 10:01:02 +01:00
Dombi Attila 173879125a Let bundler take the version from the Gemfile.lock 2025-02-10 15:21:48 +02:00
Markus Kahl 273389c84e update bundler in docker build to fix issue with uninstalled gems 2025-02-10 12:57:21 +01:00
ulferts f8bf0bdf17 bump ruby to 3.4.1 2025-01-23 19:28:50 +01:00
Markus Kahl f932f06a0f cache vendor/bundle in docker workflow
'seed' ppc64 bundle cache with state from release/15.2
2025-01-21 17:28:11 +00:00
Cyril Rohr a65712191a Use more up-to-date gosu release to fix vulnerability 2024-11-27 08:32:04 +01:00
Christophe Bliard 10f256d9ee Fix FromAsCasing warnings in Dockerfile
Warning was:
  FromAsCasing: 'as' and 'FROM' keywords' casing do not match
  More info: https://docs.docker.com/go/dockerfile/rule/from-as-casing/
2024-10-16 11:54:06 +02:00
Alexander 5f3c15e5e7 Always install jemalloc 2024-09-20 15:57:15 +03:00
Alexander 48bff067d2 Merge branch 'dev' into use_jemalloc 2024-09-17 21:20:32 +03:00
Alexander a78e612a66 update runtime 2024-08-29 18:42:55 +03:00
Oliver Günther 01461e2d6b Update docker/prod/Dockerfile
Co-authored-by: Markus Kahl <machisuji@gmail.com>
2024-08-26 14:49:20 +02:00
kale1d0code 7b9c04f9de Update Dockerfile
Remove additional RUN instruction
2024-07-17 13:49:26 +01:00
kale1d0code 36154cb523 Update Dockerfile
remove as many RUN commands as possible to reduce the amount of layers in image and attempt to get its weight down (855.86 MB Compressed!)
2024-07-17 13:44:29 +01:00
Dombi Attila 981c3943f7 Upgrade ruby to 3.3.4 2024-07-15 16:04:15 +03:00
Alexander 242bfea8c6 Support arm and ppc archs 2024-07-08 15:53:21 +03:00
Alexander 4cdb37e8c7 Use jemalloc to prevent memory bloating 2024-06-25 20:44:32 +03:00
Dombi Attila f23461a604 Update Bundler to 2.5.13 2024-06-20 10:34:45 +03:00
Dombi Attila f9422567f1 Update Ruby to 3.3.3 2024-06-19 19:42:52 +03:00
Klaus Zanders 1eec6cad54 Update Ruby to 3.3.2 2024-06-03 12:57:25 +02:00
Oliver Günther fb9d7c9e20 Merge pull request #15633 from opf/merge-release/14.1-20240522033428
Merge release/14.1 into dev
2024-05-22 09:24:19 +02:00
Oliver Günther db05146e53 Remove exposed PSQL port in all-in-one 2024-05-21 13:57:45 +02:00
Cyril Rohr 2bc8e3dce7 Upgrade base ruby image for docker images (#15534)
* Upgrade base ruby image for docker images
* Update base docker image for CI
2024-05-14 10:44:15 +02:00
Oliver Günther 1090e2df9d Merge remote-tracking branch 'origin/release/14.0' into dev 2024-05-08 20:48:52 +02:00
Oliver Günther b8789b15f7 Add some comment on why we added lib and vendor 2024-05-08 20:31:29 +02:00