Namespace
sprouttrack
Image / Tag
sprout-track:1.5.0
Content Digest
sha256:4f716506ed5e43f0eecab38a315997748bc6a702fb08f914ce794de08e9523e1
Details
Created

2026-07-14 18:24:01 UTC

Size

834 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2026-07-14T18:22:03.990Z
  • org.opencontainers.image.description
    A tracker to track baby diapers, feedings, naps, pumping, and other activities.
  • org.opencontainers.image.licenses
    NOASSERTION
  • org.opencontainers.image.revision
    2550003171110a0f48dac0300a45371347176872
  • org.opencontainers.image.source
    https://github.com/Oak-and-Sprout/sprout-track
  • org.opencontainers.image.title
    sprout-track
  • org.opencontainers.image.url
    https://github.com/Oak-and-Sprout/sprout-track
  • org.opencontainers.image.version
    1.5.0

Environment
DATABASE_PROVIDER

sqlite

DATABASE_URL

file:/db/baby-tracker.db

ENABLE_NOTIFICATIONS

true

LOG_DATABASE_URL

file:/db/baby-tracker-logs.db

NODE_ENV

production

NODE_VERSION

22.23.1

PATH

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

PORT

3000

TZ

UTC

YARN_VERSION

1.22.22


Layers

[#000] sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4 - 0.44% (3.67 MB)

[#001] sha256:3f4c164634d251a8b256151a9e1c1d3e5c5b21f1974f00a213875e66e3fa0801 - 5.98% (49.9 MB)

[#002] sha256:1d4d101ceaad39fb56dcac0bb6cc291e6cdec3b711786f0c82b050b5b5b85690 - 0.14% (1.2 MB)

[#003] sha256:d10ff586f6bdbdd6000a70a914e56bf05bedc78de3311d08a953643982d84e23 - 0.0% (446 Bytes)

[#004] sha256:edb8d870e1b439ff42585b2b60837946a9dbcfdcb470f852efc846c907c3df22 - 13.27% (111 MB)

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

[#006] sha256:436fc8788340a5cf2dbe8214f996da7097e2797c1338d2e2da48aeff1224e858 - 0.01% (98.8 KB)

[#007] sha256:57c55e77925d4d70128b3a57491ffb4e0c03977c14eb073352076a62452a05d7 - 0.0% (28.8 KB)

[#008] sha256:06f22528335438324223d2b1ae97788eefbe53db56ffe70612abc8f7cfbda9e7 - 0.0% (1.12 KB)

[#009] sha256:b40c0661b2e59ffc9bd9a7aa7627fab7d20b342c725f6cb6402334d95dc9e5a4 - 71.31% (595 MB)

[#010] sha256:3ddd24d7f792e589fc5ef5eda8ca375a232f3ab3d975007df39f37fa95d1a1da - 0.0% (6.32 KB)

[#011] sha256:db73bcf210eeed6dddae45a54e0cb3963d5834aae186ef01217ace5e86e20f6e - 2.14% (17.9 MB)

[#012] sha256:0bdef97297c346d30b8efc432e8b0f344820f29905b42a12807117060eac3334 - 5.07% (42.3 MB)

[#013] sha256:9b57a3fce77056bf16d4a573a39d120f05337c912ad5a18515bd70c2b2bb5ff2 - 0.0% (1.25 KB)

[#014] sha256:9a760b2a6d1e5f162cb805c485b888419edfdf878dae5f2892d3adaf1f164a6d - 0.0% (409 Bytes)

[#015] sha256:699c117600821bd9f00ea25e314a7f58bb0557b0554e65ff454426655a30d1fb - 1.61% (13.5 MB)

[#016] sha256:fc3670cf363d77178aad8dd0e2b1a4dbeae84b9d3bc127f5dd61445fc47cf243 - 0.0% (32.2 KB)

[#017] sha256:627a222cf702feb2c9ba3ef09da250f632f2c9a4fafd086a8b2a5dc018fcf0d8 - 0.0% (2.41 KB)

[#018] sha256:043447c2b56c8dbbdd6809366d2b4b567aa8d70f044469bcad0fbc61885d53a1 - 0.0% (2.41 KB)


History
2026-06-16 00:01:29 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.24.1-x86_64.tar.gz / # buildkit

2026-06-16 00:01:29 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-06-23 19:01:41 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=22.23.1

2026-06-23 19:01:41 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c addgroup -g 1000 node && adduser -u 1000 -G node -s /bin/sh -D node && apk add --no-cache libstdc++ && apk add --no-cache --virtual .build-deps curl && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" && case "${alpineArch##*-}" in x86_64) ARCH='x64' CHECKSUM="25b5ec8550ca8bac9ade321f8b87e1c1aa6a64020ce34efef0217fe84106794c" OPENSSL_ARCH=linux-x86_64;; x86) OPENSSL_ARCH=linux-elf;; aarch64) OPENSSL_ARCH=linux-aarch64;; arm*) OPENSSL_ARCH=linux-armv4;; ppc64le) OPENSSL_ARCH=linux-ppc64le;; s390x) OPENSSL_ARCH=linux-s390x;; *) ;; esac && if [ -n "${CHECKSUM}" ]; then set -eu; curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && ln -s /usr/local/bin/node /usr/local/bin/nodejs; else echo "Building from source" && apk add --no-cache --virtual .build-deps-full binutils-gold g++ gcc gnupg libgcc linux-headers make python3 py-setuptools && export GNUPGHOME="$(mktemp -d)" && for key in 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A 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.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.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xf "node-v$NODE_VERSION.tar.xz" && cd "node-v$NODE_VERSION" && ./configure && make -j$(getconf _NPROCESSORS_ONLN) V= && make install && apk del .build-deps-full && cd .. && rm -Rf "node-v$NODE_VERSION" && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; fi && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apk del .build-deps && node --version && npm --version && rm -rf /tmp/* # buildkit

2026-06-23 19:01:41 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2026-06-23 19:01:45 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache --virtual .build-deps-yarn curl gnupg tar && 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 && apk del .build-deps-yarn && yarn --version && rm -rf /tmp/* # buildkit

2026-06-23 19:01:45 UTC (buildkit.dockerfile.v0)

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

2026-06-23 19:01:45 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2026-06-23 19:01:45 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-07-13 12:33:21 UTC (buildkit.dockerfile.v0)

ARG ENABLE_NOTIFICATIONS=true

2026-07-13 12:33:21 UTC (buildkit.dockerfile.v0)

ARG DATABASE_PROVIDER=sqlite

2026-07-13 12:33:21 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c apk add --no-cache tzdata openssl dcron curl postgresql-client python3 make g++ # buildkit

2026-07-13 12:33:21 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-07-14 18:22:12 UTC (buildkit.dockerfile.v0)

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

2026-07-14 18:22:12 UTC (buildkit.dockerfile.v0)

COPY prisma ./prisma/ # buildkit

2026-07-14 18:22:12 UTC (buildkit.dockerfile.v0)

COPY scripts/prisma-provider.js ./scripts/ # buildkit

2026-07-14 18:22:48 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c npm ci # buildkit

2026-07-14 18:22:49 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c npm exec next telemetry disable # buildkit

2026-07-14 18:22:49 UTC (buildkit.dockerfile.v0)

ENV DATABASE_PROVIDER=sqlite

2026-07-14 18:22:54 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c npm run prisma:generate && npm run prisma:generate:log # buildkit

2026-07-14 18:22:54 UTC (buildkit.dockerfile.v0)

COPY . . # buildkit

2026-07-14 18:22:54 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c if [ "$ENABLE_NOTIFICATIONS" = "true" ]; then echo "Notification features enabled - setting up notification infrastructure..." && mkdir -p /app/logs && chmod 755 /app/logs && echo "Notification logs directory created" && sed -i 's/\r$//' /app/scripts/run-notification-cron.sh && chmod +x /app/scripts/run-notification-cron.sh && echo "Notification cron script prepared"; else echo "Notification features disabled - skipping notification setup"; fi # buildkit

2026-07-14 18:22:54 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c mkdir -p /app/env && echo "Creating base .env file..." && echo "# Environment variables for Docker container" > /app/env/.env && echo "DATABASE_PROVIDER=\"${DATABASE_PROVIDER}\"" >> /app/env/.env && echo "ENABLE_LOG=\"false\"" >> /app/env/.env && if [ "$DATABASE_PROVIDER" = "sqlite" ]; then echo "DATABASE_URL=\"file:/db/baby-tracker.db\"" >> /app/env/.env && echo "LOG_DATABASE_URL=\"file:/db/baby-tracker-logs.db\"" >> /app/env/.env; fi && echo "NODE_ENV=production" >> /app/env/.env && echo "PORT=3000" >> /app/env/.env && echo "TZ=UTC" >> /app/env/.env && echo "AUTH_LIFE=86400" >> /app/env/.env && echo "REFRESH_TOKEN_LIFE=604800" >> /app/env/.env && echo "IDLE_TIME=604800" >> /app/env/.env && echo "APP_VERSION=1.5.0" >> /app/env/.env && echo "COOKIE_SECURE=false" >> /app/env/.env && echo "ENABLE_NOTIFICATIONS=true" >> /app/env/.env && echo "Base .env file created (ENC_HASH and JWT_SECRET are generated at startup)" && ln -sf /app/env/.env /app/.env # buildkit

2026-07-14 18:22:54 UTC (buildkit.dockerfile.v0)

ENV DATABASE_URL=file:/db/baby-tracker.db

2026-07-14 18:22:54 UTC (buildkit.dockerfile.v0)

ENV LOG_DATABASE_URL=file:/db/baby-tracker-logs.db

2026-07-14 18:24:01 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c npm run build # buildkit

2026-07-14 18:24:01 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c apk del python3 make g++ # buildkit

2026-07-14 18:24:01 UTC (buildkit.dockerfile.v0)

ENV NODE_ENV=production

2026-07-14 18:24:01 UTC (buildkit.dockerfile.v0)

ENV PORT=3000

2026-07-14 18:24:01 UTC (buildkit.dockerfile.v0)

ENV TZ=UTC

2026-07-14 18:24:01 UTC (buildkit.dockerfile.v0)

ENV ENABLE_NOTIFICATIONS=true

2026-07-14 18:24:01 UTC (buildkit.dockerfile.v0)

VOLUME [/db]

2026-07-14 18:24:01 UTC (buildkit.dockerfile.v0)

VOLUME [/app/env]

2026-07-14 18:24:01 UTC (buildkit.dockerfile.v0)

VOLUME [/app/Files]

2026-07-14 18:24:01 UTC (buildkit.dockerfile.v0)

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

2026-07-14 18:24:01 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c sed -i 's/\r$//' /usr/local/bin/docker-startup.sh && chmod +x /usr/local/bin/docker-startup.sh && ls -la /usr/local/bin/docker-startup.sh && echo "Startup script copied and made executable" # buildkit

2026-07-14 18:24:01 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/usr/local/bin/docker-startup.sh"]

2026-07-14 18:24:01 UTC (buildkit.dockerfile.v0)

CMD ["npm" "start"]

2026-07-14 18:24:01 UTC (buildkit.dockerfile.v0)

EXPOSE [3000/tcp]

Details
Created

2026-07-14 18:36:56 UTC

Size

808 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2026-07-14T18:22:03.990Z
  • org.opencontainers.image.description
    A tracker to track baby diapers, feedings, naps, pumping, and other activities.
  • org.opencontainers.image.licenses
    NOASSERTION
  • org.opencontainers.image.revision
    2550003171110a0f48dac0300a45371347176872
  • org.opencontainers.image.source
    https://github.com/Oak-and-Sprout/sprout-track
  • org.opencontainers.image.title
    sprout-track
  • org.opencontainers.image.url
    https://github.com/Oak-and-Sprout/sprout-track
  • org.opencontainers.image.version
    1.5.0

Environment
DATABASE_PROVIDER

sqlite

DATABASE_URL

file:/db/baby-tracker.db

ENABLE_NOTIFICATIONS

true

LOG_DATABASE_URL

file:/db/baby-tracker-logs.db

NODE_ENV

production

NODE_VERSION

22.23.1

PATH

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

PORT

3000

TZ

UTC

YARN_VERSION

1.22.22


Layers

[#000] sha256:5de55e5ef9c033997441461efe7ba23a986db059c0bb78b38f84ee0d72b99167 - 0.49% (3.99 MB)

[#001] sha256:3a9ba6859cb186d0e1706735d48c991b4572642d864d4e9081f29c4e302ab94f - 6.22% (50.2 MB)

[#002] sha256:1dd18119844762295970237ddd5b32ac891f32e68514233ae290e22faf25922b - 0.15% (1.2 MB)

[#003] sha256:4749b9b026c919018d0c11fe592b757dd1a928af6da1bfbbb19a02f445787456 - 0.0% (443 Bytes)

[#004] sha256:d3ebc6fc185dab0f04a26269acf4b63e3704cd3f058d92cf6cbb0136dd5a5e6c - 12.57% (102 MB)

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

[#006] sha256:436fc8788340a5cf2dbe8214f996da7097e2797c1338d2e2da48aeff1224e858 - 0.01% (98.8 KB)

[#007] sha256:57c55e77925d4d70128b3a57491ffb4e0c03977c14eb073352076a62452a05d7 - 0.0% (28.8 KB)

[#008] sha256:06f22528335438324223d2b1ae97788eefbe53db56ffe70612abc8f7cfbda9e7 - 0.0% (1.12 KB)

[#009] sha256:5e77de95c36950f9507d8b02dc03fbcc54538a9a1c143742c759aa054a788838 - 71.52% (578 MB)

[#010] sha256:605d3546539c1ef87aa633d1662eab783fa3d03f39b8eb33580f026bbcf232f2 - 0.0% (6.31 KB)

[#011] sha256:6caa26ab9df8312f91a7905be34dcafa73d96c7ce11dc703313c0db259180006 - 2.13% (17.2 MB)

[#012] sha256:0bdef97297c346d30b8efc432e8b0f344820f29905b42a12807117060eac3334 - 5.24% (42.3 MB)

[#013] sha256:43ba09798d3b97993bdab26469b9a409d2d077995f0c3a19b3ebaafa4809cf25 - 0.0% (1.25 KB)

[#014] sha256:2eadb9abd4d9111d16f7bcbbdbfc60bfdebea3237d291c3f4506c747003f1bd8 - 0.0% (409 Bytes)

[#015] sha256:cd67aa5f406adcd7e55dad3964fb98e5ab19de95e6428281fdeecafec367b2a2 - 1.67% (13.5 MB)

[#016] sha256:6d89ac6c21fbe7d8f77240089a0400f4de6c3f613a55b61b4f90bda85e27ab4f - 0.0% (32.7 KB)

[#017] sha256:46be21e275f5b847cc92733ea3209942328d624ad32232531c4444cdce20a001 - 0.0% (2.41 KB)

[#018] sha256:b5054af38ff9e505a1157afd542dfbe6112a1fec6d4ac2f46fd27530efe5b700 - 0.0% (2.4 KB)


History
2026-06-16 00:01:20 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.24.1-aarch64.tar.gz / # buildkit

2026-06-16 00:01:20 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-06-23 19:33:12 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=22.23.1

2026-06-23 19:33:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c addgroup -g 1000 node && adduser -u 1000 -G node -s /bin/sh -D node && apk add --no-cache libstdc++ && apk add --no-cache --virtual .build-deps curl && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" && case "${alpineArch##*-}" in x86_64) ARCH='x64' CHECKSUM="25b5ec8550ca8bac9ade321f8b87e1c1aa6a64020ce34efef0217fe84106794c" OPENSSL_ARCH=linux-x86_64;; x86) OPENSSL_ARCH=linux-elf;; aarch64) OPENSSL_ARCH=linux-aarch64;; arm*) OPENSSL_ARCH=linux-armv4;; ppc64le) OPENSSL_ARCH=linux-ppc64le;; s390x) OPENSSL_ARCH=linux-s390x;; *) ;; esac && if [ -n "${CHECKSUM}" ]; then set -eu; curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && ln -s /usr/local/bin/node /usr/local/bin/nodejs; else echo "Building from source" && apk add --no-cache --virtual .build-deps-full binutils-gold g++ gcc gnupg libgcc linux-headers make python3 py-setuptools && export GNUPGHOME="$(mktemp -d)" && for key in 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A 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.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.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xf "node-v$NODE_VERSION.tar.xz" && cd "node-v$NODE_VERSION" && ./configure && make -j$(getconf _NPROCESSORS_ONLN) V= && make install && apk del .build-deps-full && cd .. && rm -Rf "node-v$NODE_VERSION" && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; fi && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apk del .build-deps && node --version && npm --version && rm -rf /tmp/* # buildkit

2026-06-23 19:33:12 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2026-06-23 19:33:15 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache --virtual .build-deps-yarn curl gnupg tar && 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 && apk del .build-deps-yarn && yarn --version && rm -rf /tmp/* # buildkit

2026-06-23 19:33:15 UTC (buildkit.dockerfile.v0)

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

2026-06-23 19:33:15 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2026-06-23 19:33:15 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-07-13 12:33:34 UTC (buildkit.dockerfile.v0)

ARG ENABLE_NOTIFICATIONS=true

2026-07-13 12:33:34 UTC (buildkit.dockerfile.v0)

ARG DATABASE_PROVIDER=sqlite

2026-07-13 12:33:34 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c apk add --no-cache tzdata openssl dcron curl postgresql-client python3 make g++ # buildkit

2026-07-13 12:33:34 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-07-14 18:22:12 UTC (buildkit.dockerfile.v0)

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

2026-07-14 18:22:12 UTC (buildkit.dockerfile.v0)

COPY prisma ./prisma/ # buildkit

2026-07-14 18:22:12 UTC (buildkit.dockerfile.v0)

COPY scripts/prisma-provider.js ./scripts/ # buildkit

2026-07-14 18:26:27 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c npm ci # buildkit

2026-07-14 18:26:34 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c npm exec next telemetry disable # buildkit

2026-07-14 18:26:34 UTC (buildkit.dockerfile.v0)

ENV DATABASE_PROVIDER=sqlite

2026-07-14 18:27:24 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c npm run prisma:generate && npm run prisma:generate:log # buildkit

2026-07-14 18:27:24 UTC (buildkit.dockerfile.v0)

COPY . . # buildkit

2026-07-14 18:27:24 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c if [ "$ENABLE_NOTIFICATIONS" = "true" ]; then echo "Notification features enabled - setting up notification infrastructure..." && mkdir -p /app/logs && chmod 755 /app/logs && echo "Notification logs directory created" && sed -i 's/\r$//' /app/scripts/run-notification-cron.sh && chmod +x /app/scripts/run-notification-cron.sh && echo "Notification cron script prepared"; else echo "Notification features disabled - skipping notification setup"; fi # buildkit

2026-07-14 18:27:24 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c mkdir -p /app/env && echo "Creating base .env file..." && echo "# Environment variables for Docker container" > /app/env/.env && echo "DATABASE_PROVIDER=\"${DATABASE_PROVIDER}\"" >> /app/env/.env && echo "ENABLE_LOG=\"false\"" >> /app/env/.env && if [ "$DATABASE_PROVIDER" = "sqlite" ]; then echo "DATABASE_URL=\"file:/db/baby-tracker.db\"" >> /app/env/.env && echo "LOG_DATABASE_URL=\"file:/db/baby-tracker-logs.db\"" >> /app/env/.env; fi && echo "NODE_ENV=production" >> /app/env/.env && echo "PORT=3000" >> /app/env/.env && echo "TZ=UTC" >> /app/env/.env && echo "AUTH_LIFE=86400" >> /app/env/.env && echo "REFRESH_TOKEN_LIFE=604800" >> /app/env/.env && echo "IDLE_TIME=604800" >> /app/env/.env && echo "APP_VERSION=1.5.0" >> /app/env/.env && echo "COOKIE_SECURE=false" >> /app/env/.env && echo "ENABLE_NOTIFICATIONS=true" >> /app/env/.env && echo "Base .env file created (ENC_HASH and JWT_SECRET are generated at startup)" && ln -sf /app/env/.env /app/.env # buildkit

2026-07-14 18:27:24 UTC (buildkit.dockerfile.v0)

ENV DATABASE_URL=file:/db/baby-tracker.db

2026-07-14 18:27:24 UTC (buildkit.dockerfile.v0)

ENV LOG_DATABASE_URL=file:/db/baby-tracker-logs.db

2026-07-14 18:36:55 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c npm run build # buildkit

2026-07-14 18:36:55 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c apk del python3 make g++ # buildkit

2026-07-14 18:36:55 UTC (buildkit.dockerfile.v0)

ENV NODE_ENV=production

2026-07-14 18:36:55 UTC (buildkit.dockerfile.v0)

ENV PORT=3000

2026-07-14 18:36:55 UTC (buildkit.dockerfile.v0)

ENV TZ=UTC

2026-07-14 18:36:55 UTC (buildkit.dockerfile.v0)

ENV ENABLE_NOTIFICATIONS=true

2026-07-14 18:36:55 UTC (buildkit.dockerfile.v0)

VOLUME [/db]

2026-07-14 18:36:55 UTC (buildkit.dockerfile.v0)

VOLUME [/app/env]

2026-07-14 18:36:55 UTC (buildkit.dockerfile.v0)

VOLUME [/app/Files]

2026-07-14 18:36:55 UTC (buildkit.dockerfile.v0)

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

2026-07-14 18:36:56 UTC (buildkit.dockerfile.v0)

RUN |2 ENABLE_NOTIFICATIONS=true DATABASE_PROVIDER=sqlite /bin/sh -c sed -i 's/\r$//' /usr/local/bin/docker-startup.sh && chmod +x /usr/local/bin/docker-startup.sh && ls -la /usr/local/bin/docker-startup.sh && echo "Startup script copied and made executable" # buildkit

2026-07-14 18:36:56 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/usr/local/bin/docker-startup.sh"]

2026-07-14 18:36:56 UTC (buildkit.dockerfile.v0)

CMD ["npm" "start"]

2026-07-14 18:36:56 UTC (buildkit.dockerfile.v0)

EXPOSE [3000/tcp]

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