diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000000000..46c3c8bdd656f --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,41 @@ +FROM mcr.microsoft.com/vscode/devcontainers/base:ubuntu + +COPY package.json /tmp/package.json + +RUN apt-get update && apt-get install -y \ + apt-transport-https \ + build-essential \ + ca-certificates \ + curl \ + jq \ + libssl-dev && \ + rm -rf /var/lib/apt/lists/* + +ENV NVM_DIR /usr/local/nvm +RUN mkdir -p $NVM_DIR && \ + curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash && \ + bash -c ". $NVM_DIR/nvm.sh && nvm install $(jq -r '.engines.node' /tmp/package.json) && npm install -g yarn" + +RUN echo "export NVM_DIR=$NVM_DIR" >> /etc/bash.bashrc && \ + echo "[ -s \"$NVM_DIR/nvm.sh\" ] && \. \"$NVM_DIR/nvm.sh\"" >> /etc/bash.bashrc + +ENV DENO_INSTALL=/usr/local/deno +RUN mkdir -p $DENO_INSTALL && \ + curl -fsSL https://deno.land/install.sh | sh + +ENV DENO_INSTALL="/usr/local/deno" +ENV PATH="$DENO_INSTALL/bin:$PATH" + +RUN echo 'export DENO_INSTALL="/usr/local/deno"' >> /etc/bash.bashrc && \ + echo 'export PATH="$DENO_INSTALL/bin:$PATH"' >> /etc/bash.bashrc + +ENV METEOR_INSTALL="/usr/local/meteor" +ENV PATH="$METEOR_INSTALL/bin:$PATH" + +RUN curl https://install.meteor.com/ | sh && \ + mv ~/.meteor $METEOR_INSTALL + +RUN echo 'export METEOR_INSTALL="/usr/local/meteor"' >> /etc/bash.bashrc && \ + echo 'export PATH="$METEOR_INSTALL/bin:$PATH"' >> /etc/bash.bashrc + +CMD ["bash"] diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000000..1b2960d1d2060 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,18 @@ +{ + "name": "Rocket.Chat Gitpod", + "build": { + "context": "..", + "dockerfile": "./Dockerfile" + }, + "features": { + "ghcr.io/devcontainers/features/docker-in-docker:2": {} + }, + "forwardPorts": [3000], + "customizations": { + "vscode": { + "extensions": [ + "esbenp.prettier-vscode" + ] + } + } +} diff --git a/.gitpod.yml b/.gitpod/.gitpod.yml similarity index 100% rename from .gitpod.yml rename to .gitpod/.gitpod.yml diff --git a/.gitpod/automations.yaml b/.gitpod/automations.yaml new file mode 100644 index 0000000000000..be8ea9f0bc880 --- /dev/null +++ b/.gitpod/automations.yaml @@ -0,0 +1,15 @@ +services: + development-server: + name: Rocket.Chat development server + description: Starts the Rocket.Chat development server (yarn dsv) + triggeredBy: + - postDevcontainerStart + - manual + commands: + start: | + yarn + yarn dsv + ready: | + export ROOT_URL=$(gitpod environment port open 3000 --name "Rocket.Chat application" | sed 's|https://||') + echo $ROOT_URL + gitpod environment port open 3000 --name "Rocket.Chat application"