coolify/CONTRIBUTING.md

136 lines
4.6 KiB
Markdown
Raw Normal View History

2024-08-26 14:35:51 +02:00
# Contributing
2024-08-26 14:57:28 +02:00
> "First, thanks for considering contributing to my project. It really means a lot!" - [@andrasbacsai](https://github.com/andrasbacsai)
2024-08-26 14:35:51 +02:00
You can ask for guidance anytime on our [Discord server](https://coollabs.io/discord) in the `#contribute` channel.
2024-08-26 14:57:28 +02:00
2024-08-26 14:35:51 +02:00
## Code Contribution
2024-08-26 15:46:15 +02:00
2024-08-26 15:44:30 +02:00
## 1. Setup your development environment
2024-08-26 14:35:51 +02:00
Follow the steps below for your operating system:
2024-08-26 15:44:30 +02:00
### Windows
2024-08-26 14:35:51 +02:00
1. Install Docker Desktop (or similar):
- Download and install [Docker Desktop for Windows](https://docs.docker.com/desktop/install/windows-install/)
- Follow the installation instructions provided on the Docker website
2. Install Spin:
- Follow the instructions to install Spin on Windows from the [Spin documentation](https://serversideup.net/open-source/spin/docs/installation/install-windows)
2024-08-26 15:44:30 +02:00
### MacOS
2024-08-26 14:35:51 +02:00
1. Install Orbstack or Docker Desktop (or similar):
- Orbstack (faster, lighter, better alternative to Docker Desktop)
- Download and install [Orbstack](https://docs.orbstack.dev/quick-start#installation)
- Docker Desktop:
- Download and install [Docker Desktop for Mac](https://docs.docker.com/desktop/install/mac-install/)
2. Install Spin:
- Follow the instructions to install Spin on MacOS from the [Spin documentation](https://serversideup.net/open-source/spin/docs/installation/install-macos)
2024-08-26 15:44:30 +02:00
### Linux
2024-08-26 14:35:51 +02:00
1. Install Docker Engine or Docker Desktop (or similar):
- Docker Engine (recommended):
- Follow the official [Docker Engine installation guide](https://docs.docker.com/engine/install/) for your Linux distribution
- Docker Desktop:
2024-08-26 14:57:28 +02:00
- If you want a GUI, you can use [Docker Desktop for Linux](https://docs.docker.com/desktop/install/linux-install/)
2024-08-26 14:35:51 +02:00
2. Install Spin:
Follow the instructions to install Spin on Linux from the [Spin documentation](https://serversideup.net/open-source/spin/docs/installation/install-linux)
2024-08-26 14:57:28 +02:00
2024-08-26 15:44:30 +02:00
## 2. Verify Installation
2024-08-26 14:35:51 +02:00
After installing Docker (or Orbstack) and Spin, verify the installation:
1. Open a terminal or command prompt
2. Run the following commands:
```bash
docker --version
spin --version
```
You should see version information for both Docker and Spin.
2024-08-26 14:57:28 +02:00
2024-08-26 15:44:30 +02:00
## 3. Fork/Clone the Coolify Repository and Setup your Development Environment
2024-08-26 14:35:51 +02:00
1. Fork/clone the [Coolify](https://github.com/coollabsio/coolify) repository to your GitHub account.
2. Install a code editor on your machine (choose one):
- Visual Studio Code:
2024-08-26 15:44:30 +02:00
- Windows/macOS/Linux: Download and install from [https://code.visualstudio.com/download](https://code.visualstudio.com/download)
2024-08-26 14:35:51 +02:00
- Cursor (recommended):
- Windows/macOS/Linux: Download and install from [https://cursor.sh/](https://cursor.sh/)
- Zed (very fast code editor):
2024-08-26 15:44:30 +02:00
- macOS/Linux: Download and install from [https://zed.dev/download](https://zed.dev/download)
2024-08-26 14:35:51 +02:00
- Windows: Not available yet
3. Clone the Coolify Repository to your local machine
2024-08-26 14:57:28 +02:00
- Use `git clone` in the command line
2024-08-26 14:35:51 +02:00
- Use GitHub Desktop (recommended):
2024-08-26 14:57:28 +02:00
- Download and install from [https://desktop.github.com/](https://desktop.github.com/)
4. Open the cloned Coolify Repository in your chosen code editor.
2024-08-26 14:35:51 +02:00
2024-08-26 15:44:30 +02:00
## 4. Set up Environment Variables
2024-08-26 14:35:51 +02:00
1. Copy the `.env.development.example` file to your `.env` file.
2. Set the database connection:
- For macOS users with Orbstack, update the `DB_HOST` variable to `postgres.coolify.orb.local`:
2024-08-26 14:55:03 +02:00
```env
2024-08-26 14:35:51 +02:00
DB_HOST=postgres.coolify.orb.local
```
- For other systems, you may need to use the appropriate IP address or hostname of your PostgreSQL database.
3. Review and adjust other environment variables as needed for your development setup.
2024-08-26 14:57:28 +02:00
2024-08-26 15:44:30 +02:00
## 5. Start & Setup Coolify
2024-08-26 14:35:51 +02:00
1. Open a terminal in the Coolify directory.
2. Run the following command:
```
spin up
```
Note: You may see some errors, but don't worry; this is expected.
2024-08-26 14:57:28 +02:00
3. If you encounter permission errors, especially on macOS, use:
2024-08-26 14:35:51 +02:00
```
sudo spin up
```
2024-08-26 14:57:28 +02:00
2024-08-26 15:44:30 +02:00
## 6. Start Development
2024-08-26 14:35:51 +02:00
1. Access your Coolify instance:
- URL: `http://localhost:8000`
- Login: `test@example.com`
- Password: `password`
2. Additional development tools:
- Laravel Horizon (scheduler): `http://localhost:8000/horizon`
Note: Only accessible when logged in as root user
- Mailpit (email catcher): `http://localhost:8025`
2024-08-26 14:55:03 +02:00
- Telescope (debugging tool): `http://localhost:8000/telescope`
2024-08-26 14:57:28 +02:00
Note: Disabled by default, enable by adding the following environment variable to your `.env` file:
2024-08-26 14:55:03 +02:00
```env
TELESCOPE_ENABLED=true
```
2024-08-26 14:35:51 +02:00
2024-08-26 14:57:28 +02:00
2024-08-26 15:44:30 +02:00
## 7. Contributing a New Service
2024-08-26 14:35:51 +02:00
To add a new service to Coolify, please refer to our documentation:
2024-08-26 15:10:10 +02:00
[Adding a New Service](https://coolify.io/docs/knowledge-base/add-a-service)