coolify/CONTRIBUTING.md
2024-08-26 15:07:17 +02:00

4.6 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

  1. Install Docker Desktop (or similar):

  2. Install Spin:

MacOS

  1. Install Orbstack or Docker Desktop (or similar):

    • Orbstack (faster, lighter, better alternative to Docker Desktop)
    • Docker Desktop:
  2. Install Spin:

Linux

  1. Install Docker Engine or Docker Desktop (or similar):

  2. 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:

  1. Open a terminal or command prompt
  2. Run the following commands:
    docker --version
    spin --version
    
    You should see version information for both Docker and Spin.

3. Fork/Clone the Coolify Repository and Setup your Development Environment


  1. Fork/clone the Coolify repository to your GitHub account.

  2. Install a code editor on your machine (choose one):

  3. Clone the Coolify Repository to your local machine

  4. Open the cloned Coolify Repository in your chosen code editor.


4. Set up Environment Variables


  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:
      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.


5. Start & Setup Coolify


  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.

  3. If you encounter permission errors, especially on macOS, use:

    sudo spin up
    

6. Start Development


  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
    • Telescope (debugging tool): http://localhost:8000/telescope Note: Disabled by default, enable by adding the following environment variable to your .env file:
      TELESCOPE_ENABLED=true
      

7. Contributing a New Service


To add a new service to Coolify, please refer to our documentation: Adding a New Service