add contribution guide on container based development flow
This commit is contained in:
		@@ -5,19 +5,27 @@ First, thanks for considering to contribute to my project. It really means a lot
 | 
				
			|||||||
You can ask for guidance anytime on our Discord server in the #contribution channel.
 | 
					You can ask for guidance anytime on our Discord server in the #contribution channel.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Setup your development environment
 | 
					## Setup your development environment
 | 
				
			||||||
 | 
					### Container based development flow (recommended and the easiest)
 | 
				
			||||||
 | 
					All you need is to intall [Docker Engine 20.11+](https://docs.docker.com/engine/install/) on your local machine and run `pnpm dev:container`. It will build the base image for Coolify and start the development server inside Docker. All required ports (3000, 3001) will be exposed to your host.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Github codespaces
 | 
					### 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.
 | 
					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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Gitpod
 | 
					### Gitpod
 | 
				
			||||||
 | 
					1. Use [container based development flow](#container-based-development-flow-easiest)
 | 
				
			||||||
 | 
					2. Or setup your workspace manually:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you have a [Gitpod](https://gitpod.io), you can just create a workspace from this repository, run `pnpm install && pnpm db:push && pnpm db:seed` and then `pnpm dev`. All the required dependencies and packages has been configured for you already.
 | 
					Create a workspace from this repository, run `pnpm install && pnpm db:push && pnpm db:seed` and then `pnpm dev`. All the required dependencies and packages has been configured for you already.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> Some packages, just `pack` are not installed in this way. You cannot test all the features. Please use the [container based development flow](#container-based-development-flow-easiest).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Local Machine
 | 
					### Local Machine
 | 
				
			||||||
> At the moment, Coolify `doesn't support Windows`. You must use `Linux` or `MacOS` or consider using Gitpod or Github Codespaces.
 | 
					> At the moment, Coolify `doesn't support Windows`. You must use `Linux` or `MacOS` or consider using Gitpod or Github Codespaces.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Due to the lock file, this repository is best with [pnpm](https://pnpm.io). I recommend you try and use `pnpm` because it is cool and efficient!
 | 
					Install all the prerequisites manually to your host system. If you would not like to install anything, I suggest to use the [container based development flow](#container-based-development-flow-easiest).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Due to the lock file, this repository is best with [pnpm](https://pnpm.io). I recommend you try and use `pnpm` because it is cool and efficient!
 | 
				
			||||||
- You need to have [Docker Engine](https://docs.docker.com/engine/install/) installed locally.
 | 
					- You need to have [Docker Engine](https://docs.docker.com/engine/install/) installed locally.
 | 
				
			||||||
- You need to have [Docker Compose Plugin](https://docs.docker.com/compose/install/compose-plugin/) installed locally.
 | 
					- You need to have [Docker Compose Plugin](https://docs.docker.com/compose/install/compose-plugin/) installed locally.
 | 
				
			||||||
- You need to have [GIT LFS Support](https://git-lfs.github.com/) installed locally.
 | 
					- You need to have [GIT LFS Support](https://git-lfs.github.com/) installed locally.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,9 +5,11 @@ services:
 | 
				
			|||||||
    build:
 | 
					    build:
 | 
				
			||||||
      context: .
 | 
					      context: .
 | 
				
			||||||
      dockerfile: Dockerfile-dev
 | 
					      dockerfile: Dockerfile-dev
 | 
				
			||||||
    command: pnpm dev:container
 | 
					    command: bash -c 'pnpm install && pnpm db:push && pnpm db:seed && pnpm dev'
 | 
				
			||||||
    env_file: apps/api/.env
 | 
					 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
 | 
					      - COOLIFY_APP_ID=random-local-id
 | 
				
			||||||
 | 
					      - COOLIFY_SECRET_KEY=12341234123412341234123412341234
 | 
				
			||||||
 | 
					      - COOLIFY_DATABASE_URL=file:../db/dev.db
 | 
				
			||||||
      - GITPOD_WORKSPACE_URL=${GITPOD_WORKSPACE_URL}
 | 
					      - GITPOD_WORKSPACE_URL=${GITPOD_WORKSPACE_URL}
 | 
				
			||||||
      - CODESANDBOX_HOST=${CODESANDBOX_HOST}
 | 
					      - CODESANDBOX_HOST=${CODESANDBOX_HOST}
 | 
				
			||||||
    container_name: coolify
 | 
					    container_name: coolify
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,7 +15,7 @@
 | 
				
			|||||||
    "format:api": "NODE_ENV=development pnpm run --filter api format",
 | 
					    "format:api": "NODE_ENV=development pnpm run --filter api format",
 | 
				
			||||||
    "lint": "run-p -l -n lint:*",
 | 
					    "lint": "run-p -l -n lint:*",
 | 
				
			||||||
    "lint:api": "NODE_ENV=development pnpm run --filter api lint",
 | 
					    "lint:api": "NODE_ENV=development pnpm run --filter api lint",
 | 
				
			||||||
    "dev:container": "pnpm install && pnpm db:push && pnpm db:seed && pnpm dev",
 | 
					    "dev:container": "docker-compose -f docker-compose-dev.yaml up",
 | 
				
			||||||
    "dev": "run-p -l -n dev:api dev:ui",
 | 
					    "dev": "run-p -l -n dev:api dev:ui",
 | 
				
			||||||
    "dev:api": "NODE_ENV=development pnpm run --filter api dev",
 | 
					    "dev:api": "NODE_ENV=development pnpm run --filter api dev",
 | 
				
			||||||
    "dev:ui": "NODE_ENV=development pnpm run --filter ui dev",
 | 
					    "dev:ui": "NODE_ENV=development pnpm run --filter ui dev",
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user