Namespace
mauriceboe
Image / Tag
trek:4.3.0
Content Digest
sha256:3521a3a2f121f59c3a30253a8f34fc7941a41ea73e8a6450769ae60e81f1de2a
Details
Created

2026-09-20 13:58:43 UTC

Size

448 MB

Content Digest
Environment
APP_VERSION

4.3.0

KITINERARY_EXTRACTOR_PATH

/usr/local/bin/kitinerary-extractor

NODE_ENV

production

NODE_USE_ENV_PROXY

1

NODE_VERSION

24.21.0

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PORT

3000

QT_QPA_PLATFORM

offscreen

XDG_CACHE_HOME

/tmp/kf6-cache

YARN_VERSION

1.22.22


Layers

[#000] sha256:6b37362b3da78869050b894b799ad4df04f1f3b52774087db0d81151570244c8 - 6.35% (28.4 MB)

[#001] sha256:d12b5b80b6664a33b721468ab84fd31e7b92f69f61e34b1077f889e2d3662ab0 - 0.0% (3.23 KB)

[#002] sha256:f753d0b35e55df56cff64bb6b9fa1b36e1c9b403a852bcc0622840d660fc0283 - 10.83% (48.5 MB)

[#003] sha256:c47263c28cb3ee0382861344bd34c1a3a2a6f7273c4abcf1f923724a5125e1d4 - 0.37% (1.64 MB)

[#004] sha256:fb41dc018e8efd2afea805c0e06f80dd58a35a7ec2aff5a3c22ac01ad181f528 - 0.0% (446 Bytes)

[#005] sha256:fe2840b90063520181a37ab5b9e62884f71b2266cf6b3cd27772196b5315739c - 0.0% (93 Bytes)

[#006] sha256:dff7961312ab662dd78b136693350ab2511ea347f30c60cb3c5a3cb00bc6c77d - 0.04% (175 KB)

[#007] sha256:7f90351fb174f03f9c3d1efe9f87142fd92a01c0574088b292e455260c1b0637 - 0.0% (901 Bytes)

[#008] sha256:193edb0f553805a078446cafa2bab4c48e82a999091cf9770c2241ceb86da4b0 - 0.0% (1.37 KB)

[#009] sha256:1fd27b5cf636d7a7434f6970b8dc28aea47e1e27bf390664e015bb5b7920a8c9 - 66.38% (297 MB)

[#010] sha256:96beb64fc8911c058c45de1e9256230be971a393bbb944f8ce60286472d32baf - 0.34% (1.55 MB)

[#011] sha256:c57a0739cc4ecb86184280916f7ce39fa790f068e8d59ccae1fc287bf6283a24 - 0.33% (1.49 MB)

[#012] sha256:4bdaf7a339edf29e1729d15965a9ca2ad6495c84a52d401ee93ed8fae554da04 - 4.11% (18.4 MB)

[#013] sha256:15a7a0b3d3895a4126873b2775ef3e380bdc9fe991114e2d83b1fe94be88d0f3 - 7.95% (35.6 MB)

[#014] sha256:b4f471399c42987bd324807dd64d367986c9cba18d3884171455222d1436ace7 - 0.0% (844 Bytes)

[#015] sha256:cafe66c0d6c46eaa8759b145cff812b9f490a21f729aa0010473bc680d534add - 0.0% (7.49 KB)

[#016] sha256:e76d60e3f1e72172156ba9762242152b2d1d9b5318491a86e280ab55c66328e7 - 0.0% (1.8 KB)

[#017] sha256:336e432e8ad593f0f0c2261c0aad66c772217ec98dd656e24297c3132937c4de - 0.96% (4.32 MB)

[#018] sha256:c615ec6616649e1e9883948ed3e190a92321e4dfad87da501a4bcbe44e63d6bf - 2.25% (10.1 MB)

[#019] sha256:12f3201194d9913b3d4b8dd829f4e78eb5c89c4e1e20085de7b612d3e622e1de - 0.08% (363 KB)

[#020] sha256:496f2935d17d57a5b9f19e43c1ab5c8947f620839c30f6e17fe7e4ffb38d3ec6 - 0.0% (301 Bytes)

[#021] sha256:87b581ce8dec7fb17a206a8b665db1d5de168ff7e13ee242acff6e22c8cbda5c - 0.0% (1.03 KB)

[#022] sha256:8eb4903f60ea726056ce3e611405bdd9f03de757577e4d70c686e89889b81f74 - 0.0% (1.02 KB)


History
2026-09-18 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'amd64' out/ 'trixie' '@1789689600'

2026-09-19 00:48:21 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c groupadd --gid 1000 node && useradd --uid 1000 --gid node --shell /bin/bash --create-home node # buildkit

2026-09-19 00:48:42 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=24.21.0

2026-09-19 00:48:42 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64' OPENSSL_ARCH='linux-x86_64';; ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; *) echo "unsupported architecture"; exit 1 ;; esac && set -ex && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr xz-utils libatomic1 --no-install-recommends && rm -rf /var/lib/apt/lists/* && export GNUPGHOME="$(mktemp -d)" && for key in 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A 655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD A363A499291CBBC940DD62E41F10027AF002F8B0 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apt-mark auto '.*' > /dev/null && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && ln -s /usr/local/bin/node /usr/local/bin/nodejs && node --version && npm --version && rm -rf /tmp/* # buildkit

2026-09-19 00:48:42 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2026-09-19 00:48:57 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr --no-install-recommends && rm -rf /var/lib/apt/lists/* && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && apt-mark auto '.*' > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; } && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && yarn --version && rm -rf /tmp/* # buildkit

2026-09-19 00:48:57 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh /usr/local/bin/ # buildkit

2026-09-19 00:48:57 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2026-09-19 00:48:57 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-09-20 13:57:21 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-09-20 13:57:21 UTC (buildkit.dockerfile.v0)

COPY package.json package-lock.json ./ # buildkit

2026-09-20 13:57:21 UTC (buildkit.dockerfile.v0)

COPY shared/package.json ./shared/ # buildkit

2026-09-20 13:57:21 UTC (buildkit.dockerfile.v0)

COPY server/package.json ./server/ # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends tzdata dumb-init wget ca-certificates python3 build-essential libkitinerary-bin libsqlite3-0 && npm ci --workspace=server --omit=dev && ln -sf "$(find /usr/lib -name kitinerary-extractor -type f | head -1)" /usr/local/bin/kitinerary-extractor; apt-get purge -y python3 build-essential && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /usr/local/lib/node_modules/npm /usr/local/bin/npm /usr/local/bin/npx && chown -R node:node /app # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

COPY /out/gosu /usr/local/bin/gosu # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

ENV XDG_CACHE_HOME=/tmp/kf6-cache

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

ENV QT_QPA_PLATFORM=offscreen

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

ENV KITINERARY_EXTRACTOR_PATH=/usr/local/bin/kitinerary-extractor

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node /app/server/dist ./server/dist # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node /app/server/assets ./server/assets # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node wiki ./wiki # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node server/tsconfig.json ./server/ # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node server/scripts/migrate-encryption.ts ./server/scripts/migrate-encryption.ts # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node server/reset-admin.js ./server/reset-admin.js # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node /app/shared/dist ./shared/dist # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node /app/client/dist ./server/public # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node /app/client/public/fonts ./server/public/fonts # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p /app/data/logs /app/uploads/files /app/uploads/covers /app/uploads/avatars /app/uploads/photos /app/uploads/journey /app/uploads/places && ln -s /app/uploads /app/server/uploads && ln -s /app/data /app/server/data && chown -R node:node /app/data /app/uploads && chown -h node:node /app/server/uploads /app/server/data # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

ENV NODE_ENV=production

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

ENV NODE_USE_ENV_PROXY=1

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

ENV PORT=3000

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

ARG APP_VERSION=4.3.0

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

ENV APP_VERSION=4.3.0

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

EXPOSE [3000/tcp]

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD-SHELL wget -qO- http://localhost:3000/api/health || exit 1] Interval:30s Timeout:5s StartPeriod:15s StartInterval:0s Retries:3}

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

COPY server/scripts/entrypoint.sh /usr/local/bin/trek-entrypoint # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

RUN |1 APP_VERSION=4.3.0 /bin/sh -c chmod 0755 /usr/local/bin/trek-entrypoint # buildkit

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["dumb-init" "--"]

2026-09-20 13:58:43 UTC (buildkit.dockerfile.v0)

CMD ["/usr/local/bin/trek-entrypoint"]

Details
Created

2026-09-20 13:58:22 UTC

Size

439 MB

Content Digest
Environment
APP_VERSION

4.3.0

KITINERARY_EXTRACTOR_PATH

/usr/local/bin/kitinerary-extractor

NODE_ENV

production

NODE_USE_ENV_PROXY

1

NODE_VERSION

24.21.0

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PORT

3000

QT_QPA_PLATFORM

offscreen

XDG_CACHE_HOME

/tmp/kf6-cache

YARN_VERSION

1.22.22


Layers

[#000] sha256:bd36565c0fdebaf0f3af5c3b4ce610ca085ced32e9e9da850d95912f5f18f47b - 6.55% (28.8 MB)

[#001] sha256:0f14f8309d5317ef44cab9c48894e28c8a12948bfdebdd5c0ff75b1601bcae1d - 0.0% (3.23 KB)

[#002] sha256:b5efdeda0641b9ce55e1bdf96b45e23827f9780e2a61f89d04e4b19ca0035335 - 11.04% (48.5 MB)

[#003] sha256:3656a84330748b348057885f05ac8cbcdc259e93d3c4a96929b24acbbf6b265f - 0.37% (1.64 MB)

[#004] sha256:044be660321a454642b8d333ac53c04659eeb0bfcebedf81578cc146bb953539 - 0.0% (449 Bytes)

[#005] sha256:c4e6dcabc03b8203254a048feeb897948fe97bd485eb39335c3223f041eb9388 - 0.0% (93 Bytes)

[#006] sha256:34be3f892af7595bb19a67dc8fae3d56162a4ba1cdabd675f3aea716ee2e714d - 0.04% (175 KB)

[#007] sha256:3f27f6a9945322bfd226498a56655aae922d68b3a5fe0228893d5c9605137c6e - 0.0% (901 Bytes)

[#008] sha256:536906690027f1b0f5abfc88810c9850c761b3a0cdb62286137643aa074f2c3f - 0.0% (1.37 KB)

[#009] sha256:6e989fe23a48afb9ac64d2ecb6b86dcf0549d503747d3e8651288ec2a4934620 - 65.66% (289 MB)

[#010] sha256:68cb571ce50b4ec78cb405487d365772ffd2d3d68285de2eefd42400964dc17e - 0.33% (1.45 MB)

[#011] sha256:f2fa7bddb131ba75eb2c2925b26e99d0a90e5c53848a95024203d6c0be6700fd - 0.34% (1.49 MB)

[#012] sha256:f3706c9f41bce3f5d0268487cb3a756d1165e1f2ec870ad9c2389894d226cbce - 4.19% (18.4 MB)

[#013] sha256:b668dffa5a3b65bcfdb0d30fe772550c37e6259327feb70f2c39bbd3b4e7b5c8 - 8.1% (35.6 MB)

[#014] sha256:929fb6197cecf97564e88daa3739679a2393af1520c1476c8e61ab3d21237ba5 - 0.0% (843 Bytes)

[#015] sha256:0fa8e27293fde1e8a3f23c2d0799cf3c464e25b64e4db70f9da4669fe01281d3 - 0.0% (7.49 KB)

[#016] sha256:cc1934090e8233c2eb980b2b3050a2e63684653504f6de8b53d99df014bba1aa - 0.0% (1.8 KB)

[#017] sha256:342e8520290470a1d30448f897390ce2fea1faa167701063411331fc056fe395 - 0.98% (4.32 MB)

[#018] sha256:eb56aaa1847c339c5a919fa142d2519df9a386b35c52fe2005fd1acc5dce69aa - 2.3% (10.1 MB)

[#019] sha256:493d2b4f9d286d9c3ffb498914ceca0792f465e0d66423b8247bfb24363750cd - 0.08% (363 KB)

[#020] sha256:78ae51e0c5c7bc3bb0955dbd4c686928b27e0e845a067fbaa0133ade607b68f3 - 0.0% (301 Bytes)

[#021] sha256:70f4eefa67b3b224ed7ddb76fdf9a017a140c2b1d3ab83839dbdff2448f1fb9d - 0.0% (1.03 KB)

[#022] sha256:fd87fabeef1b2233fb9531cc595efa3444e9b793464da45fe7a860fcb34e84c1 - 0.0% (1.02 KB)


History
2026-09-18 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'arm64' out/ 'trixie' '@1789689600'

2026-09-19 00:51:15 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c groupadd --gid 1000 node && useradd --uid 1000 --gid node --shell /bin/bash --create-home node # buildkit

2026-09-19 00:51:36 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=24.21.0

2026-09-19 00:51:36 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64' OPENSSL_ARCH='linux-x86_64';; ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; *) echo "unsupported architecture"; exit 1 ;; esac && set -ex && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr xz-utils libatomic1 --no-install-recommends && rm -rf /var/lib/apt/lists/* && export GNUPGHOME="$(mktemp -d)" && for key in 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A 655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD A363A499291CBBC940DD62E41F10027AF002F8B0 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apt-mark auto '.*' > /dev/null && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && ln -s /usr/local/bin/node /usr/local/bin/nodejs && node --version && npm --version && rm -rf /tmp/* # buildkit

2026-09-19 00:51:36 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2026-09-19 00:51:50 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr --no-install-recommends && rm -rf /var/lib/apt/lists/* && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && apt-mark auto '.*' > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; } && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && yarn --version && rm -rf /tmp/* # buildkit

2026-09-19 00:51:50 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh /usr/local/bin/ # buildkit

2026-09-19 00:51:50 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2026-09-19 00:51:50 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-09-20 13:57:23 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-09-20 13:57:23 UTC (buildkit.dockerfile.v0)

COPY package.json package-lock.json ./ # buildkit

2026-09-20 13:57:23 UTC (buildkit.dockerfile.v0)

COPY shared/package.json ./shared/ # buildkit

2026-09-20 13:57:23 UTC (buildkit.dockerfile.v0)

COPY server/package.json ./server/ # buildkit

2026-09-20 13:58:21 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends tzdata dumb-init wget ca-certificates python3 build-essential libkitinerary-bin libsqlite3-0 && npm ci --workspace=server --omit=dev && ln -sf "$(find /usr/lib -name kitinerary-extractor -type f | head -1)" /usr/local/bin/kitinerary-extractor; apt-get purge -y python3 build-essential && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /usr/local/lib/node_modules/npm /usr/local/bin/npm /usr/local/bin/npx && chown -R node:node /app # buildkit

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

COPY /out/gosu /usr/local/bin/gosu # buildkit

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

ENV XDG_CACHE_HOME=/tmp/kf6-cache

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

ENV QT_QPA_PLATFORM=offscreen

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

ENV KITINERARY_EXTRACTOR_PATH=/usr/local/bin/kitinerary-extractor

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node /app/server/dist ./server/dist # buildkit

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node /app/server/assets ./server/assets # buildkit

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node wiki ./wiki # buildkit

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node server/tsconfig.json ./server/ # buildkit

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node server/scripts/migrate-encryption.ts ./server/scripts/migrate-encryption.ts # buildkit

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node server/reset-admin.js ./server/reset-admin.js # buildkit

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node /app/shared/dist ./shared/dist # buildkit

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node /app/client/dist ./server/public # buildkit

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

COPY --chown=node:node /app/client/public/fonts ./server/public/fonts # buildkit

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p /app/data/logs /app/uploads/files /app/uploads/covers /app/uploads/avatars /app/uploads/photos /app/uploads/journey /app/uploads/places && ln -s /app/uploads /app/server/uploads && ln -s /app/data /app/server/data && chown -R node:node /app/data /app/uploads && chown -h node:node /app/server/uploads /app/server/data # buildkit

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

ENV NODE_ENV=production

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

ENV NODE_USE_ENV_PROXY=1

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

ENV PORT=3000

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

ARG APP_VERSION=4.3.0

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

ENV APP_VERSION=4.3.0

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

EXPOSE [3000/tcp]

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD-SHELL wget -qO- http://localhost:3000/api/health || exit 1] Interval:30s Timeout:5s StartPeriod:15s StartInterval:0s Retries:3}

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

COPY server/scripts/entrypoint.sh /usr/local/bin/trek-entrypoint # buildkit

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

RUN |1 APP_VERSION=4.3.0 /bin/sh -c chmod 0755 /usr/local/bin/trek-entrypoint # buildkit

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["dumb-init" "--"]

2026-09-20 13:58:22 UTC (buildkit.dockerfile.v0)

CMD ["/usr/local/bin/trek-entrypoint"]

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete