Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
FROM ubuntu:22.04

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y \
curl \
git \
wget \
vim \
ssh \
sudo \
gnupg \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*

RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/*

RUN groupadd --gid 1000 node \
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node \
&& echo "node ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/node \
&& chmod 0440 /etc/sudoers.d/node

RUN npm install -g pnpm

ENV NPM_CONFIG_PREFIX=/home/node/.npm-global
ENV PNPM_HOME=/home/node/.local/share/pnpm
ENV PATH=$PATH:$NPM_CONFIG_PREFIX/bin:$PNPM_HOME
ENV NPM_CONFIG_STORE_DIR=/home/node/.local/share/pnpm/store

# This prevents a pnpm-store folder from being created in the project folder.
RUN mkdir -p /home/node/.local/share/pnpm/store \
&& chown -R node:node /home/node

USER node
25 changes: 25 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"name": "E2B JS SDK Dev",
"build": {
"dockerfile": "Dockerfile",
"context": ".."
},
"runArgs": [
"--ipc=host"
],
"customizations": {
"vscode": {
"settings": {
"terminal.integrated.defaultProfile.linux": "bash",
"editor.formatOnSave": true
},
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"ms-playwright.playwright"
]
}
},
"remoteUser": "node",
"postCreateCommand": "pnpm install"
}