Build: Add shared .telemetry file to opt out of CLI telemetry

Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
Michael Mayer 2026-04-24 16:42:21 +02:00
parent 989227097a
commit 5bda752118
53 changed files with 382 additions and 63 deletions

17
.telemetry Normal file
View file

@ -0,0 +1,17 @@
# Privacy defaults: opt out of third-party telemetry, analytics, update checks,
# and other non-essential network calls. Uses plain KEY=VALUE lines so this
# file can be referenced by Docker Compose via env_file: and sourced from
# shells, in addition to being included by the Makefile.
DO_NOT_TRACK=true
DISABLE_AUTOUPDATER=1
DISABLE_TELEMETRY=1
DISABLE_ERROR_REPORTING=1
DISABLE_FEEDBACK_COMMAND=1
NO_UPDATE_NOTIFIER=true
NPM_CONFIG_UPDATE_NOTIFIER=false
NPM_CONFIG_AUDIT=false
NPM_CONFIG_FUND=false
GH_TELEMETRY=false
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1

View file

@ -6,6 +6,11 @@
export GO111MODULE=on
export NPM_CONFIG_IGNORE_SCRIPTS ?= true
ifneq (,$(wildcard .telemetry))
include .telemetry
export $(shell sed -n 's/^[[:space:]]*\([A-Z_][A-Z0-9_]*\)=.*/\1/p' .telemetry)
endif
-include .semver
-include .env
@ -290,9 +295,9 @@ npm-version:
dep-npm:
@echo "Installing NPM package manager..."
@if command -v sudo >/dev/null 2>&1; then \
sudo npm install -g --location=global --no-fund --no-audit "npm@latest"; \
sudo npm install -g --location=global --ignore-scripts --no-fund --no-audit --no-update-notifier "npm@latest"; \
else \
npm install -g --location=global --no-fund --no-audit "npm@latest"; \
npm install -g --location=global --ignore-scripts --no-fund --no-audit --no-update-notifier "npm@latest"; \
fi
dep-js:
npm ci --ignore-scripts --no-update-notifier --no-audit
@ -303,10 +308,11 @@ dep-codex:
@echo "Installing Codex CLI..."
@[ -n "$(CODEX_HOME)" ] && [ "$(CODEX_HOME)" != "/" ] && install -d -m 700 -- "$(CODEX_HOME)" || true
@if command -v sudo >/dev/null 2>&1; then \
sudo npm install -g --location=global --no-fund --no-audit "@openai/codex@latest"; \
sudo npm install -g --location=global --ignore-scripts --no-fund --no-audit --no-update-notifier "@openai/codex@latest"; \
else \
npm install -g --location=global --no-fund --no-audit "@openai/codex@latest"; \
npm install -g --location=global --ignore-scripts --no-fund --no-audit --no-update-notifier "@openai/codex@latest"; \
fi
@codex features disable general_analytics || true
codex-skills:
@if [ -d "specs/.agents/skills" ]; then \
echo "Linking Codex skills from specs/.agents/skills..."; \

View file

@ -37,6 +37,12 @@ services:
- "traefik.http.routers.photoprism.tls.domains[0].main=localssl.dev"
- "traefik.http.routers.photoprism.tls.domains[0].sans=*.localssl.dev"
- "traefik.http.routers.photoprism.tls=true"
## Override variables with optional env file, see https://docs.docker.com/reference/compose-file/services/#required
env_file:
- path: ".telemetry"
required: false
- path: ".env"
required: false
## Configure development environment
environment:
## Run as a non-root user after initialization (supported: 0, 33, 50-99, 500-600, and 900-1200):
@ -127,8 +133,8 @@ services:
GOCACHE: "/go/src/github.com/photoprism/photoprism/.local/gocache"
CODEX_HOME: "/go/src/github.com/photoprism/photoprism/.local/codex"
CLAUDE_CONFIG_DIR: "/go/src/github.com/photoprism/photoprism/.local/claude"
GH_CONFIG_DIR: "/go/src/github.com/photoprism/photoprism/.local/gh"
GH_REPO: "photoprism/photoprism"
GH_CONFIG_DIR: "/go/src/github.com/photoprism/photoprism/.local/gh"
## Share hardware devices with FFmpeg for hardware video transcoding:
devices:
- "/dev/dri:/dev/dri"

View file

