4.9 KiB
Contributing
"First, thanks for considering contributing to my project. It really means a lot!" - @andrasbacsai
You can ask for guidance anytime on our Discord server in the #contribute
channel.
Code Contribution
1. Setup your development environment
Follow the steps below for your operating system:
Windows
-
Install Docker Desktop (or similar):
- Download and install Docker Desktop for Windows
-
Install Spin:
- Follow the instructions to install Spin on Windows from the Spin documentation
MacOS
-
Install Orbstack (recommended), Docker Desktop (or similar):
- Orbstack (faster, lighter, better alternative to Docker Desktop)
- Download and install Orbstack
- Docker Desktop:
- Download and install Docker Desktop for Mac
- Orbstack (faster, lighter, better alternative to Docker Desktop)
-
Install Spin:
- Follow the instructions to install Spin on MacOS from the Spin documentation
Linux
-
Install Docker Engine (recommended), Docker Desktop (or similar):
- Docker Engine (use this, as there is no VM overhead):
- Follow the official Docker Engine installation guide for your Linux distribution
- Docker Desktop:
- If you want a GUI, you can use Docker Desktop for Linux
- Docker Engine (use this, as there is no VM overhead):
-
Install Spin:
- Follow the instructions to install Spin on Linux from the Spin documentation
2. Verify installation
After installing Docker (or Orbstack) and Spin, verify the installation:
- Open a terminal or command prompt
- Run the following commands:
You should see version information for both Docker and Spin.docker --version spin --version
3. Fork/Clone the Coolify repository and setup your local repository
-
Fork/clone the Coolify repository to your GitHub account.
-
Install a code editor on your machine (below are some popular choices, choose one):
-
Visual Studio Code (recommended):
- Windows/macOS/Linux: Download and install from https://code.visualstudio.com/download
-
Cursor (recommended but not free if you really want to use it):
- Windows/macOS/Linux: Download and install from https://www.cursor.com/
-
Zed (very fast code editor):
- macOS/Linux: Download and install from https://zed.dev/download
- Windows: Not available yet
-
-
Clone the Coolify Repository to your local machine
- Use
git clone
in the command line - Use GitHub Desktop (recommended):
- Download and install from https://desktop.github.com/
- Use
-
Open the cloned Coolify Repository in your chosen code editor.
4. Set up Environment Variables
-
Locate the
.env.development.example
file in the root directory of your local Coolify repository. -
Duplicate the
.env.development.example
file and rename the copy to.env
. -
Open the new
.env
file and review its contents. Adjust any environment variables as needed for your development setup. -
If you encounter errors during database migrations, update the database connection settings in your
.env
file. Use the IP address or hostname of your PostgreSQL database container. You can find this information by runningdocker ps
after executingspin up
. -
Save the changes to your
.env
file.
5. Start Coolify
-
Open a terminal in the Coolify directory.
-
Run the following command:
spin up
Note: You may see some errors, but don't worry; this is expected.
-
If you encounter permission errors, especially on macOS, use:
sudo spin up
6. Start Development
-
Access your Coolify instance:
- URL:
http://localhost:8000
- Login:
test@example.com
- Password:
password
- URL:
-
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
- Telescope (debugging tool):
http://localhost:8000/telescope
Note: Disabled by default (so the database is not overloaded), enable by adding the following environment variable to your.env
file:TELESCOPE_ENABLED=true
- Laravel Horizon (scheduler):
7. Contributing a New Service
To add a new service to Coolify, please refer to our documentation: Adding a New Service