diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..e196dae09e --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,42 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/docker-outside-of-docker +{ + "name": "Docker outside of Docker", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/base:bullseye", + + "features": { + "ghcr.io/devcontainers/features/docker-from-docker:1": { + "version": "latest", + "enableNonRootDocker": "true", + "moby": "true" + }, + "ghcr.io/devcontainers/features/node:1": {}, + "ghcr.io/devcontainers-contrib/features/npm-package:1": {}, + "ghcr.io/devcontainers-contrib/features/jest:2": {}, + "ghcr.io/devcontainers-contrib/features/prisma:2": {}, + "ghcr.io/guiyomh/features/vim:0": {} + }, + + // Use this environment variable if you need to bind mount your local source code into a new container. + "remoteEnv": { + "LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}" + }, + + "hostRequirements": { + "cpus": 4, + "memory": "8gb" + }, + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "./deploy/install.sh" + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.devcontainer/first-run-notice.txt b/.devcontainer/first-run-notice.txt new file mode 100644 index 0000000000..31a5ab0ec2 --- /dev/null +++ b/.devcontainer/first-run-notice.txt @@ -0,0 +1 @@ +🚀 Welcome to Cal.com! Try typing 'yarn dx' to get a quick dev envionment. diff --git a/deploy/codespaces/install.sh b/deploy/codespaces/install.sh new file mode 100755 index 0000000000..25007d9474 --- /dev/null +++ b/deploy/codespaces/install.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -xeuf -o pipefail + +# exit this file if we are not in Codespaces +if [ -z "${CODESPACES}" ]; then + exit 0 +fi + +echo "echo \"🚀 Welcome to Cal.com! Try typing 'yarn dx' to get a quick dev envionment.\"" >> ~/.bashrc \ No newline at end of file diff --git a/deploy/install.sh b/deploy/install.sh new file mode 100755 index 0000000000..47a786ca1e --- /dev/null +++ b/deploy/install.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -xeuf -o pipefail + +cp .env.example .env + +sed -i 's|NEXTAUTH_SECRET=.*|NEXTAUTH_SECRET='"$(openssl rand -base64 32)"'|g' .env +sed -i 's|CALENDSO_ENCRYPTION_KEY=.*|CALENDSO_ENCRYPTION_KEY='"$(openssl rand -base64 32)"'|g' .env +yarn + +./deploy/codespaces/install.sh \ No newline at end of file