@ -40,6 +40,12 @@ services:
- "traefik.http.routers.photoprism.tls.domains[0].main=localssl.dev"
- "traefik.http.routers.photoprism.tls.domains[0].sans=*.localssl.dev"
- "traefik.http.routers.photoprism.tls=true"
## Override variables with optional env file, see https://docs.docker.com/reference/compose-file/services/#required
env_file:
- path: ".telemetry"
required: false
- path: ".env"
required: false
## Configure development environment
environment:
## Run as a non-root user after initialization (supported: 0, 33, 50-99, 500-600, and 900-1200):
@ -136,8 +142,8 @@ services:
GOCACHE: "/go/src/github.com/photoprism/photoprism/.local/gocache"
CODEX_HOME: "/go/src/github.com/photoprism/photoprism/.local/codex"
CLAUDE_CONFIG_DIR: "/go/src/github.com/photoprism/photoprism/.local/claude"
GH_CONFIG_DIR: "/go/src/github.com/photoprism/photoprism/.local/gh"
GH_REPO: "photoprism/photoprism"
GH_CONFIG_DIR: "/go/src/github.com/photoprism/photoprism/.local/gh"
## Shared devices for video hardware transcoding (optional):
# devices:
# - "/dev/dri:/dev/dri" # Required Intel QSV or VAAPI hardware transcoding

View file

@ -43,6 +43,8 @@ services:
- "traefik.http.routers.photoprism.tls=true"
## Override variables with optional env file, see https://docs.docker.com/reference/compose-file/services/#required
env_file:
- path: ".telemetry"
required: false
- path: ".env"
required: false
## Configure development environment
@ -144,8 +146,8 @@ services:
GOCACHE: "/go/src/github.com/photoprism/photoprism/.local/gocache"
CODEX_HOME: "/go/src/github.com/photoprism/photoprism/.local/codex"
CLAUDE_CONFIG_DIR: "/go/src/github.com/photoprism/photoprism/.local/claude"
GH_CONFIG_DIR: "/go/src/github.com/photoprism/photoprism/.local/gh"
GH_REPO: "photoprism/photoprism"
GH_CONFIG_DIR: "/go/src/github.com/photoprism/photoprism/.local/gh"
## Shared devices for video hardware transcoding (optional):
# devices:
# - "/dev/dri:/dev/dri" # Required Intel QSV or VAAPI hardware transcoding

View file

@ -1,5 +1,7 @@
FROM golang:1.22-alpine
ENV DO_NOT_TRACK=true
# Q: What is this?
# A: DDNS is a personal DynDNS client for DigitalOcean, see https://github.com/skibish/ddns.

View file

@ -1,7 +1,8 @@
FROM photoprism/photoprism:preview-ce AS build
# Set environment variables
ENV TF_CPP_MIN_LOG_LEVEL=4 \
ENV DO_NOT_TRACK=true \
TF_CPP_MIN_LOG_LEVEL=4 \
TF_ENABLE_ONEDNN_OPTS=1 \
MALLOC_ARENA_MAX=2 \
PHOTOPRISM_STORAGE_PATH="/photoprism/storage" \

View file

@ -1,7 +1,7 @@
FROM photoprism/photoprism:preview-ce-debian AS build
# Set environment variables
ENV TF_CPP_MIN_LOG_LEVEL=4 \
ENV DO_NOT_TRACK=true \
TF_CPP_MIN_LOG_LEVEL=4 \
TF_ENABLE_ONEDNN_OPTS=1 \
MALLOC_ARENA_MAX=2 \
PHOTOPRISM_STORAGE_PATH="/photoprism/storage" \

View file

@ -1,7 +1,7 @@
FROM photoprism/photoprism:preview-ce-ubuntu AS build
# Set environment variables
ENV TF_CPP_MIN_LOG_LEVEL=4 \
ENV DO_NOT_TRACK=true \
TF_CPP_MIN_LOG_LEVEL=4 \
TF_ENABLE_ONEDNN_OPTS=1 \
MALLOC_ARENA_MAX=2 \
PHOTOPRISM_STORAGE_PATH="/photoprism/storage" \

View file

