1
									
								
								.github/workflows/production-release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/workflows/production-release.yml
									
									
									
									
										vendored
									
									
								
							| @@ -104,6 +104,7 @@ jobs: | ||||
|       - name: Create & publish manifest | ||||
|         run: | | ||||
|           docker buildx imagetools create --append coollabsio/coolify:${{steps.package-version.outputs.current-version}}-arm64 --append coollabsio/coolify:${{steps.package-version.outputs.current-version}}-aarch64 --tag coollabsio/coolify:${{steps.package-version.outputs.current-version}} | ||||
|           docker buildx imagetools create coollabsio/coolify:${{steps.package-version.outputs.current-version}} --tag coollabsio/coolify:latest | ||||
|       - uses: sarisia/actions-status-discord@v1 | ||||
|         if: always() | ||||
|         with: | ||||
|   | ||||
| @@ -19,7 +19,7 @@ import { saveBuildLog, saveDockerRegistryCredentials } from './buildPacks/common | ||||
| import { scheduler } from './scheduler'; | ||||
| import type { ExecaChildProcess } from 'execa'; | ||||
|  | ||||
| export const version = '3.12.19'; | ||||
| export const version = '3.12.20'; | ||||
| export const isDev = process.env.NODE_ENV === 'development'; | ||||
| export const proxyPort = process.env.COOLIFY_PROXY_PORT; | ||||
| export const proxySecurePort = process.env.COOLIFY_PROXY_SECURE_PORT; | ||||
| @@ -517,7 +517,7 @@ export async function createRemoteEngineConfiguration(id: string) { | ||||
| 		await executeCommand({ command: `ssh-keygen -R ${Host}` }); | ||||
| 		await executeCommand({ command: `ssh-keygen -R ${remoteIpAddress}` }); | ||||
| 		await executeCommand({ command: `ssh-keygen -R localhost:${localPort}` }); | ||||
| 	} catch (error) {} | ||||
| 	} catch (error) { } | ||||
|  | ||||
| 	const found = config.find({ Host }); | ||||
| 	const foundIp = config.find({ Host: remoteIpAddress }); | ||||
| @@ -1011,8 +1011,7 @@ export function generateDatabaseConfiguration(database: any): DatabaseConfigurat | ||||
| 		}; | ||||
| 		if (isARM()) { | ||||
| 			configuration.volume = `${id}-${type}-data:/data`; | ||||
| 			configuration.command = `/usr/local/bin/redis-server --appendonly ${ | ||||
| 				appendOnly ? 'yes' : 'no' | ||||
| 			configuration.command = `/usr/local/bin/redis-server --appendonly ${appendOnly ? 'yes' : 'no' | ||||
| 				} --requirepass ${dbUserPassword}`; | ||||
| 		} | ||||
| 		return configuration; | ||||
| @@ -1174,7 +1173,7 @@ export const createDirectories = async ({ | ||||
| 	let workdirFound = false; | ||||
| 	try { | ||||
| 		workdirFound = !!(await fs.stat(workdir)); | ||||
| 	} catch (error) {} | ||||
| 	} catch (error) { } | ||||
| 	if (workdirFound) { | ||||
| 		await executeCommand({ command: `rm -fr ${workdir}` }); | ||||
| 	} | ||||
| @@ -1698,7 +1697,7 @@ export async function stopBuild(buildId, applicationId) { | ||||
| 					} | ||||
| 				} | ||||
| 				count++; | ||||
| 			} catch (error) {} | ||||
| 			} catch (error) { } | ||||
| 		}, 100); | ||||
| 	}); | ||||
| } | ||||
| @@ -1721,7 +1720,7 @@ export async function cleanupDockerStorage(dockerId) { | ||||
| 	// Cleanup images that are not used by any container | ||||
| 	try { | ||||
| 		await executeCommand({ dockerId, command: `docker image prune -af` }); | ||||
| 	} catch (error) {} | ||||
| 	} catch (error) { } | ||||
|  | ||||
| 	// Prune coolify managed containers | ||||
| 	try { | ||||
| @@ -1729,12 +1728,12 @@ export async function cleanupDockerStorage(dockerId) { | ||||
| 			dockerId, | ||||
| 			command: `docker container prune -f --filter "label=coolify.managed=true"` | ||||
| 		}); | ||||
| 	} catch (error) {} | ||||
| 	} catch (error) { } | ||||
|  | ||||
| 	// Cleanup build caches | ||||
| 	try { | ||||
| 		await executeCommand({ dockerId, command: `docker builder prune -af` }); | ||||
| 	} catch (error) {} | ||||
| 	} catch (error) { } | ||||
| } | ||||
|  | ||||
| export function persistentVolumes(id, persistentStorage, config) { | ||||
|   | ||||
| @@ -640,8 +640,7 @@ export async function restartApplication( | ||||
|  | ||||
| 			const volumes = | ||||
| 				persistentStorage?.map((storage) => { | ||||
| 					return `${applicationId}${storage.path.replace(/\//gi, '-')}:${ | ||||
| 						buildPack !== 'docker' ? '/app' : '' | ||||
| 					return `${applicationId}${storage.path.replace(/\//gi, '-')}:${buildPack !== 'docker' ? '/app' : '' | ||||
| 						}${storage.path}`; | ||||
| 				}) || []; | ||||
| 			const composeVolumes = volumes.map((volume) => { | ||||
| @@ -737,7 +736,7 @@ export async function deleteApplication( | ||||
| 			where: { id }, | ||||
| 			include: { destinationDocker: true, teams: true } | ||||
| 		}); | ||||
| 		if (teamId === '0' || !application.teams.some((team) => team.id === teamId)) { | ||||
| 		if (teamId !== '0' || !application.teams.some((team) => team.id === teamId)) { | ||||
| 			throw { status: 403, message: 'You are not allowed to delete this application.' }; | ||||
| 		} | ||||
| 		if (application?.destinationDocker?.id && application.destinationDocker?.network) { | ||||
| @@ -1428,8 +1427,7 @@ export async function restartPreview( | ||||
|  | ||||
| 			const volumes = | ||||
| 				persistentStorage?.map((storage) => { | ||||
| 					return `${applicationId}${storage.path.replace(/\//gi, '-')}:${ | ||||
| 						buildPack !== 'docker' ? '/app' : '' | ||||
| 					return `${applicationId}${storage.path.replace(/\//gi, '-')}:${buildPack !== 'docker' ? '/app' : '' | ||||
| 						}${storage.path}`; | ||||
| 				}) || []; | ||||
| 			const composeVolumes = volumes.map((volume) => { | ||||
|   | ||||
							
								
								
									
										17
									
								
								others/scripts/bumpLatest.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								others/scripts/bumpLatest.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| #!/bin/bash | ||||
| VERSION=$(cat ./package.json | jq -r .version) | ||||
| IMAGE=coollabsio/coolify | ||||
| echo "Pulling $IMAGE:$VERSION" | ||||
| docker pull $IMAGE:$VERSION | ||||
|  | ||||
| echo "Tagging $IMAGE:$VERSION as $IMAGE:latest" | ||||
| docker tag $IMAGE:$VERSION $IMAGE:latest | ||||
|  | ||||
| echo "Pushing $IMAGE:latest" | ||||
| read -p "Are you sure you want to push $IMAGE:latest? (y/n) " -n 1 -r | ||||
| if [[ ! $REPLY =~ ^[Yy]$ ]]; then | ||||
|     echo "Aborting" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| docker push $IMAGE:latest | ||||
| @@ -1,7 +1,7 @@ | ||||
| { | ||||
|   "name": "coolify", | ||||
|   "description": "An open-source & self-hostable Heroku / Netlify alternative.", | ||||
|   "version": "3.12.19", | ||||
|   "version": "3.12.20", | ||||
|   "license": "Apache-2.0", | ||||
|   "repository": "github:coollabsio/coolify", | ||||
|   "scripts": { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Andras Bacsai
					Andras Bacsai