Skip to content

Commit

Permalink
Contribution
Browse files Browse the repository at this point in the history
  • Loading branch information
andrasbacsai committed Mar 28, 2022
1 parent 3ef4a24 commit 098e519
Show file tree
Hide file tree
Showing 6 changed files with 78 additions and 13 deletions.
7 changes: 6 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,14 @@ node_modules
/build
/.svelte-kit
/package
/yarn.lock
/.pnpm-store
/ssl

.env
.env.prod
.env.stag
/db/*.db
/db/*.db-journal
/data/haproxy/haproxy.cfg
/data/haproxy/haproxy.cfg
/data/haproxy/haproxy.cfg.lkg
4 changes: 2 additions & 2 deletions .env.template
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
COOLIFY_APP_ID=
COOLIFY_SECRET_KEY=
COOLIFY_DATABASE_URL=file:../db/prod.db
COOLIFY_SECRET_KEY=12341234123412341234123412341234
COOLIFY_DATABASE_URL=file:../db/dev.db
COOLIFY_SENTRY_DSN=
COOLIFY_IS_ON="docker"
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ node_modules
/.svelte-kit
/package
/yarn.lock
/.pnpm-store
/ssl

.env
.env.prod
Expand Down
43 changes: 43 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Welcome

First of all, thank you for considering to contribute to my project! It means a lot 💜.

# Technical skills required

- Node.js / Javascript
- Svelte / SvelteKit
- Prisma.io

# Recommended Pull Request Guideline

- Fork the project
- Clone your fork repo to local
- Create a new branch
- Push to your fork repo
- Create a pull request: https://github.com/louislam/uptime-kuma/compare
- Write a proper description
- Click "Change to draft"

# How to start after you set up your local fork?

This repository best with [pnpm](https://pnpm.io) due to the lock file. I recommend you should 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.

## Setup development environment

- 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 and seed the database at `db/dev.db`.
- You can start coding after starting `pnpm dev`.

## Database migrations

During development, if you change the database layout, you need to run `pnpm db:push` to migrate the database and create types for Prisma. You also need to restart the development process.

If the schema is finalized, you need to create a migration file with `pnpm db:migrate <nameOfMigration>` where `nameOfMigration` is given by you. Make it sense. :)

## Tricky parts

- BullMQ, the queue system Coolify is using, cannot be hot reloaded. So if you change anything in the files related to it, you need to restart the development process. I'm actively looking of a different queue/scheduler library. I'm open for discussion!
34 changes: 24 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,44 @@

An open-source & self-hostable Heroku / Netlify alternative.

## Demo instance
## Live Demo

https://demo.coolify.io/

(If it is unresponsible, that means someone overloaded the server. 🙃)

## Installation
## How to install

Installation is automated with the following command:

```bash
/bin/bash -c "$(curl -fsSL https://get.coollabs.io/coolify/install.sh)"
```

## Migration from v1

A fresh installation is necessary. v2 is not compatible with v1.
If you would like no questions during installation

## Features

### Git Sources
You can use the official ones or your self hosted version!

You can use the following Git Sources to be auto-deployed to your Coolifyt instance! (Self hosted versions also supported.)

- Github
- GitLab
- Bitbucket (WIP)

### Destinations

You can deploy your applications to the following destinations:

- Local Docker Engine
- Remote Docker Engine (WIP)
- Kubernetes (WIP)


### Applications

These are the predefined build packs, but with the Docker build pack, you can host basically anything that is hostable with a single Dockerfile.

- Static sites
- NodeJS
- VueJS
Expand All @@ -48,10 +51,12 @@ You can use the official ones or your self hosted version!
- Svelte
- PHP
- Rust
- Dockerfile (you can provide it)
- Docker

### Databases

One-click database is ready to be used internally or shared over the internet:

- MongoDB
- MySQL
- PostgreSQL
Expand All @@ -60,13 +65,22 @@ You can use the official ones or your self hosted version!

### One-click services

You can host cool open-source services as well:

- [WordPress](https://wordpress.org)
- [Ghost](https://ghost.org)
- [Plausible Analytics](https://plausible.io)
- [NocoDB](https://nocodb.com)
- [VSCode Server](https://github.com/cdr/code-server)
- [MinIO](https://min.io)
- [VaultWarden](https://github.com/dani-garcia/vaultwarden)
- [LanguageTool](https://languagetool.org)
- [n8n](https://n8n.io)
- [Uptime Kuma](https://github.com/louislam/uptime-kuma)

## Migration from v1

A fresh installation is necessary. v2 is not compatible with v1.

## Support

Expand All @@ -75,9 +89,9 @@ You can use the official ones or your self hosted version!
- Email: [[email protected]](mailto:[email protected])
- Discord: [Invitation](https://discord.gg/xhBCC7eGKw)

## Roadmap
## Contribute

[See the Roadmap here](https://github.com/orgs/coollabsio/projects/3/views/8)
See [our contribution guide](./CONTRIBUTING.md).

## License

Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"db:generate": "prisma generate",
"db:push": "prisma db push && prisma generate",
"db:seed": "prisma db seed",
"db:migrate": "COOLIFY_DATABASE_URL=file:../db/migration.db prisma migrate dev --skip-seed --name",
"release:staging": "cross-var docker build -t coollabsio/coolify:$npm_package_version . && docker push coollabsio/coolify:$npm_package_version",
"release:pre": "cross-var docker build -t coollabsio/coolify:$npm_package_version -t coollabsio/coolify:latest .",
"release:coolify": "cross-var yarn release:pre && docker push coollabsio/coolify:$npm_package_version && docker push coollabsio/coolify:latest",
Expand Down

0 comments on commit 098e519

Please sign in to comment.