@ -1,7 +1,7 @@
FROM photoprism/photoprism:unstable-ce AS build
# Set environment variables
ENV TF_CPP_MIN_LOG_LEVEL=4 \
ENV DO_NOT_TRACK=true \
TF_CPP_MIN_LOG_LEVEL=4 \
TF_ENABLE_ONEDNN_OPTS=1 \
MALLOC_ARENA_MAX=2 \
PHOTOPRISM_STORAGE_PATH="/photoprism/storage" \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="develop" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="develop" \
NODE_ENV="production" \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="develop" \
NODE_ENV="production" \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="develop" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="develop" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="develop" \
NODE_ENV="production" \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="develop" \
NODE_ENV="production" \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="develop" \
NODE_ENV="production" \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="develop" \
NODE_ENV="production" \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="develop" \
NODE_ENV="production" \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="develop" \
NODE_ENV="production" \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -21,7 +21,19 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
GH_TELEMETRY=false \
DISABLE_TELEMETRY=1 \
DISABLE_ERROR_REPORTING=1 \
DISABLE_FEEDBACK_COMMAND=1 \
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
DISABLE_AUTOUPDATER=1 \
NO_UPDATE_NOTIFIER=true \
NPM_CONFIG_AUDIT=false \
NPM_CONFIG_FUND=false \
NPM_CONFIG_UPDATE_NOTIFIER=false \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="develop" \
NODE_ENV="production" \

View file

@ -11,7 +11,8 @@ RUN go mod download
RUN go build -o server .
# Allow HTTP scheme
ENV CAOS_OIDC_DEV="true" \
ENV DO_NOT_TRACK=true \
CAOS_OIDC_DEV="true" \
ZITADEL_OIDC_DEV="true"
# Expose HTTP port

View file

@ -7,7 +7,8 @@ WORKDIR "/webdav"
RUN go install github.com/hacdias/webdav@latest
ENV WEBDAV_USERNAME="admin" \
ENV DO_NOT_TRACK=true \
WEBDAV_USERNAME="admin" \
WEBDAV_PASSWORD="photoprism"
# Expose HTTP port

View file

@ -1,6 +1,8 @@
##################################################### BUILD STAGE ######################################################
FROM golang:alpine AS build
ENV DO_NOT_TRACK=true
RUN apk add --no-cache -U make git mercurial subversion
RUN git clone https://github.com/goproxyio/goproxy.git /src/goproxy && \
@ -11,7 +13,9 @@ RUN git clone https://github.com/goproxyio/goproxy.git /src/goproxy && \
################################################## PRODUCTION STAGE ####################################################
FROM golang:alpine
ENV TINI_VERSION v0.19.0
ENV DO_NOT_TRACK=true \
TINI_VERSION=v0.19.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-static-amd64 /usr/bin/tini
RUN chmod +x /usr/bin/tini

View file

@ -38,7 +38,8 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -36,7 +36,8 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
TMPDIR="/tmp" \

View file

@ -36,7 +36,8 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
TMPDIR="/tmp" \

View file

@ -36,7 +36,8 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -36,7 +36,8 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
PS1="\u@$BUILD_TAG:\w\$ " \

View file

@ -37,7 +37,8 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
TMPDIR="/tmp" \

View file

@ -37,7 +37,8 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
TMPDIR="/tmp" \

View file

@ -37,7 +37,8 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
TMPDIR="/tmp" \

View file

@ -37,7 +37,8 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
TMPDIR="/tmp" \

View file

@ -37,7 +37,8 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
TMPDIR="/tmp" \

View file

@ -37,7 +37,8 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
TMPDIR="/tmp" \

View file

@ -37,7 +37,8 @@ ARG TARGETARCH
ARG BUILD_TAG
# Set environment variables, see https://docs.photoprism.app/getting-started/config-options/.
ENV PHOTOPRISM_ARCH=$TARGETARCH \
ENV DO_NOT_TRACK=true \
PHOTOPRISM_ARCH=$TARGETARCH \
DOCKER_TAG=$BUILD_TAG \
DOCKER_ENV="prod" \
TMPDIR="/tmp" \

View file

@ -2,7 +2,8 @@ FROM ubuntu:22.04
LABEL maintainer="PhotoPrism UG <hello@photoprism.app>"
ENV DEBIAN_FRONTEND="noninteractive"
ENV DO_NOT_TRACK=true \
DEBIAN_FRONTEND="noninteractive"
ENV TMP=/tmp
# see https://docs.docker.com/build/building/variables/#env-usage-example

View file

@ -1,8 +1,8 @@
FROM ubuntu:22.04
LABEL maintainer="PhotoPrism UG <hello@photoprism.app>"
ENV DEBIAN_FRONTEND="noninteractive"
ENV DO_NOT_TRACK=true \
DEBIAN_FRONTEND="noninteractive"
ENV TMP=/tmp
# see https://docs.docker.com/build/building/variables/#env-usage-example

View file

