-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create new base container for pre-compiled webapps. (#507)
* Create new base container for pre-compiled webapps. * Set the webapp dir appropriately.
- Loading branch information
Showing
11 changed files
with
83 additions
and
65 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
58 changes: 2 additions & 56 deletions
58
app/data/container-build/cerc-laconic-console-host/Dockerfile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,69 +1,15 @@ | ||
# Originally from: https://github.com/devcontainers/images/blob/main/src/javascript-node/.devcontainer/Dockerfile | ||
# [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 18, 16, 14, 18-bullseye, 16-bullseye, 14-bullseye, 18-buster, 16-buster, 14-buster | ||
ARG VARIANT=18-bullseye | ||
FROM node:${VARIANT} | ||
|
||
ARG USERNAME=node | ||
ARG NPM_GLOBAL=/usr/local/share/npm-global | ||
FROM cerc/webapp-base:local | ||
|
||
# This container pulls npm packages from a local registry configured via these env vars | ||
ARG CERC_NPM_REGISTRY_URL | ||
ARG CERC_NPM_AUTH_TOKEN | ||
|
||
# Add NPM global to PATH. | ||
ENV PATH=${NPM_GLOBAL}/bin:${PATH} | ||
# Prevents npm from printing version warnings | ||
ENV NPM_CONFIG_UPDATE_NOTIFIER=false | ||
|
||
RUN \ | ||
# Configure global npm install location, use group to adapt to UID/GID changes | ||
if ! cat /etc/group | grep -e "^npm:" > /dev/null 2>&1; then groupadd -r npm; fi \ | ||
&& usermod -a -G npm ${USERNAME} \ | ||
&& umask 0002 \ | ||
&& mkdir -p ${NPM_GLOBAL} \ | ||
&& touch /usr/local/etc/npmrc \ | ||
&& chown ${USERNAME}:npm ${NPM_GLOBAL} /usr/local/etc/npmrc \ | ||
&& chmod g+s ${NPM_GLOBAL} \ | ||
&& npm config -g set prefix ${NPM_GLOBAL} \ | ||
&& su ${USERNAME} -c "npm config -g set prefix ${NPM_GLOBAL}" \ | ||
# Install eslint | ||
&& su ${USERNAME} -c "umask 0002 && npm install -g eslint" \ | ||
&& npm cache clean --force > /dev/null 2>&1 | ||
|
||
# [Optional] Uncomment this section to install additional OS packages. | ||
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ | ||
&& apt-get -y install --no-install-recommends jq | ||
|
||
# [Optional] Uncomment if you want to install an additional version of node using nvm | ||
# ARG EXTRA_NODE_VERSION=10 | ||
# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}" | ||
|
||
# We do this to get a yq binary from the published container, for the correct architecture we're building here | ||
COPY --from=docker.io/mikefarah/yq:latest /usr/bin/yq /usr/local/bin/yq | ||
|
||
RUN mkdir -p /scripts | ||
COPY ./apply-webapp-config.sh /scripts | ||
COPY ./start-serving-app.sh /scripts | ||
|
||
# [Optional] Uncomment if you want to install more global node modules | ||
# RUN su node -c "npm install -g <your-package-list-here>" | ||
|
||
# Configure the local npm registry | ||
RUN npm config set @cerc-io:registry ${CERC_NPM_REGISTRY_URL} \ | ||
&& npm config set @lirewine:registry ${CERC_NPM_REGISTRY_URL} \ | ||
&& npm config set -- ${CERC_NPM_REGISTRY_URL}:_authToken ${CERC_NPM_AUTH_TOKEN} | ||
|
||
RUN mkdir -p /config | ||
COPY ./config.yml /config | ||
|
||
# Install simple web server for now (use nginx perhaps later) | ||
RUN yarn global add http-server | ||
|
||
# Globally install the payload web app package | ||
RUN yarn global add @cerc-io/console-app | ||
|
||
# Expose port for http | ||
EXPOSE 80 | ||
|
||
# Default command sleeps forever so docker doesn't kill it | ||
CMD ["/scripts/start-serving-app.sh"] | ||
COPY ./config.yml /config |
8 changes: 0 additions & 8 deletions
8
app/data/container-build/cerc-laconic-console-host/start-serving-app.sh
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# Originally from: https://github.com/devcontainers/images/blob/main/src/javascript-node/.devcontainer/Dockerfile | ||
# [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 18, 16, 14, 18-bullseye, 16-bullseye, 14-bullseye, 18-buster, 16-buster, 14-buster | ||
ARG VARIANT=18-bullseye | ||
FROM node:${VARIANT} | ||
|
||
ARG USERNAME=node | ||
ARG NPM_GLOBAL=/usr/local/share/npm-global | ||
|
||
# Add NPM global to PATH. | ||
ENV PATH=${NPM_GLOBAL}/bin:${PATH} | ||
# Prevents npm from printing version warnings | ||
ENV NPM_CONFIG_UPDATE_NOTIFIER=false | ||
|
||
RUN \ | ||
# Configure global npm install location, use group to adapt to UID/GID changes | ||
if ! cat /etc/group | grep -e "^npm:" > /dev/null 2>&1; then groupadd -r npm; fi \ | ||
&& usermod -a -G npm ${USERNAME} \ | ||
&& umask 0002 \ | ||
&& mkdir -p ${NPM_GLOBAL} \ | ||
&& touch /usr/local/etc/npmrc \ | ||
&& chown ${USERNAME}:npm ${NPM_GLOBAL} /usr/local/etc/npmrc \ | ||
&& chmod g+s ${NPM_GLOBAL} \ | ||
&& npm config -g set prefix ${NPM_GLOBAL} \ | ||
&& su ${USERNAME} -c "npm config -g set prefix ${NPM_GLOBAL}" \ | ||
# Install eslint | ||
&& su ${USERNAME} -c "umask 0002 && npm install -g eslint" \ | ||
&& npm cache clean --force > /dev/null 2>&1 | ||
|
||
# [Optional] Uncomment this section to install additional OS packages. | ||
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ | ||
&& apt-get -y install --no-install-recommends jq | ||
|
||
# [Optional] Uncomment if you want to install an additional version of node using nvm | ||
# ARG EXTRA_NODE_VERSION=10 | ||
# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}" | ||
|
||
# We do this to get a yq binary from the published container, for the correct architecture we're building here | ||
COPY --from=docker.io/mikefarah/yq:latest /usr/bin/yq /usr/local/bin/yq | ||
|
||
RUN mkdir -p /scripts | ||
COPY ./apply-webapp-config.sh /scripts | ||
COPY ./start-serving-app.sh /scripts | ||
|
||
# [Optional] Uncomment if you want to install more global node modules | ||
# RUN su node -c "npm install -g <your-package-list-here>" | ||
|
||
RUN mkdir -p /config | ||
COPY ./config.yml /config | ||
|
||
# Install simple web server for now (use nginx perhaps later) | ||
RUN yarn global add http-server | ||
|
||
# Expose port for http | ||
EXPOSE 80 | ||
|
||
# Default command sleeps forever so docker doesn't kill it | ||
CMD ["/scripts/start-serving-app.sh"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/usr/bin/env bash | ||
# Build cerc/laconic-registry-cli | ||
|
||
source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||
|
||
# See: https://stackoverflow.com/a/246128/1701505 | ||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||
|
||
docker build -t cerc/webapp-base:local ${build_command_args} -f ${SCRIPT_DIR}/Dockerfile ${SCRIPT_DIR} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Put config here. |
9 changes: 9 additions & 0 deletions
9
app/data/container-build/cerc-webapp-base/start-serving-app.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/usr/bin/env bash | ||
if [ -n "$CERC_SCRIPT_DEBUG" ]; then | ||
set -x | ||
fi | ||
|
||
CERC_WEBAPP_FILES_DIR="${CERC_WEBAPP_FILES_DIR:-/data}" | ||
|
||
/scripts/apply-webapp-config.sh /config/config.yml ${CERC_WEBAPP_FILES_DIR} | ||
http-server -p 80 ${CERC_WEBAPP_FILES_DIR} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -49,3 +49,4 @@ cerc/sushiswap-v3-periphery | |
cerc/watcher-sushiswap | ||
cerc/graph-node | ||
cerc/sushiswap-subgraphs | ||
cerc/webapp-base |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters