coolify/CONTRIBUTION.md
2022-11-04 14:52:21 +01:00

3.0 KiB

Contribution

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.

Setup your development environment

All you need is to intall Docker Engine 20.11+ 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

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

  1. Use container based development flow
  2. Or setup your workspace manually:

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.

Local Machine

At the moment, Coolify doesn't support Windows. You must use Linux or MacOS or consider using Gitpod or Github Codespaces.

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.

  • Due to the lock file, this repository is best with pnpm. I recommend you try and use pnpm because it is cool and efficient!
  • You need to have Docker Engine installed locally.
  • You need to have Docker Compose Plugin installed locally.
  • You need to have GIT LFS Support installed locally.

Optional:

  • To test Heroku buildpacks, you need pack binary installed locally.

Inside a Docker container

WIP

Setup Coolify

  • Copy apps/api/.env.template to apps/api/.env.template and set the COOLIFY_APP_ID environment variable to something cool.

  • pnpm install to install dependencies.

  • pnpm db:push to o create a local SQlite database.

    This will apply all migrations at db/dev.db.

  • pnpm db:seed seed the database.

  • pnpm dev start coding.

Technical skills required

  • Languages: Node.js / Javascript / Typescript
  • Framework JS/TS: SvelteKit & Fastify
  • Database ORM: Prisma.io
  • Docker Engine API

How to add a new service?

You can find all details here