twenty (production-server)

Published 2025-05-30 13:22:06 -04:00 by colin

Installation

docker pull git.nixc.us/colin/twenty:production-server
sha256:bea26d667819e2204eadd9a9c5f1fd7ec6aae9b887c515d6a2a3871d02b1e262

About this package

This image provides a consistent and reproducible environment for the backend and frontend, ensuring it deploys faster and runs the same way regardless of the deployment environment.

Image Layers

ADD file:32ff5e7a78b890996ee4681cc0a26185d3e9acdb4eb1e2aaccb2411f922fed6b in /
CMD ["/bin/sh"]
ENV NODE_VERSION=18.17.1
/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= && alpineArch="$(apk --print-arch)" && case "${alpineArch##*-}" in x86_64) ARCH='x64' CHECKSUM="a67f0b51f0951382709abb5613ee577b5af648752ed363ae32411214041f4e73" ;; *) ;; 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 && export GNUPGHOME="$(mktemp -d)" && for key in 4ED778F539E3634C779C87C6D7062848A1AB005C 141F07595B7B3FFE74309A937405533BE57C7D57 74F12602B6F1C4E913FAA37AD3A89613643B6201 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 61FC681DFB92A079F1685E77973F295594EC4689 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A ; do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$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" && apk del .build-deps && node --version && npm --version
ENV YARN_VERSION=1.22.19
/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 --keyserver keyserver.ubuntu.com --recv-keys "$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
COPY file:4d192565a7220e135cab6c77fbc1c73211b69f3d9fb37e62857b2c6eb9363d51 in /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["node"]
RUN /bin/sh -c apk add --no-cache curl jq # buildkit
RUN /bin/sh -c npm install -g tsx # buildkit
RUN /bin/sh -c apk add --no-cache postgresql-client # buildkit
COPY ./packages/twenty-docker/twenty/entrypoint.sh /app/entrypoint.sh # buildkit
RUN /bin/sh -c chmod +x /app/entrypoint.sh # buildkit
WORKDIR /app/packages/twenty-server
ARG REACT_APP_SERVER_BASE_URL
ENV REACT_APP_SERVER_BASE_URL=
ARG APP_VERSION=v0.54.6
ENV APP_VERSION=v0.54.6
COPY --chown=1000 /app /app # buildkit
COPY --chown=1000 /app/packages/twenty-server /app/packages/twenty-server # buildkit
COPY --chown=1000 /app/packages/twenty-front/build /app/packages/twenty-server/dist/front # buildkit
LABEL org.opencontainers.image.source=https://github.com/twentyhq/twenty
LABEL org.opencontainers.image.description=This image provides a consistent and reproducible environment for the backend and frontend, ensuring it deploys faster and runs the same way regardless of the deployment environment.
RUN |2 REACT_APP_SERVER_BASE_URL= APP_VERSION=v0.54.6 /bin/sh -c mkdir -p /app/.local-storage /app/packages/twenty-server/.local-storage && chown -R 1000:1000 /app # buildkit
USER 1000
CMD ["node" "dist/src/main"]
ENTRYPOINT ["/app/entrypoint.sh"]
USER root
RUN /bin/sh -c apk update && apk add --no-cache postgresql-client bash # buildkit
COPY docker/server/entrypoint-wrapper.sh /app/entrypoint-wrapper.sh # buildkit
RUN /bin/sh -c chmod +x /app/entrypoint-wrapper.sh # buildkit
USER node
ENTRYPOINT ["/app/entrypoint-wrapper.sh"]
CMD ["node" "dist/src/main"]

Labels

Key Value
com.docker.compose.project twenty
com.docker.compose.service server
com.docker.compose.version 2.30.3
org.opencontainers.image.description This image provides a consistent and reproducible environment for the backend and frontend, ensuring it deploys faster and runs the same way regardless of the deployment environment.
org.opencontainers.image.source https://github.com/twentyhq/twenty
Details
Container
2025-05-30 13:22:06 -04:00
36
OCI / Docker
linux/amd64
375 MiB
Versions (10) View all
production-db 2025-05-30
production-server 2025-05-30
production-redis 2025-05-30
production-worker 2025-05-30
staging-db 2025-05-30