Commit graph

841 commits

Author SHA1 Message Date
Michael Mayer
c9362a6720 Docker: Refine smaller-skeleton bashrc setup for all images #5154 #5155
Follow-up to the contributor change that moves shell customization out of
per-user home directories:

- Migrate the resolute, trixie, and questing (+ slim) dev images to the
  shared install-bashrc.sh; the shared create-users.sh now hands users a
  minimal skeleton, so images still writing to /etc/skel/.bashrc would
  otherwise lose their aliases and prompt.
- Restore export PATH="$PATH:$HOME/.local/bin" (needed for claude/gh) in
  the full dev images by writing it to /etc/bash.bashrc; kept out of the
  slim and production images, which never had it.
- Guard the /etc/skel/.config copy in create-users.sh so production images
  without it don't emit a spurious error, and use rm -f /root/.bashrc.
- Fix the install-bashrc.sh header reference and silence an intentional
  SC2016 on the runtime-expanded PS1.
2026-07-10 00:56:15 +02:00
Alexis Lefebvre
44e7ed3f7e feat: use a smaller skeleton when calling useradd
# Conflicts:
#	docker/develop/armv7/Dockerfile
#	docker/develop/bookworm/Dockerfile
#	docker/develop/bullseye/Dockerfile
#	docker/develop/buster/Dockerfile
#	docker/develop/jammy/Dockerfile
#	docker/develop/lunar/Dockerfile
#	docker/develop/mantic/Dockerfile
#	docker/develop/noble/Dockerfile
#	docker/develop/oracular/Dockerfile
#	docker/develop/plucky/Dockerfile
2026-07-10 00:48:46 +02:00
Michael Mayer
88321bcda9 Docker: Remove unused goproxy module-proxy image and build target
The goproxy caching module proxy was a temporary workaround for build rate limits that no longer apply, and nothing references the published image (no compose service, CI step, or GOPROXY target).
2026-06-10 18:24:59 +00:00
Michael Mayer
1ca21007b3 Build: Update Go toolchain to 1.26.4 and refresh x/net and x/sys
Bumps the go.mod toolchain directive and the dummy OIDC fixture to
go1.26.4, clearing the GO-2026-5037/5038/5039 stdlib advisories. Updates
golang.org/x/net to v0.56.0 (NOTICE regenerated) and the fixture's
golang.org/x/sys to v0.46.0. osv-scanner --recursive returns zero
advisories and the full Go suite passes.
2026-06-10 18:06:19 +00:00
Michael Mayer
a7ee3c2e19 Config: Add PHOTOPRISM_SITE_NAME to compose examples and Helm charts
Also align the SITE_* inline doc comments with the CLI flag help.
2026-06-10 14:28:50 +00:00
Cathie Integra
733dbf00a9 Docker: Run install-libvips.sh before install-libheif.sh on Jammy #5621 2026-05-27 09:52:13 +02:00
Cathie Integra
df152c4fb8 Docker: Replace libvips-dev with runtime variant in slim images #5621 2026-05-27 08:47:33 +02:00
Cathie Integra
83fbca10c2 HEIC: Default install-libheif.sh to v1.22.2 and switch Resolute base #5621 2026-05-27 04:17:19 +02:00
Michael Mayer
860f937abe Docker: Remove Pebble binary from Ubuntu base images #5620
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-05-27 03:25:22 +02:00
Michael Mayer
91d27f7e6e Docs: Update copyright year in Dockerfiles, scripts, and Go files
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-05-22 07:56:59 +02:00
Michael Mayer
0d960aa36a Go: Bump toolchain to 1.26.3 to clear stdlib CVE advisories
Upstream Go's May 2026 release patches 8 stdlib advisories that fired
against the previously declared toolchain (1.26.2):

