Skip to content

Commit eb57659

Browse files
authored
Merge branch 'coollabsio:main' into service-getoutline
2 parents 1e46b63 + 6f5b92d commit eb57659

File tree

184 files changed

+6794
-2259
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

184 files changed

+6794
-2259
lines changed

.env.development.example

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,31 @@
1-
APP_NAME=Coolify-localhost
2-
APP_ID=development
1+
# Coolify Configuration
32
APP_ENV=local
3+
APP_NAME="Coolify Development"
4+
APP_ID=development
45
APP_KEY=
5-
APP_DEBUG=true
66
APP_URL=http://localhost
77
APP_PORT=8000
8+
APP_DEBUG=true
89
MUX_ENABLED=false
910

11+
# Enable Laravel Telescope for debugging
12+
TELESCOPE_ENABLED=false
13+
14+
# Selenium Driver URL for Dusk
1015
DUSK_DRIVER_URL=http://selenium:4444
1116

12-
## For Andras only
13-
# To purge cache
17+
# PostgreSQL Database Configuration
18+
DB_DATABASE=coolify
19+
DB_USERNAME=coolify
20+
DB_PASSWORD=password
21+
DB_HOST=host.docker.internal
22+
DB_PORT=5432
23+
24+
#Set custom ray port
25+
RAY_PORT=
26+
27+
# Special Keys for Andras
28+
# For cache purging
1429
BUNNY_API_KEY=
15-
# To upload assets
30+
# For asset uploads
1631
BUNNY_STORAGE_API_KEY=

.env.production

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1+
# Coolify Configuration
12
APP_ID=
23
APP_NAME=Coolify
34
APP_KEY=
45

6+
# PostgreSQL Database Configuration
7+
DB_USERNAME=coolify
58
DB_PASSWORD=
9+
10+
# Redis Configuration
611
REDIS_PASSWORD=
712

13+
# Pusher Configuration
814
PUSHER_APP_ID=
915
PUSHER_APP_KEY=
1016
PUSHER_APP_SECRET=

.github/workflows/coolify-helper.yml

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ jobs:
2525
registry: ${{ env.REGISTRY }}
2626
username: ${{ github.actor }}
2727
password: ${{ secrets.GITHUB_TOKEN }}
28+
- name: Get Version
29+
id: version
30+
run: |
31+
echo "VERSION=$(docker run --rm -v "$(pwd):/app" -w /app ghcr.io/jqlang/jq:latest '.coolify.helper.version' versions.json)"|xargs >> $GITHUB_OUTPUT
2832
- name: Build image and push to registry
2933
uses: docker/build-push-action@v5
3034
with:
@@ -33,7 +37,7 @@ jobs:
3337
file: docker/coolify-helper/Dockerfile
3438
platforms: linux/amd64
3539
push: true
36-
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
40+
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.VERSION }}
3741
aarch64:
3842
runs-on: [ self-hosted, arm64 ]
3943
permissions:
@@ -47,6 +51,10 @@ jobs:
4751
registry: ${{ env.REGISTRY }}
4852
username: ${{ github.actor }}
4953
password: ${{ secrets.GITHUB_TOKEN }}
54+
- name: Get Version
55+
id: version
56+
run: |
57+
echo "VERSION=$(docker run --rm -v "$(pwd):/app" -w /app ghcr.io/jqlang/jq:latest '.coolify.helper.version' versions.json)"|xargs >> $GITHUB_OUTPUT
5058
- name: Build image and push to registry
5159
uses: docker/build-push-action@v5
5260
with:
@@ -55,7 +63,7 @@ jobs:
5563
file: docker/coolify-helper/Dockerfile
5664
platforms: linux/aarch64
5765
push: true
58-
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest-aarch64
66+
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.VERSION }}-aarch64
5967
merge-manifest:
6068
runs-on: ubuntu-latest
6169
permissions:
@@ -75,9 +83,13 @@ jobs:
7583
registry: ${{ env.REGISTRY }}
7684
username: ${{ github.actor }}
7785
password: ${{ secrets.GITHUB_TOKEN }}
86+
- name: Get Version
87+
id: version
88+
run: |
89+
echo "VERSION=$(docker run --rm -v "$(pwd):/app" -w /app ghcr.io/jqlang/jq:latest '.coolify.helper.version' versions.json)"|xargs >> $GITHUB_OUTPUT
7890
- name: Create & publish manifest
7991
run: |
80-
docker buildx imagetools create --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest-aarch64 --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
92+
docker buildx imagetools create --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.VERSION }}-aarch64 --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.VERSION }} --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
8193
- uses: sarisia/actions-status-discord@v1
8294
if: always()
8395
with:

