diff options
| author | Olcan <[email protected]> | 2025-04-20 08:22:17 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-04-20 08:22:17 -0700 |
| commit | 99f5ed9ecb2aa491612ecaed4139cdeda086681f (patch) | |
| tree | d3dbb72075c2a8afc51abe895fdda070442ecc0e /Dockerfile | |
| parent | 044ccc6dd710c660faf6220409358eff375a099c (diff) | |
Minimal container setup. Install docker (or podman), build container with scripts/build_container.sh, then start with scripts/start_container.sh. Exit with ^C for now. (#61)
Diffstat (limited to 'Dockerfile')
| -rw-r--r-- | Dockerfile | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..7c101752 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,39 @@ +FROM node:20-slim + +# install minimal set of packages, then clean up +RUN apt-get update && apt-get install -y --no-install-recommends \ + man-db \ + curl \ + dnsutils \ + less \ + jq \ + bc \ + gh \ + git \ + unzip \ + rsync \ + ripgrep \ + procps \ + psmisc \ + lsof \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# set up npm global package folder under /usr/local/share +# give it to non-root user node, already set up in base image +RUN mkdir -p /usr/local/share/npm-global \ + && chown -R node:node /usr/local/share/npm-global +ENV NPM_CONFIG_PREFIX=/usr/local/share/npm-global +ENV PATH=$PATH:/usr/local/share/npm-global/bin + +# switch to non-root user node +USER node + +# install gemini-code and clean up +COPY packages/cli/dist/gemini-code-cli-*.tgz /usr/local/share/npm-global/gemini-code-cli.tgz +COPY packages/server/dist/gemini-code-server-*.tgz /usr/local/share/npm-global/gemini-code-server.tgz +RUN npm install -g /usr/local/share/npm-global/gemini-code-cli.tgz /usr/local/share/npm-global/gemini-code-server.tgz \ + && npm cache clean --force \ + && rm -f /usr/local/share/npm-global/gemini-code-cli.tgz \ + && rm -f /usr/local/share/npm-global/gemini-code-server.tgz + |