- GO-2026-4918 / CVE-2026-33814 (HTTP/2 SETTINGS_MAX_FRAME_SIZE loop)
- GO-2026-4971 / CVE-2026-39836 (net.Dial NUL byte panic, Windows)
- GO-2026-4976 / CVE-2026-39825 (ReverseProxy URL param forwarding)
- GO-2026-4977 / CVE-2026-42499 (net/mail consumePhrase quadratic)
- GO-2026-4980 / CVE-2026-39826 (html/template escaper bypass XSS)
- GO-2026-4981 / CVE-2026-33811 (net long CNAME crash)
- GO-2026-4982 / CVE-2026-39823 (html/template meta URL escape XSS)
- GO-2026-4986 / CVE-2026-39820 (net/mail consumeComment quadratic)

osv-scanner --recursive now reports 0 advisories. The go directive
floor stays at 1.25.0 so developers without GOTOOLCHAIN=auto can still
build with any Go >= 1.25.0.
2026-05-10 12:49:59 +00:00
Cathie Integra
366bebddca Develop: Switch default base image to Ubuntu 26.04 LTS (Resolute) #5543 2026-05-10 11:32:40 +02:00
Michael Mayer
5a9e4b6031 Config: Default to "zstd,gzip" in sample compose files #5550
Flips the operator-facing default across all sample compose files,
the Linux package defaults, and the Portainer stack env so QA
exercises zstd end-to-end before the next release. The armv7
samples keep their "none" value to spare the CPU on small devices;
only the comment was broadened.
2026-05-03 10:10:48 +00:00
Michael Mayer
64f91789c9 OIDC: Treat unknown dummy clients as confidential web clients #5545
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-04-27 11:40:27 +02:00
Michael Mayer
64838087bd OIDC: Refresh dummy fixture against zitadel/oidc/v3 #5545
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-04-27 11:33:18 +02:00
Michael Mayer
036d67b58f Backend: Upgrade Go deps in go.mod and go.sum
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-04-27 11:23:23 +02:00
Michael Mayer
6cb5684ed2 Build: Fix resolute ARM64 chromium libjpeg, use apt libheif #5543
install-chrome.sh now pins Debian Bookworm to apt priority 100 with
chromium-* elevated to 990, preventing apt from "upgrading" unrelated
Ubuntu packages like libjpeg-dev to Bookworm's higher-versioned one
(which would pull libjpeg62-turbo-dev and collide with Ubuntu's
libjpeg-turbo8-dev). The conflict affected all Ubuntu+Bookworm-
chromium ARM64 builds; Resolute happened to surface it first.