CONTRIBUTING.md

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
# Contributing
2+
3+
> "First, thanks for considering contributing to my project. It really means a lot!" - [@andrasbacsai](https://github.com/andrasbacsai)
4+
5+
You can ask for guidance anytime on our [Discord server](https://coollabs.io/discord) in the `#contribute` channel.
6+
7+
8+
## Code Contribution
9+
10+
## 1. Setup your development environment
11+
12+
Follow the steps below for your operating system:
13+
14+
### Windows
15+
16+
1. Install `docker-ce`, Docker Desktop (or similar):
17+
- Docker CE (recommended):
18+
- Install Windows Subsystem for Linux v2 (WSL2) by following this guide: [Install WSL](https://learn.microsoft.com/en-us/windows/wsl/install)
19+
- After installing WSL2, install Docker CE for your Linux distribution by following this guide: [Install Docker Engine](https://docs.docker.com/engine/install/)
20+
- Make sure to choose the appropriate Linux distribution (e.g., Ubuntu) when following the Docker installation guide
21+
- Install Docker Desktop (easier):
22+
- Download and install [Docker Desktop for Windows](https://docs.docker.com/desktop/install/windows-install/)
23+
- Ensure WSL2 backend is enabled in Docker Desktop settings
24+
25+
2. Install Spin:
26+
- Follow the instructions to install Spin on Windows from the [Spin documentation](https://serversideup.net/open-source/spin/docs/installation/install-windows#download-and-install-spin-into-wsl2)
27+
28+
### MacOS
29+
30+
1. Install Orbstack, Docker Desktop (or similar):
31+
- Orbstack (recommended, as it is a faster and lighter alternative to Docker Desktop):
32+
- Download and install [Orbstack](https://docs.orbstack.dev/quick-start#installation)
33+
- Docker Desktop:
34+
- Download and install [Docker Desktop for Mac](https://docs.docker.com/desktop/install/mac-install/)
35+
36+
2. Install Spin:
37+
- Follow the instructions to install Spin on MacOS from the [Spin documentation](https://serversideup.net/open-source/spin/docs/installation/install-macos/#download-and-install-spin)
38+
39+
### Linux
40+
41+
1. Install Docker Engine, Docker Desktop (or similar):
42+
- Docker Engine (recommended, as there is no VM overhead):
43+
- Follow the official [Docker Engine installation guide](https://docs.docker.com/engine/install/) for your Linux distribution
44+
- Docker Desktop:
45+
- If you want a GUI, you can use [Docker Desktop for Linux](https://docs.docker.com/desktop/install/linux-install/)
46+
47+
2. Install Spin:
48+
- Follow the instructions to install Spin on Linux from the [Spin documentation](https://serversideup.net/open-source/spin/docs/installation/install-linux#configure-docker-permissions)
49+
50+
51+
## 2. Verify installation (optional)
52+
53+
After installing Docker (or Orbstack) and Spin, verify the installation:
54+
55+
1. Open a terminal or command prompt
56+
2. Run the following commands:
57+
```bash
58+
docker --version
59+
spin --version
60+
```
61+
You should see version information for both Docker and Spin.
62+
63+
64+
## 3. Fork the Coolify repository and setup your local repository
65+
66+
1. Fork the [Coolify](https://github.com/coollabsio/coolify) repository to your GitHub account.
67+
68+
2. Install a code editor on your machine (below are some popular choices, choose one):
69+
70+
- Visual Studio Code (recommended free):
71+
- Windows/macOS/Linux: Download and install from [https://code.visualstudio.com/download](https://code.visualstudio.com/download)
72+
73+
- Cursor (recommended but paid for getting the full benefits):
74+
- Windows/macOS/Linux: Download and install from [https://www.cursor.com/](https://www.cursor.com/)
75+
76+
- Zed (very fast code editor):
77+
- macOS/Linux: Download and install from [https://zed.dev/download](https://zed.dev/download)
78+
- Windows: Not available yet
79+
80+
3. Clone the Coolify Repository from your fork to your local machine
81+
- Use `git clone` in the command line
82+
- Use GitHub Desktop (recommended):
83+
- Download and install from [https://desktop.github.com/](https://desktop.github.com/)
84+
- Open GitHub Desktop and login with your GitHub account
85+
- Click on `File` -> `Clone Repository` select `github.com` as the repository location, then select your forked Coolify repository, choose the local path and then click `Clone`
86+
87+
4. Open the cloned Coolify Repository in your chosen code editor.
88+
89+
90+
## 4. Set up Environment Variables
91+
92+
1. In the Code Editor, locate the `.env.development.example` file in the root directory of your local Coolify repository.
93+
94+
2. Duplicate the `.env.development.example` file and rename the copy to `.env`.
95+
96+
3. Open the new `.env` file and review its contents. Adjust any environment variables as needed for your development setup.
97+
98+
4. 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 running `docker ps` after executing `spin up`.
99+
100+
5. Save the changes to your `.env` file.
101+
102+
103+
## 5. Start Coolify
104+
105+
1. Open a terminal in the local Coolify directory.
106+
107+
2. Run the following command in the terminal (leave that terminal open):
108+
```
109+
spin up
110+
```
111+
Note: You may see some errors, but don't worry; this is expected.
112+
113+
3. If you encounter permission errors, especially on macOS, use:
114+
```
115+
sudo spin up
116+
```
117+
118+
Note: If you change environment variables afterwards or anything seems broken, press Ctrl + C to stop the process and run `spin up` again.
119+
120+
121+
## 6. Start Development
122+
123+
1. Access your Coolify instance:
124+
- URL: `http://localhost:8000`
125+
- Login: `[email protected]`
126+
- Password: `password`
127+
128+
2. Additional development tools:
129+
- Laravel Horizon (scheduler): `http://localhost:8000/horizon`
130+
Note: Only accessible when logged in as root user
131+
- Mailpit (email catcher): `http://localhost:8025`
132+
- Telescope (debugging tool): `http://localhost:8000/telescope`
133+
Note: Disabled by default (so the database is not overloaded), enable by adding the following environment variable to your `.env` file:
134+
```env
135+
TELESCOPE_ENABLED=true
136+
```
137+
138+
139+
## 7. Development Notes
140+
141+
When working on Coolify, keep the following in mind:
142+
143+
1. **Database Migrations**: After switching branches or making changes to the database structure, always run migrations:
144+
```bash
145+
docker exec -it coolify php artisan migrate
146+
```
147+
148+
2. **Resetting Development Setup**: To reset your development setup to a clean database with default values:
149+
```bash
150+
docker exec -it coolify php artisan migrate:fresh --seed
151+
```
152+
153+
3. **Troubleshooting**: If you encounter unexpected behavior, ensure your database is up-to-date with the latest migrations and if possible reset the development setup to eliminate any envrionement specific issues.
154+
155+
Remember, forgetting to migrate the database can cause problems, so make it a habit to run migrations after pulling changes or switching branches.
156+
157+
158+
## 8. Contributing a New Service
159+
160+
To add a new service to Coolify, please refer to our documentation:
161+
[Adding a New Service](https://coolify.io/docs/knowledge-base/add-a-service)
162+
163+
164+
## 9. Create a Pull Request
165+
166+
1. After making changes or adding a new service:
167+
- Commit your changes to your forked repository.
168+
- Push the changes to your GitHub account.
169+
170+
2. Creating the Pull Request (PR):
171+
- Navigate to the main Coolify repository on GitHub.
172+
- Click the "Pull requests" tab.
173+
- Click the green "New pull request" button.
174+
- Choose your fork and branch as the compare branch.
175+
- Click "Create pull request".
176+
177+
3. Filling out the PR details:
178+
- Give your PR a descriptive title.
179+
- In the description, explain the changes you've made.
180+
- Reference any related issues by using keywords like "Fixes #123" or "Closes #456".
181+
182+
4. Important note:
183+
Always set the base branch for your PR to the `next` branch of the Coolify repository, not the `main` branch.
184+
185+
5. Submit your PR:
186+
- Review your changes one last time.
187+
- Click "Create pull request" to submit.
188+
189+
After submission, maintainers will review your PR and may request changes or provide feedback.

CONTRIBUTION.md

Lines changed: 0 additions & 34 deletions
This file was deleted.

README.md

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,20 +35,32 @@ Thank you so much!
3535

3636
Special thanks to our biggest sponsors!
3737

38-
<a href="https://cccareers.org/" target="_blank"><img src="./other/logos/ccc-logo.webp" alt="cccareers logo" width="200"/></a>
39-
<a href="http://htznr.li/CoolifyXHetzner" target="_blank"><img src="./other/logos/hetzner.jpg" alt="hetzner logo" width="150"/></a>
40-
<a href="https://logto.io/?ref=coolify" target="_blank"><img src="./other/logos/logto.webp" alt="logto logo" width="150"/></a>
41-
<a href="https://bc.direct/?ref=coolify.io" target="_blank"><img src="./other/logos/bc.png" alt="bc direct logo" width="200"/></a>
42-
<a href="https://www.quantcdn.io/?ref=coolify.io" target="_blank"><img src="./other/logos/quant.svg" alt="quantcdn logo" width="150"/></a>
43-
<a href="https://arcjet.com/?ref=coolify.io" target="_blank"><img src="./other/logos/arcjet.svg" alt="arcjet logo" width="200"/></a>
44-
<a href="https://supa.guide/?ref=coolify.io" target="_blank"><img src="./other/logos/supaguide.png" alt="supaguide logo" width="200"/></a>
45-
<a href="https://tigrisdata.com/?ref=coolify.io" target="_blank"><img src="./other/logos/tigris.svg" alt="tigris logo" width="140"/></a>
46-
<a href="https://fractalnetworks.co/?ref=coolify.io" target="_blank"><img src="./other/logos/fractal.svg" alt="fractal logo" width="180"/></a>
47-
<a href="https://coolify.ad.vin/?ref=coolify.io" target="_blank"><img src="./other/logos/advin.png" alt="advin logo" width="250"/></a>
48-
<a href="https://trieve.ai/?ref=coolify.io" target="_blank"><img src="./other/logos/trieve_bg.png" alt="trieve logo" width="180"/></a>
49-
<a href="https://blacksmith.sh/?ref=coolify.io" target="_blank"><img src="./other/logos/blacksmith.svg" alt="blacksmith logo" width="200"/></a>
50-
<a href="https://latitude.sh/?ref=coolify.io" target="_blank"><img src="./other/logos/latitude.svg" alt="latitude logo" width="200"/></a>
51-
<a href="https://brand.dev/?ref=coolify.io" target="_blank"><img src="./other/logos/branddev.png" alt="branddev logo" width="200"/></a>
38+
### Special Sponsors
39+
40+
![image](https://github.com/user-attachments/assets/c95a07df-7c5a-4e77-a35a-81f25fcbece1)
41+
42+
* [CCCareers](https://cccareers.org/) - A career development platform for coding bootcamp graduates.
43+
* [Hetzner](http://htznr.li/CoolifyXHetzner) - A German web hosting company offering dedicated servers and cloud services.
44+
* [Logto](https://logto.io/?ref=coolify) - An open-source authentication and authorization platform.
45+
* [BC Direct](https://bc.direct/?ref=coolify.io) - A digital marketing agency specializing in e-commerce solutions.
46+
* [QuantCDN](https://www.quantcdn.io/?ref=coolify.io) - A content delivery network (CDN) for fast content delivery.
47+
* [Arcjet](https://arcjet.com/?ref=coolify.io) - A cloud-based platform for data analytics and visualization.
48+
* [SupaGuide](https://supa.guide/?ref=coolify.io) - A platform offering guides and resources for web development and design.
49+
* [Tigris](https://tigrisdata.com/?ref=coolify.io) - A data integration platform for connecting and managing data sources.
50+
* [Fractal Networks](https://fractalnetworks.co/?ref=coolify.io) - A decentralized network infrastructure for secure data exchange.
51+
* [Advin](https://coolify.ad.vin/?ref=coolify.io) - A digital advertising agency specializing in programmatic advertising.
52+
* [Treive](https://trieve.ai/?ref=coolify.io) - An AI-powered data analytics platform for business insights.
53+
* [Blacksmith](https://blacksmith.sh/?ref=coolify.io) - A cloud-based platform for automating DevOps and infrastructure management.
54+
* [Latitude](https://latitude.sh/?ref=coolify.io) - A platform offering location-based services and geospatial data.
55+
* [Brand Dev](https://brand.dev/?ref=coolify.io) - A web development agency specializing in brand identity and digital presence.
56+
* [Jobscollider](https://jobscollider.com/remote-jobs?ref=coolify.io) - A job search platform specializing in remote and flexible work opportunities.
57+
* [Hostinger](https://hostinger.com?ref=coolify.io) - A web hosting company offering shared, VPS, and cloud hosting services.
58+
* [Glueops](https://www.glueops.dev/?ref=coolify.io) - A DevOps and cloud consulting company offering infrastructure automation services.
59+
* [Ubicloud](https://ubicloud.com/?ref=coolify.io) - A cloud-based platform for IoT device management and data analytics.
60+
* [Juxtdigital](https://juxtdigital.dev/?ref=coolify.io) - A digital agency offering web development, design, and marketing services.
61+
* [Saasykit](https://saasykit.com/?ref=coolify.io) - SaaSykit is a Laravel-based boilerplate with everything you need to build an awesome SaaS.
62+
* [Massivegrid](https://massivegrid.com/?ref=coolify.io) - A cloud-based platform for data storage and processing.
63+
5264

5365
## Github Sponsors ($40+)
5466
<a href="https://serpapi.com/?ref=coolify.io"><img width="60px" alt="SerpAPI" src="https://github.com/serpapi.png"/></a>
@@ -71,8 +83,11 @@ Special thanks to our biggest sponsors!
7183
<a href="https://github.com/aniftyco"><img src="https://github.com/aniftyco.png" width="60px" alt="NiftyCo" /></a>
7284
<a href="https://github.com/iujlaki"><img src="https://github.com/iujlaki.png" width="60px" alt="Imre Ujlaki" /></a>
7385
<a href="https://il.ly"><img src="https://github.com/Illyism.png" width="60px" alt="Ilias Ism" /></a>
86+
<a href="https://www.breakcold.com/?utm_source=coolify.io"><img src="https://github.com/breakcold.png" width="60px" alt="Breakcold" /></a>
7487
<a href="https://github.com/urtho"><img src="https://github.com/urtho.png" width="60px" alt="Paweł Pierścionek" /></a>
7588
<a href="https://github.com/monocursive"><img src="https://github.com/monocursive.png" width="60px" alt="Michael Mazurczak" /></a>
89+
<a href="https://formbricks.com/?utm_source=coolify.io"><img src="https://github.com/formbricks.png" width="60px" alt="Formbricks" /></a>
90+
<a href="https://x.com/adithsuhas17?utm_source=coolify.io"><img src="https://github.com/adith-suhas-sv.png" width="60px" alt="Adith Suhas" /></a>
7691

7792
## Organizations
7893
<a href="https://opencollective.com/coollabsio/organization/0/website"><img src="https://opencollective.com/coollabsio/organization/0/avatar.svg"></a>

0 commit comments

Comments
 (0)