@ -1,9 +1,9 @@
ARG BUILDER_SHA2=06040763c500bd2ebaaa4585d4729c88d2c8ccec94baa7fbe9bbe3dc2827d79d
FROM gcr.io/tensorflow-testing/ml-devinfra-linux-aarch64-cross-compile:infrastructure-public-image-${BUILDER_SHA2}
# see https://docs.docker.com/build/building/variables/#env-usage-example
ARG TF_VERSION=2.18.0
ENV TF_VERSION=$TF_VERSION
ENV DO_NOT_TRACK=true \
TF_VERSION=$TF_VERSION
COPY ./create_archive.sh .
COPY ./Makefile Makefile

View file

@ -8,6 +8,12 @@ GID := $(shell id -g)
PWD := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
REPO_ROOT := $(abspath $(PWD)/..)
NODE_IMAGE ?= node:lts
export NPM_CONFIG_IGNORE_SCRIPTS ?= true
ifneq (,$(wildcard $(REPO_ROOT)/.telemetry))
include $(REPO_ROOT)/.telemetry
export $(shell sed -n 's/^[[:space:]]*\([A-Z_][A-Z0-9_]*\)=.*/\1/p' $(REPO_ROOT)/.telemetry)
endif
define DOCKER_NPM
docker run --rm -it \
@ -16,10 +22,9 @@ docker run --rm -it \
--user "$(UID):$(GID)" \
--read-only --tmpfs /tmp \
-v ~/.cache/npm:/npm-cache \
--env-file "$(REPO_ROOT)/.telemetry" \
-e NPM_CONFIG_CACHE=/npm-cache \
-e NPM_CONFIG_AUDIT=false \
-e NPM_CONFIG_FUND=false \
-e NO_UPDATE_NOTIFIER=true \
-e NPM_CONFIG_IGNORE_SCRIPTS=true \
--cap-drop ALL --security-opt no-new-privileges --pids-limit 256 \
$(NODE_IMAGE) sh -lc
endef
@ -36,8 +41,8 @@ notice:
@echo "Creating license report for frontend dependencies..."
license-report --only=prod --config=.report.json > NOTICE
install-npm:
# Keep scripts enabled for npm itself; split other globals and disable scripts for safety
sudo npm install -g npm@latest
# Split global installs and disable package scripts for safety.
sudo npm install -g --ignore-scripts --no-fund --no-audit --no-update-notifier npm@latest
sudo npm install -g --ignore-scripts --no-fund --no-audit --no-update-notifier npm-check-updates@latest license-report@latest
install-testcafe:
npm install -g --ignore-scripts --no-fund --no-audit --no-update-notifier testcafe@latest

View file

@ -30,9 +30,9 @@ fi
# Some npm versions dont support --location=global; detect and adapt
if npm help install 2>/dev/null | grep -q -- '--location'; then
NPM_GLOBAL_OPTS=(install -g --location=global --no-fund --no-audit)
NPM_GLOBAL_OPTS=(install -g --location=global --ignore-scripts --no-fund --no-audit --no-update-notifier)
else
NPM_GLOBAL_OPTS=(install -g --no-fund --no-audit)
NPM_GLOBAL_OPTS=(install -g --ignore-scripts --no-fund --no-audit --no-update-notifier)
fi
# Install / update Codex CLI
@ -42,6 +42,7 @@ $SUDO npm "${NPM_GLOBAL_OPTS[@]}" "@openai/codex@latest"
if command -v codex >/dev/null 2>&1; then
echo "Codex installed at: $(command -v codex)"
codex --version || true
codex features disable general_analytics || true
fi
echo "Done."

View file

@ -37,6 +37,8 @@ if [[ "$(id -u)" -ne 0 ]]; then
fi
export DEBIAN_FRONTEND="noninteractive"
export DO_NOT_TRACK="true"
export GH_TELEMETRY="false"
if ! command -v wget >/dev/null 2>&1; then
${SUDO} apt-get update

View file

@ -50,7 +50,7 @@ fi
echo "Configuring NPM..."
sudo npm config set cache ~/.cache/npm
echo "Updating NPM..."
sudo npm install -g --no-fund "npm@$NPM_VERSION" n@latest
sudo npm install -g --ignore-scripts --no-fund --no-audit --no-update-notifier "npm@$NPM_VERSION" n@latest
echo "Installing npm-check-updates and license-report..."
sudo npm install -g --ignore-scripts --no-fund --no-audit --no-update-notifier npm-check-updates@latest license-report@latest
echo "Installing TestCafe..."