diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 000000000..0505d67e3 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,16 @@ +# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.233.0/containers/javascript-node/.devcontainer/base.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="16-bullseye" +FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${VARIANT} + +# [Optional] Uncomment this section to install additional OS packages. +# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ +# && apt-get -y install --no-install-recommends + +# [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}" + +# [Optional] Uncomment if you want to install more global node modules +RUN su node -c "npm install -g pnpm" diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..f898e8827 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,28 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: +// https://github.com/microsoft/vscode-dev-containers/tree/v0.233.0/containers/javascript-node +{ + "name": "Node.js", + "build": { + "dockerfile": "Dockerfile", + // Update 'VARIANT' to pick a Node version: 18, 16, 14. + // Append -bullseye or -buster to pin to an OS version. + // Use -bullseye variants on local arm64/Apple Silicon. + "args": { + "VARIANT": "16-bullseye" + } + }, + // Set *default* container specific settings.json values on container create. + "settings": {}, + // Add the IDs of extensions you want installed when the container is created. + "extensions": ["dbaeumer.vscode-eslint", "svelte.svelte-vscode"], + // Use 'forwardPorts' to make a list of ports inside the container available locally. + "forwardPorts": [3000], + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "cp .env.template .env && pnpm install && pnpm db:push && pnpm db:seed", + // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. + "remoteUser": "node", + "features": { + "docker-in-docker": "20.10", + "github-cli": "latest" + } +} diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 49618c8e7..326d434b3 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -3,3 +3,6 @@ contact_links: - name: 🤔 Questions and Help url: https://discord.com/invite/6rDM4fkymF about: Reach out to us on discord or our github discussions page. + - name: 🙋‍♂️ service request + url: https://feedback.coolify.io/ + about: want to request a new service? for e.g wordpress, hasura, appwrite etc... diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2be3c4ff5..62f919153 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,7 +15,13 @@ This is a little list of what you can do to help the project: ## 👋 Introduction -🔴 At the moment, Coolify **doesn't support Windows**. You must use Linux or MacOS. +### Setup with github codespaces + +If you have github codespaces enabled then you can just create a codespace and run `pnpm dev` to run your the dev environment. All the required dependencies and packages has been configured for you already. + +### Setup locally in your machine + +> 🔴 At the moment, Coolify **doesn't support Windows**. You must use Linux or MacOS. 💡 Although windows users can use github codespaces for development #### Recommended Pull Request Guideline @@ -35,20 +41,16 @@ Due to the lock file, this repository is best with [pnpm](https://pnpm.io). I re You need to have [Docker Engine](https://docs.docker.com/engine/install/) installed locally. -#### Setup a local development environment +#### Steps for local setup -- Copy `.env.template` to `.env` and set the `COOLIFY_APP_ID` environment variable to something cool. -- Install dependencies with `pnpm install`. -- Need to create a local SQlite database with `pnpm db:push`. - - This will apply all migrations at `db/dev.db`. -- Seed the database with base entities with `pnpm db:seed` -- You can start coding after starting `pnpm dev`. +1. Copy `.env.template` to `.env` and set the `COOLIFY_APP_ID` environment variable to something cool. +2. Install dependencies with `pnpm install`. +3. Need to create a local SQlite database with `pnpm db:push`. -#### How to start after you set up your local fork? + This will apply all migrations at `db/dev.db`. -This repository works better with [pnpm](https://pnpm.io) due to the lock file. I recommend you to give it a try and use `pnpm` as well because it is cool and efficient! - -You need to have [Docker Engine](https://docs.docker.com/engine/install/) installed locally. +4. Seed the database with base entities with `pnpm db:seed` +5. You can start coding after starting `pnpm dev`. ## 🧑‍💻 Developer contribution