The Resolute Dockerfiles now install libheif (1.21.2) from the
Resolute apt repo and explicitly pull the codec plugins, replacing
the older 1.20.2 archive previously fetched by install-libheif.sh.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-04-27 09:43:29 +02:00
Michael Mayer
53906f2bde Build: Drop software-properties-common from trixie develop image #5542
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-04-27 09:14:05 +02:00
Michael Mayer
297f6eda98 Build: Add Ubuntu 26.04 LTS (Resolute Raccoon) base images #5543
Adds docker/develop/resolute/ and docker/develop/resolute-slim/ as
direct clones of the questing images with the base image, OCI labels,
and top-of-file comment switched to resolute. Test builds can be created
once the final "ubuntu:resolute" image is published on Docker Hub.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-04-27 08:43:52 +02:00
Michael Mayer
14b605df2f Build: Add Debian 13 (Trixie) develop and base images #5542
Adds docker/develop/trixie/ (full) and docker/develop/trixie-slim/
images based on the Bookworm images, with ImageMagick 7 policy path,
s6-overlay parity with Questing, and Trixie packages for libjxl,
va-driver, nvenc, postgresql-client, and ripgrep.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-04-27 08:33:26 +02:00
Michael Mayer
757714515e Build: Bundle Hadolint, OSV-Scanner, Gitleaks in develop images
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-04-27 08:17:04 +02:00
Michael Mayer
5bda752118 Build: Add shared .telemetry file to opt out of CLI telemetry
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-04-24 16:42:21 +02:00
Michael Mayer
be98c04d0d Docker: Document directory layout and legacy image policy in README.md
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-04-15 15:20:53 +02:00
Michael Mayer
26a5c06762 Claude: Run "claude update" if already installed and add render-pdf deps
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-04-13 12:49:04 +02:00
Michael Mayer
812faccae6 Clean-up: Drop imaging and pigo library integrations #5353 #5508 #668
Also drops github.com/esimov/pigo since it requires the imaging lib.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-04-01 13:47:42 +02:00
Michael Mayer
4b18fe1a45 Develop: Add bubblewrap package to base images
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-31 15:01:20 +02:00
Michael Mayer
f58335cb4b Build: Backport libvips in Jammy images and document 8.14+
- add scripts/dist/install-libvips.sh for Jammy backport installs
- switch jammy and jammy-slim Dockerfiles to use the new installer
- document libvips 8.14+ requirement in setup/pkg/linux docs
- update thumb/README.md and regenerate setup/pkg/linux/README.html

Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-03 11:43:28 +01:00
Michael Mayer
ed65deb83a Develop: Add config dir defaults to base images and compose.yaml
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-01 12:56:53 +01:00
Michael Mayer
9d27e5aae4 Dockerfiles: Add env defaults to develop base images
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-01 12:40:52 +01:00
Michael Mayer
54618b7117 Dockerfiles: Add openssh-client package to develop base images
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-01 12:26:51 +01:00
Michael Mayer
ce65fc7e7b Dev: Update Dockerfiles, Makefile, .gitignore, and .dockerignore
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-02-21 00:53:36 +01:00
Michael Mayer
cd7affffeb Cleanup: Fix formatting of Markdown files
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-02-14 12:10:43 +01:00
Michael Mayer
d62824ea23 CI: Fix typo in docker/develop/questing/Dockerfile #5361
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-12-11 11:17:04 +01:00
Michael Mayer
18889cc21f AI: Remove OLLAMA_BASE_URL default from Dockerfiles #5361
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-12-10 11:09:37 +01:00
Michael Mayer
75f183aa25 AI: Add support for OLLAMA_BASE_URL env expansion in vision.yml #5361
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-12-10 10:52:26 +01:00
Michael Mayer
184deb20d2 WebDAV: Enable the "dummy-webdav" service to shut down gracefully
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-12-10 08:56:53 +01:00
Michael Mayer
471ec0318b OIDC: Update dependencies of the "dummy-oidc" service & add tests #5381
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-12-10 08:55:27 +01:00
Michael Mayer
46d53d63f8 Dockerfiles: Add "binutils" and "binutils-gold" packages #5330
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-21 13:36:29 +01:00
Michael Mayer
217c5a44e3 Watchtower: Use nickfedor/watchtower instead of containrrr/watchtower
Required or compatibility with Docker 29.0.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-15 16:07:34 +01:00
Michael Mayer
e4544046b3 Scripts: Update dist/install-devops-tools.sh & install-proxysql-admin.sh
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-04 10:51:35 +01:00
Michael Mayer
5d6e46b87f Develop: Add package "htop" to docker/develop/questing/Dockerfile
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-19 22:13:33 +02:00
Michael Mayer
580751a051 Docker: Add Makefile targets and Dockerfiles for Ubuntu 25.10 #5276
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-18 10:49:09 +02:00
Michael Mayer
d36e83d2ef Develop: Remove whitespace from docker/develop/plucky/Dockerfile
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-10 08:52:45 +02:00
Michael Mayer
1273991a7d Develop: Add xvfb and fonts to docker/develop/plucky/Dockerfile
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-10 08:47:49 +02:00
Michael Mayer
94f8a5f35d AI: Improve Face Detection with an ONNX-based model #5167
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-06 18:51:49 +02:00
Michael Mayer
a988459ef0 Dockerfiles: Update environment variables and their defaults
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-04 15:07:40 +02:00
Michael Mayer
4275290f93 Dockerfiles: Remove optional and database password env variables
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-04 14:58:04 +02:00
Michael Mayer
4d4cac446e Docker: Add package xxd to develop/plucky/Dockerfile
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-30 15:52:45 +02:00
Michael Mayer
ade3b40a42 Docker: Add "python" symlink to develop/plucky/Dockerfile
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-22 10:45:12 +02:00
Michael Mayer
acdf91d668 Dockerfiles: Add system packages for the development environment
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-12 13:07:53 +02:00