Namespace
diegosouzapw
Image / Tag
omniroute:3.8.28-web
Content Digest
sha256:a30bd979b1ae8cb4a192e752cc027b0e3ec2e3e561f68b70250e8c210951a979
Details
Created

2026-06-17 23:08:35 UTC

Size

760 MB

Content Digest
Labels
  • org.opencontainers.image.description
    Unified AI proxy — route any LLM through one endpoint
  • org.opencontainers.image.licenses
    MIT
  • org.opencontainers.image.source
    https://github.com/diegosouzapw/OmniRoute
  • org.opencontainers.image.title
    omniroute
  • org.opencontainers.image.url
    https://omniroute.online

Environment
DATA_DIR

/app/data

HOSTNAME

0.0.0.0

NODE_ENV

production

NODE_OPTIONS

--max-old-space-size=1024

NODE_VERSION

24.16.0

OMNIROUTE_MEMORY_MB

1024

OMNIROUTE_MIGRATIONS_DIR

/app/migrations

PATH

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

PLAYWRIGHT_BROWSERS_PATH

/home/node/.cache/ms-playwright

PORT

20128

YARN_VERSION

1.22.22


Layers

[#000] sha256:72c03230f1363a3fb61d2f98504cf168bad3fe22f511ad2005dc021515d7ce97 - 3.74% (28.4 MB)

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

[#002] sha256:49b179ba156a354998740a6803d56906fd95c2db4c0c051af904e56f568c3e11 - 6.29% (47.8 MB)

[#003] sha256:98c92c026fa582ec3aa46b016dfd7f89de0476e7acbc670ef0144f17aa1384be - 0.22% (1.64 MB)

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

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

[#006] sha256:a5716003ce6dc31a053f765cf66a3d2d9e38dbf0f83667460c960eeb66752685 - 0.48% (3.66 MB)

[#007] sha256:c99932090557be4d22becfd263ede45bd35106e76ae6c36a5bfd690a891b0730 - 0.0% (111 Bytes)

[#008] sha256:290000ba1831b21cf8c9b0f8be74e4aa750900070f9f4f02e5ed259214d9901f - 17.73% (135 MB)

[#009] sha256:7bbea3e16c8e9dd19a75194aa0d9fbfde1623276e49081ac78b8951965616495 - 0.48% (3.61 MB)

[#010] sha256:cdf82df7b803a20addd3ea9a990ddfe2fe537a4671e22c7292bae691493fbc93 - 0.0% (1.87 KB)

[#011] sha256:45a5c23c5ad7c0d7e803b83ec2961ea44d9213ae9ba6e5af1e91795bf8798348 - 18.06% (137 MB)

[#012] sha256:0671766d23c46167d161c85040237cb4d11beb4eabdddf7a4a5e3fbad717a0da - 0.0% (677 Bytes)

[#013] sha256:4dc14c1e97913866ddacdcc39adcc73860e09dd7b8fa4ea53a3cb463e234c54b - 0.36% (2.76 MB)

[#014] sha256:2214d204a3c21bea147fc289e7bf0e8f651f91da020c8eba98c0c5f5daa16633 - 0.11% (859 KB)

[#015] sha256:844239b6d67c6d77a688ec5c5e56172143fdb2c349645f95857b0fb598caafe6 - 52.53% (399 MB)


History
2026-06-10 00:00:00 UTC (debuerreotype 0.17)

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

2026-06-11 00:46:51 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-06-11 00:47:16 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=24.16.0

2026-06-11 00:47:16 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';; armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; *) 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 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-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-06-11 00:47:16 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2026-06-11 00:47:32 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-06-11 00:47:32 UTC (buildkit.dockerfile.v0)

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

2026-06-11 00:47:32 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2026-06-11 00:47:32 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-06-17 22:59:28 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-06-17 22:59:32 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends libsecret-1-0 ca-certificates && rm -rf /var/lib/apt/lists/* # buildkit

2026-06-17 22:59:32 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.title=omniroute org.opencontainers.image.description=Unified AI proxy — route any LLM through one endpoint org.opencontainers.image.url=https://omniroute.online org.opencontainers.image.source=https://github.com/diegosouzapw/OmniRoute org.opencontainers.image.licenses=MIT

2026-06-17 22:59:32 UTC (buildkit.dockerfile.v0)

ENV NODE_ENV=production

2026-06-17 22:59:32 UTC (buildkit.dockerfile.v0)

ENV PORT=20128

2026-06-17 22:59:32 UTC (buildkit.dockerfile.v0)

ENV HOSTNAME=0.0.0.0

2026-06-17 22:59:32 UTC (buildkit.dockerfile.v0)

ENV OMNIROUTE_MEMORY_MB=1024

2026-06-17 22:59:32 UTC (buildkit.dockerfile.v0)

ENV NODE_OPTIONS=--max-old-space-size=1024

2026-06-17 22:59:32 UTC (buildkit.dockerfile.v0)

ENV DATA_DIR=/app/data

2026-06-17 22:59:32 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p /app/data # buildkit

2026-06-17 23:04:45 UTC (buildkit.dockerfile.v0)

COPY /app/.build/next/standalone ./ # buildkit

2026-06-17 23:04:45 UTC (buildkit.dockerfile.v0)

COPY /app/node_modules/better-sqlite3 ./node_modules/better-sqlite3 # buildkit

2026-06-17 23:04:45 UTC (buildkit.dockerfile.v0)

ENV OMNIROUTE_MIGRATIONS_DIR=/app/migrations

2026-06-17 23:04:45 UTC (buildkit.dockerfile.v0)

COPY /app/scripts/dev/healthcheck.mjs ./healthcheck.mjs # buildkit

2026-06-17 23:04:50 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chown -R node:node /app # buildkit

2026-06-17 23:04:50 UTC (buildkit.dockerfile.v0)

EXPOSE [20128/tcp]

2026-06-17 23:04:50 UTC (buildkit.dockerfile.v0)

USER node

2026-06-17 23:04:50 UTC (buildkit.dockerfile.v0)

COPY --chmod=755 scripts/check-permissions.sh /tmp/check-permissions.sh # buildkit

2026-06-17 23:04:50 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/tmp/check-permissions.sh"]

2026-06-17 23:04:50 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD node healthcheck.mjs] Interval:30s Timeout:5s StartPeriod:15s StartInterval:0s Retries:3}

2026-06-17 23:04:50 UTC (buildkit.dockerfile.v0)

CMD ["node" "dev/run-standalone.mjs"]

2026-06-17 23:04:50 UTC (buildkit.dockerfile.v0)

USER root

2026-06-17 23:08:07 UTC (buildkit.dockerfile.v0)

COPY /app/node_modules/playwright-core ./node_modules/playwright-core # buildkit

2026-06-17 23:08:07 UTC (buildkit.dockerfile.v0)

COPY /app/node_modules/playwright ./node_modules/playwright # buildkit

2026-06-17 23:08:07 UTC (buildkit.dockerfile.v0)

ENV PLAYWRIGHT_BROWSERS_PATH=/home/node/.cache/ms-playwright

2026-06-17 23:08:35 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && node node_modules/playwright/cli.js install chromium --with-deps && chown -R node:node /home/node/.cache && rm -rf /var/lib/apt/lists/* # buildkit

2026-06-17 23:08:35 UTC (buildkit.dockerfile.v0)

USER node

Details
Created

2026-06-17 23:08:48 UTC

Size

791 MB

Content Digest
Labels
  • org.opencontainers.image.description
    Unified AI proxy — route any LLM through one endpoint
  • org.opencontainers.image.licenses
    MIT
  • org.opencontainers.image.source
    https://github.com/diegosouzapw/OmniRoute
  • org.opencontainers.image.title
    omniroute
  • org.opencontainers.image.url
    https://omniroute.online

Environment
DATA_DIR

/app/data

HOSTNAME

0.0.0.0

NODE_ENV

production

NODE_OPTIONS

--max-old-space-size=1024

NODE_VERSION

24.16.0

OMNIROUTE_MEMORY_MB

1024

OMNIROUTE_MIGRATIONS_DIR

/app/migrations

PATH

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

PLAYWRIGHT_BROWSERS_PATH

/home/node/.cache/ms-playwright

PORT

20128

YARN_VERSION

1.22.22


Layers

[#000] sha256:a25cd16f2d8653f652f8292b34b21bfbabdc85d6b39861a24b85f0896df1a95e - 3.63% (28.8 MB)

[#001] sha256:72ea8b0996e0468e46cdf1e93e99a489cfd38ba5db3235d8d7735dbee28b8670 - 0.0% (3.24 KB)

[#002] sha256:130cf97aec8b8cbd17772cc208d971911a1ba7c3b52b247e4234fcaac445256d - 6.04% (47.8 MB)

[#003] sha256:937665dce03f3c26f0e514fa894e31f37a2b6ba56327a951314540fa153eb271 - 0.21% (1.64 MB)

[#004] sha256:ffc62a30313b1c8ff2c490c717404da243aa139036e36fe47a3b3f65265911bd - 0.0% (448 Bytes)

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

[#006] sha256:fdcd893935b5fd44599121219fd0633526a5b0f3ab223942b5685da59c7abecc - 0.45% (3.53 MB)

[#007] sha256:9d05a16f3be5aee3b6cb80975df8452c7c375c966fc8fa67df99e16f52015d9c - 0.0% (112 Bytes)

[#008] sha256:06678b5f0155005592b06da230a43e391ef6679e696a50b7aa17afb5f69231ae - 17.05% (135 MB)

[#009] sha256:2b7b38317459ac89b813ade53a67689547823c266200020bf1672b0ae65bae1f - 0.45% (3.59 MB)

[#010] sha256:229d454743fb4dfb103f4e080b97a9c5a6316120da24acc906db7cfce1a1989e - 0.0% (1.88 KB)

[#011] sha256:0d3d35a989f6221869b2b5354ae08287da8c684119a62db538d6243d947c9b3b - 17.37% (137 MB)

[#012] sha256:ae2d4df6d051022d4693ee95eae05577c2e6a9d5518d00053eb1eef108d1208b - 0.0% (677 Bytes)

[#013] sha256:85e1f50fe907e7010cdca883b5e6f619ecdd459d4806baa16a96f321de243128 - 0.35% (2.76 MB)

[#014] sha256:f7a4c8067cc66a1b3d38e306c007055c365597bd1e069f80aad8cc704fa339b3 - 0.11% (859 KB)

[#015] sha256:971ee0d4514fe0d624482c40030aae6cf3b40b1aa28e184b14edd321c57cb139 - 54.34% (430 MB)


History
2026-06-10 00:00:00 UTC (debuerreotype 0.17)

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

2026-06-11 00:48:40 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-06-11 00:49:04 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=24.16.0

2026-06-11 00:49:04 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';; armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; *) 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 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-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-06-11 00:49:04 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2026-06-11 00:49:19 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-06-11 00:49:19 UTC (buildkit.dockerfile.v0)

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

2026-06-11 00:49:19 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2026-06-11 00:49:19 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-06-17 22:59:25 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-06-17 22:59:31 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends libsecret-1-0 ca-certificates && rm -rf /var/lib/apt/lists/* # buildkit

2026-06-17 22:59:31 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.title=omniroute org.opencontainers.image.description=Unified AI proxy — route any LLM through one endpoint org.opencontainers.image.url=https://omniroute.online org.opencontainers.image.source=https://github.com/diegosouzapw/OmniRoute org.opencontainers.image.licenses=MIT

2026-06-17 22:59:31 UTC (buildkit.dockerfile.v0)

ENV NODE_ENV=production

2026-06-17 22:59:31 UTC (buildkit.dockerfile.v0)

ENV PORT=20128

2026-06-17 22:59:31 UTC (buildkit.dockerfile.v0)

ENV HOSTNAME=0.0.0.0

2026-06-17 22:59:31 UTC (buildkit.dockerfile.v0)

ENV OMNIROUTE_MEMORY_MB=1024

2026-06-17 22:59:31 UTC (buildkit.dockerfile.v0)

ENV NODE_OPTIONS=--max-old-space-size=1024

2026-06-17 22:59:31 UTC (buildkit.dockerfile.v0)

ENV DATA_DIR=/app/data

2026-06-17 22:59:31 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p /app/data # buildkit

2026-06-17 23:04:57 UTC (buildkit.dockerfile.v0)

COPY /app/.build/next/standalone ./ # buildkit

2026-06-17 23:04:57 UTC (buildkit.dockerfile.v0)

COPY /app/node_modules/better-sqlite3 ./node_modules/better-sqlite3 # buildkit

2026-06-17 23:04:57 UTC (buildkit.dockerfile.v0)

ENV OMNIROUTE_MIGRATIONS_DIR=/app/migrations

2026-06-17 23:04:58 UTC (buildkit.dockerfile.v0)

COPY /app/scripts/dev/healthcheck.mjs ./healthcheck.mjs # buildkit

2026-06-17 23:05:42 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chown -R node:node /app # buildkit

2026-06-17 23:05:42 UTC (buildkit.dockerfile.v0)

EXPOSE [20128/tcp]

2026-06-17 23:05:42 UTC (buildkit.dockerfile.v0)

USER node

2026-06-17 23:05:43 UTC (buildkit.dockerfile.v0)

COPY --chmod=755 scripts/check-permissions.sh /tmp/check-permissions.sh # buildkit

2026-06-17 23:05:43 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/tmp/check-permissions.sh"]

2026-06-17 23:05:43 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD node healthcheck.mjs] Interval:30s Timeout:5s StartPeriod:15s StartInterval:0s Retries:3}

2026-06-17 23:05:43 UTC (buildkit.dockerfile.v0)

CMD ["node" "dev/run-standalone.mjs"]

2026-06-17 23:05:43 UTC (buildkit.dockerfile.v0)

USER root

2026-06-17 23:08:09 UTC (buildkit.dockerfile.v0)

COPY /app/node_modules/playwright-core ./node_modules/playwright-core # buildkit

2026-06-17 23:08:09 UTC (buildkit.dockerfile.v0)

COPY /app/node_modules/playwright ./node_modules/playwright # buildkit

2026-06-17 23:08:09 UTC (buildkit.dockerfile.v0)

ENV PLAYWRIGHT_BROWSERS_PATH=/home/node/.cache/ms-playwright

2026-06-17 23:08:48 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && node node_modules/playwright/cli.js install chromium --with-deps && chown -R node:node /home/node/.cache && rm -rf /var/lib/apt/lists/* # buildkit

2026-06-17 23:08:48 UTC (buildkit.dockerfile.v0)

USER node

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