## Description > [!TIP] > _Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team)._ > > _Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR._ Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.Git" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/14197451933> > Commit: a3833fe0e894bcb155455947856e7de93bbb0640 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14197451933&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Git` > Spec: > <hr>Tue, 01 Apr 2025 14:54:53 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced an enhanced Git operation that enables reliable repository reset through a dedicated API endpoint. - Enabled advanced reset options controllable via a new feature flag, improving repository state management. - **Chores** - Upgraded Git-related dependencies and updated the container setup to include Git, ensuring a consistent and robust environment. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
65 lines
1.8 KiB
Docker
65 lines
1.8 KiB
Docker
ARG BASE
|
|
FROM ${BASE}
|
|
|
|
ENV IN_DOCKER=1
|
|
|
|
ARG APPSMITH_CLOUD_SERVICES_BASE_URL
|
|
ENV APPSMITH_CLOUD_SERVICES_BASE_URL=${APPSMITH_CLOUD_SERVICES_BASE_URL}
|
|
|
|
ARG APPSMITH_SEGMENT_CE_KEY
|
|
ENV APPSMITH_SEGMENT_CE_KEY=${APPSMITH_SEGMENT_CE_KEY}
|
|
|
|
COPY deploy/docker/fs /
|
|
|
|
# Install git
|
|
RUN apt-get update && \
|
|
apt-get install -y git && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN <<END
|
|
if ! [ -f info.json ]; then
|
|
echo "Missing info.json" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! [ -f server/mongo/server.jar -a -f server/pg/server.jar ]; then
|
|
echo "Missing one or both server.jar files in the right place. Are you using the build script?" >&2
|
|
exit 1
|
|
fi
|
|
END
|
|
|
|
# Add client UI - Application Layer
|
|
COPY ./app/client/build editor/
|
|
|
|
# Add RTS - Application Layer
|
|
COPY ./app/client/packages/rts/dist rts/
|
|
|
|
ENV PATH /opt/bin:/opt/java/bin:/opt/node/bin:$PATH
|
|
|
|
RUN <<END
|
|
set -o errexit
|
|
|
|
# Make all `*.sh` files executable, excluding `node_modules`.
|
|
find . \( -name node_modules -prune \) -o \( -type f -name '*.sh' \) -exec chmod +x '{}' +
|
|
|
|
# Ensure all custom command-scripts have executable permission
|
|
chmod +x /opt/bin/* /watchtower-hooks/*.sh
|
|
|
|
# Disable setuid/setgid bits for the files inside container.
|
|
find / \( -path /proc -prune \) -o \( \( -perm -2000 -o -perm -4000 \) -exec chmod -s '{}' + \) || true
|
|
|
|
mkdir -p /.mongodb/mongosh /appsmith-stacks
|
|
chmod ugo+w /etc /appsmith-stacks
|
|
chmod -R ugo+w /var/run /.mongodb /etc/ssl /usr/local/share
|
|
END
|
|
|
|
LABEL com.centurylinklabs.watchtower.lifecycle.pre-check=/watchtower-hooks/pre-check.sh
|
|
LABEL com.centurylinklabs.watchtower.lifecycle.pre-update=/watchtower-hooks/pre-update.sh
|
|
|
|
EXPOSE 80
|
|
EXPOSE 443
|
|
ENTRYPOINT [ "/opt/appsmith/entrypoint.sh" ]
|
|
HEALTHCHECK --interval=15s --timeout=15s --start-period=45s CMD "/opt/appsmith/healthcheck.sh"
|
|
CMD ["/usr/bin/supervisord", "-n"]
|