Image Details

Summary
Image Reference registry.sc.dtgn.io/dtgn/tolki-app:1.5.6
Digest sha256:29fdf94c6691c1099bce1be9a55239f1132a313e51ad1d7b39cb03b17a436fc8
Media Type application/vnd.docker.distribution.manifest.v2+json
Image ID 98664e713c15
Image Size 296.3 MB
Platform linux/amd64
Created On 2026-01-31 19:03:40 UTC
Manifest
config
digest sha256:98664e713c1564c6bbe3b2fe0f5b12bdce5f0c0854efc2963a0e2631f518a1c6
mediaType application/vnd.docker.container.image.v1+json
size 13 KB
layers
digest sha256:589002ba0eaed121a1dbf42f6648f29e5be55d5c8a6ee0f8eaa0285cc21ac153
mediaType application/vnd.docker.image.rootfs.diff.tar.gzip
size 3.7 MB
digest sha256:4ef00bbbc75186b55c2be094a1c5ac03cbfac8897f1f2ed86107bf908a95fda9
mediaType application/vnd.docker.image.rootfs.diff.tar.gzip
size 48.6 MB
digest sha256:14b92b0c10a5cc759604614d048be3aad4c013e9b574a6bff7f6fa78ac4e5860
mediaType application/vnd.docker.image.rootfs.diff.tar.gzip
size 1.2 MB
digest sha256:8d660e9b10b3e184cb399d48eb01ecf741674c77553a9a4c3490696169041c5d
mediaType application/vnd.docker.image.rootfs.diff.tar.gzip
size 446 B
digest sha256:8f1ba78b8b45165fe99f08983f717d1a9fceb042f15da0b41be8119de5d4a34c
mediaType application/vnd.docker.image.rootfs.diff.tar.gzip
size 93 B
digest sha256:d68d5891b3b2dd5bbde7b4db90ac077cf12ff15737ae7acd885ad2633ea5a82f
mediaType application/vnd.docker.image.rootfs.diff.tar.gzip
size 239 KB
digest sha256:8b9993f7cb142606433fcaf86a141a167b914eae2c53c1b89525df2f95fd0d9d
mediaType application/vnd.docker.image.rootfs.diff.tar.gzip
size 110.6 MB
digest sha256:98908a4b3298b93821d9ec994e887ca9217b4a8637f9029a3f01139dd3187414
mediaType application/vnd.docker.image.rootfs.diff.tar.gzip
size 10.8 MB
digest sha256:81a10b2e6f61c21810b16d0ddcf407ca0b082fc1bc6c53311556de9d857ab747
mediaType application/vnd.docker.image.rootfs.diff.tar.gzip
size 2 KB
digest sha256:ac47076c8326ee2d5f42a521d6965a412d043d2011f5d787ea0d0cd908186238
mediaType application/vnd.docker.image.rootfs.diff.tar.gzip
size 121.0 MB
mediaType application/vnd.docker.distribution.manifest.v2+json
schemaVersion 2
Config File
architecture amd64
config
ArgsEscaped true
Cmd
node
server.js
Entrypoint
docker-entrypoint.sh
Env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
NODE_VERSION=24.13.0
YARN_VERSION=1.22.22
NODE_ENV=production
REACT_APP_BACKEND_URL=https://api.tolki.com.br
REACT_APP_HOURS_CLOSE_TICKETS_AUTO=
STACK_NAME=
REACT_APP_COLOR=
REACT_APP_TAB_NAME=
ExposedPorts
3001/tcp
Healthcheck
Interval 30000000000
Retries 3
StartPeriod 30000000000
Test
CMD-SHELL
node -e " const http = require('http'); const fs = require('fs'); console.log('[HEALTHCHECK] Verificando saúde do servidor...'); // Verificar se o diretório build existe if (!fs.existsSync('/app/build')) { console.log('[HEALTHCHECK] ERRO: Diretório build não encontrado'); process.exit(1); } // Verificar se index.html existe if (!fs.existsSync('/app/build/index.html')) { console.log('[HEALTHCHECK] ERRO: index.html não encontrado'); process.exit(1); } const options = { hostname: 'localhost', port: 3001, path: '/', timeout: 8000, headers: { 'User-Agent': 'Docker-HealthCheck' } }; const req = http.request(options, (res) => { console.log('[HEALTHCHECK] Status:', res.statusCode); if (res.statusCode === 200) { console.log('[HEALTHCHECK] ✅ Servidor saudável'); process.exit(0); } else { console.log('[HEALTHCHECK] ❌ Status inválido:', res.statusCode); process.exit(1); } }); req.on('error', (err) => { console.log('[HEALTHCHECK] ❌ Erro na requisição:', err.message); process.exit(1); }); req.on('timeout', () => { console.log('[HEALTHCHECK] ❌ Timeout na requisição'); req.destroy(); process.exit(1); }); req.end(); "
Timeout 10000000000
User nextjs
WorkingDir /app
created 2026-01-31T19:03:40.474515659Z
history
comment buildkit.dockerfile.v0
created 2026-01-28T01:18:04.977843834Z
created_by ADD alpine-minirootfs-3.23.3-x86_64.tar.gz / # buildkit
comment buildkit.dockerfile.v0
created 2026-01-28T01:18:04.977843834Z
created_by CMD ["/bin/sh"]
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-28T03:29:50.013013059Z
created_by ENV NODE_VERSION=24.13.0
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-28T03:29:50.013013059Z
created_by 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="d2fc40cf688de9de1d85ac67536ede51445a45925e1823255db1c3365b83ac44" 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
comment buildkit.dockerfile.v0
created 2026-01-28T03:29:50.013013059Z
created_by ENV YARN_VERSION=1.22.22
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-28T03:29:53.457214143Z
created_by 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
comment buildkit.dockerfile.v0
created 2026-01-28T03:29:53.515084168Z
created_by COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
comment buildkit.dockerfile.v0
created 2026-01-28T03:29:53.515084168Z
created_by ENTRYPOINT ["docker-entrypoint.sh"]
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-28T03:29:53.515084168Z
created_by CMD ["node"]
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T18:56:49.150992739Z
created_by ENV NODE_ENV=production
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T18:56:49.150992739Z
created_by WORKDIR /app
comment buildkit.dockerfile.v0
created 2026-01-31T18:56:49.150992739Z
created_by ARG REACT_APP_BACKEND_URL
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T18:56:49.150992739Z
created_by ENV REACT_APP_BACKEND_URL=https://api.tolki.com.br
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T18:56:49.150992739Z
created_by ARG REACT_APP_HOURS_CLOSE_TICKETS_AUTO
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T18:56:49.150992739Z
created_by ENV REACT_APP_HOURS_CLOSE_TICKETS_AUTO=
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T18:56:49.150992739Z
created_by ARG STACK_NAME
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T18:56:49.150992739Z
created_by ENV STACK_NAME=
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T18:56:49.150992739Z
created_by ARG REACT_APP_COLOR
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T18:56:49.150992739Z
created_by ENV REACT_APP_COLOR=
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T18:56:49.150992739Z
created_by ARG REACT_APP_TAB_NAME
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T18:56:49.150992739Z
created_by ENV REACT_APP_TAB_NAME=
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T18:56:49.274265492Z
created_by COPY package*.json ./ # buildkit
comment buildkit.dockerfile.v0
created 2026-01-31T18:57:45.308023759Z
created_by RUN |5 REACT_APP_BACKEND_URL=https://api.tolki.com.br REACT_APP_HOURS_CLOSE_TICKETS_AUTO= STACK_NAME= REACT_APP_COLOR= REACT_APP_TAB_NAME= /bin/sh -c npm ci --only=production --prefer-offline --no-audit && npm cache clean --force # buildkit
comment buildkit.dockerfile.v0
created 2026-01-31T19:00:54.586486794Z
created_by COPY /app/build ./build # buildkit
comment buildkit.dockerfile.v0
created 2026-01-31T19:00:54.629922587Z
created_by COPY server.js ./ # buildkit
comment buildkit.dockerfile.v0
created 2026-01-31T19:03:40.474515659Z
created_by RUN |5 REACT_APP_BACKEND_URL=https://api.tolki.com.br REACT_APP_HOURS_CLOSE_TICKETS_AUTO= STACK_NAME= REACT_APP_COLOR= REACT_APP_TAB_NAME= /bin/sh -c addgroup -g 1001 -S nodejs && adduser -S nextjs -u 1001 && chown -R nextjs:nodejs /app # buildkit
comment buildkit.dockerfile.v0
created 2026-01-31T19:03:40.474515659Z
created_by USER nextjs
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T19:03:40.474515659Z
created_by EXPOSE map[3001/tcp:{}]
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T19:03:40.474515659Z
created_by HEALTHCHECK &{["CMD-SHELL" "node -e \" const http = require('http'); const fs = require('fs'); console.log('[HEALTHCHECK] Verificando saúde do servidor...'); // Verificar se o diretório build existe if (!fs.existsSync('/app/build')) { console.log('[HEALTHCHECK] ERRO: Diretório build não encontrado'); process.exit(1); } // Verificar se index.html existe if (!fs.existsSync('/app/build/index.html')) { console.log('[HEALTHCHECK] ERRO: index.html não encontrado'); process.exit(1); } const options = { hostname: 'localhost', port: 3001, path: '/', timeout: 8000, headers: { 'User-Agent': 'Docker-HealthCheck' } }; const req = http.request(options, (res) => { console.log('[HEALTHCHECK] Status:', res.statusCode); if (res.statusCode === 200) { console.log('[HEALTHCHECK] ✅ Servidor saudável'); process.exit(0); } else { console.log('[HEALTHCHECK] ❌ Status inválido:', res.statusCode); process.exit(1); } }); req.on('error', (err) => { console.log('[HEALTHCHECK] ❌ Erro na requisição:', err.message); process.exit(1); }); req.on('timeout', () => { console.log('[HEALTHCHECK] ❌ Timeout na requisição'); req.destroy(); process.exit(1); }); req.end(); \""] "30s" "10s" "30s" "0s" '\x03'}
empty_layer true
comment buildkit.dockerfile.v0
created 2026-01-31T19:03:40.474515659Z
created_by CMD ["node" "server.js"]
empty_layer true
os linux
rootfs
diff_ids
sha256:989e799e634906e94dc9a5ee2ee26fc92ad260522990f26e707861a5f52bf64e
sha256:7be7cab7ec0591ca10ca93840da1e6a9b1bab4ef575cea0d0daf28714cca3dd0
sha256:c07146c069027635943129cbf628d9af266d5ea71c0e1588ba0538604c0ffc53
sha256:4310ddbc53c5fd868e2fc3b40d8d237800fb53385a3b8a7a8e67205e8e5c2104
sha256:82301e3482180906bef999916f5b37accd9cccd7ab1985e041a35919e87459be
sha256:4646956304a36fd49e8140ccde2d7b8f62dd01fef2014cb2ef6e3faaa675c2f4
sha256:a04b8c8c9d5ca152f47c3ff10119509ddafeff2c2ff3a950c387dff138e872ab
sha256:e0df8810959465407b3dfd1d937a451b71a889a5f87354cb601e78f56d89085f
sha256:c5e8aa2601edfb6c4d1f568cda7f32ad5560d13ddd36d990271e08f856b5426d
sha256:e5ca8a22249f5dad9411eadd908ef06cf6e1e5e7df2ff12ca631127ec433a73d
type layers