commit
3802158ad5
@ -61,6 +61,7 @@ These are the predefined build packs, but with the Docker build pack, you can ho
|
||||
- Laravel
|
||||
- Rust
|
||||
- Docker
|
||||
- Python
|
||||
|
||||
### Databases
|
||||
|
||||
@ -77,9 +78,9 @@ One-click database is ready to be used internally or shared over the internet:
|
||||
|
||||
You can host cool open-source services as well:
|
||||
|
||||
- [WordPress](https://wordpress.org)
|
||||
- [WordPress](https://docs.coollabs.io/coolify/services/wordpress)
|
||||
- [Ghost](https://ghost.org)
|
||||
- [Plausible Analytics](https://plausible.io)
|
||||
- [Plausible Analytics](https://docs.coollabs.io/coolify/services/plausible-analytics)
|
||||
- [NocoDB](https://nocodb.com)
|
||||
- [VSCode Server](https://github.com/cdr/code-server)
|
||||
- [MinIO](https://min.io)
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "coolify",
|
||||
"description": "An open-source & self-hostable Heroku / Netlify alternative.",
|
||||
"version": "2.8.0",
|
||||
"version": "2.8.1",
|
||||
"license": "AGPL-3.0",
|
||||
"scripts": {
|
||||
"dev": "docker-compose -f docker-compose-dev.yaml up -d && cross-env NODE_ENV=development & svelte-kit dev --host 0.0.0.0",
|
||||
|
@ -406,6 +406,10 @@ export function setDefaultBaseImage(buildPack) {
|
||||
}
|
||||
];
|
||||
const pythonVersions = [
|
||||
{
|
||||
value: 'python:3.10-alpine',
|
||||
label: 'python:3.10-alpine'
|
||||
},
|
||||
{
|
||||
value: 'python:3.10-buster',
|
||||
label: 'python:3.10-buster'
|
||||
@ -486,7 +490,7 @@ export function setDefaultBaseImage(buildPack) {
|
||||
payload.baseBuildImages = nodeVersions;
|
||||
}
|
||||
if (buildPack === 'python') {
|
||||
payload.baseImage = 'python:3-alpine';
|
||||
payload.baseImage = 'python:3.10-alpine';
|
||||
payload.baseImages = pythonVersions;
|
||||
}
|
||||
if (buildPack === 'rust') {
|
||||
|
@ -418,20 +418,27 @@ export async function updateWordpress({
|
||||
fqdn,
|
||||
name,
|
||||
exposePort,
|
||||
ownMysql,
|
||||
mysqlDatabase,
|
||||
extraConfig,
|
||||
mysqlHost,
|
||||
mysqlPort
|
||||
mysqlPort,
|
||||
mysqlUser,
|
||||
mysqlPassword
|
||||
}: {
|
||||
id: string;
|
||||
fqdn: string;
|
||||
name: string;
|
||||
exposePort?: number;
|
||||
ownMysql: boolean;
|
||||
mysqlDatabase: string;
|
||||
extraConfig: string;
|
||||
mysqlHost?: string;
|
||||
mysqlPort?: number;
|
||||
mysqlUser?: string;
|
||||
mysqlPassword?: string;
|
||||
}): Promise<Service> {
|
||||
mysqlPassword = encrypt(mysqlPassword);
|
||||
return await prisma.service.update({
|
||||
where: { id },
|
||||
data: {
|
||||
@ -443,6 +450,8 @@ export async function updateWordpress({
|
||||
mysqlDatabase,
|
||||
extraConfig,
|
||||
mysqlHost,
|
||||
mysqlUser,
|
||||
mysqlPassword,
|
||||
mysqlPort
|
||||
}
|
||||
}
|
||||
|
@ -60,7 +60,7 @@
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="flex justify-center">
|
||||
<div class="flex-col justify-center">
|
||||
{#if !applications || ownApplications.length === 0}
|
||||
<div class="flex-col">
|
||||
<div class="text-center text-xl font-bold">{$t('application.no_applications_found')}</div>
|
||||
|
@ -47,7 +47,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-center">
|
||||
<div class="flex-col justify-center">
|
||||
{#if !databases || ownDatabases.length === 0}
|
||||
<div class="flex-col">
|
||||
<div class="text-center text-xl font-bold">{$t('database.no_databases_found')}</div>
|
||||
|
@ -58,7 +58,7 @@
|
||||
</a>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="flex justify-center">
|
||||
<div class="flex-col justify-center">
|
||||
{#if !destinations || ownDestinations.length === 0}
|
||||
<div class="flex-col">
|
||||
<div class="text-center text-xl font-bold">{$t('destination.no_destination_found')}</div>
|
||||
|
@ -140,7 +140,6 @@
|
||||
{#if $session.teamId === '0'}
|
||||
<div class="px-6 text-2xl font-bold">Server Usage</div>
|
||||
<dl class="relative mt-5 grid grid-cols-1 gap-5 sm:grid-cols-3">
|
||||
<Loading />
|
||||
<div class="overflow-hidden rounded px-4 py-5 text-center sm:p-6 sm:text-left">
|
||||
<dt class="truncate text-sm font-medium text-white">Total Memory</dt>
|
||||
<dd class="mt-1 text-3xl font-semibold text-white">
|
||||
@ -175,12 +174,6 @@
|
||||
{usage?.cpu.count}
|
||||
</dd>
|
||||
</div>
|
||||
<div class="overflow-hidden rounded px-4 py-5 text-center sm:p-6 sm:text-left">
|
||||
<dt class="truncate text-sm font-medium text-white">Load Average (5/10/30mins)</dt>
|
||||
<dd class="mt-1 text-3xl font-semibold text-white">
|
||||
{usage?.cpu.load.join('/')}
|
||||
</dd>
|
||||
</div>
|
||||
<div
|
||||
class="overflow-hidden rounded px-4 py-5 text-center sm:p-6 sm:text-left"
|
||||
class:bg-red-500={cpuWarning}
|
||||
@ -193,6 +186,12 @@
|
||||
{/if}
|
||||
</dd>
|
||||
</div>
|
||||
<div class="overflow-hidden rounded px-4 py-5 text-center sm:p-6 sm:text-left">
|
||||
<dt class="truncate text-sm font-medium text-white">Load Average (5/10/30mins)</dt>
|
||||
<dd class="mt-1 text-3xl font-semibold text-white">
|
||||
{usage?.cpu.load.join('/')}
|
||||
</dd>
|
||||
</div>
|
||||
</dl>
|
||||
<dl class="relative mt-5 grid grid-cols-1 gap-5 sm:grid-cols-3">
|
||||
<div class="overflow-hidden rounded px-4 py-5 text-center sm:p-6 sm:text-left">
|
||||
@ -255,7 +254,7 @@
|
||||
</dd>
|
||||
</a>
|
||||
</dl>
|
||||
<dl class="mt-5 grid grid-cols-1 gap-5 sm:grid-cols-3">
|
||||
<dl class="mt-5 grid grid-cols-1 gap-5 px-2 sm:grid-cols-3">
|
||||
<a
|
||||
href="/databases"
|
||||
sveltekit:prefetch
|
||||
|
@ -175,8 +175,8 @@ define('SUBDOMAIN_INSTALL', false);`
|
||||
id="mysqlRootUser"
|
||||
placeholder="MySQL {$t('forms.root_user')}"
|
||||
value={service.wordpress.mysqlRootUser}
|
||||
readonly={isRunning || !service.wordpress.ownMysq}
|
||||
disabled={isRunning || !service.wordpress.ownMysq}
|
||||
readonly={isRunning || !service.wordpress.ownMysql}
|
||||
disabled={isRunning || !service.wordpress.ownMysql}
|
||||
/>
|
||||
</div>
|
||||
<div class="grid grid-cols-2 items-center px-10">
|
||||
@ -184,8 +184,8 @@ define('SUBDOMAIN_INSTALL', false);`
|
||||
<CopyPasswordField
|
||||
id="mysqlRootUserPassword"
|
||||
isPasswordField
|
||||
readonly={isRunning || !service.wordpress.ownMysq}
|
||||
disabled={isRunning || !service.wordpress.ownMysq}
|
||||
readonly={isRunning || !service.wordpress.ownMysql}
|
||||
disabled={isRunning || !service.wordpress.ownMysql}
|
||||
name="mysqlRootUserPassword"
|
||||
value={service.wordpress.mysqlRootUserPassword}
|
||||
/>
|
||||
@ -196,7 +196,7 @@ define('SUBDOMAIN_INSTALL', false);`
|
||||
<input
|
||||
name="mysqlUser"
|
||||
id="mysqlUser"
|
||||
value={service.wordpress.mysqlUser}
|
||||
bind:value={service.wordpress.mysqlUser}
|
||||
readonly={isRunning || !service.wordpress.ownMysql}
|
||||
disabled={isRunning || !service.wordpress.ownMysql}
|
||||
/>
|
||||
@ -209,6 +209,6 @@ define('SUBDOMAIN_INSTALL', false);`
|
||||
readonly={isRunning || !service.wordpress.ownMysql}
|
||||
disabled={isRunning || !service.wordpress.ownMysql}
|
||||
name="mysqlPassword"
|
||||
value={service.wordpress.mysqlPassword}
|
||||
bind:value={service.wordpress.mysqlPassword}
|
||||
/>
|
||||
</div>
|
||||
|
@ -12,23 +12,25 @@ export const post: RequestHandler = async (event) => {
|
||||
name,
|
||||
fqdn,
|
||||
exposePort,
|
||||
wordpress: { extraConfig, mysqlDatabase, mysqlHost, mysqlPort }
|
||||
ownMysql,
|
||||
wordpress: { extraConfig, mysqlDatabase, mysqlHost, mysqlPort, mysqlUser, mysqlPassword }
|
||||
} = await event.request.json();
|
||||
|
||||
if (fqdn) fqdn = fqdn.toLowerCase();
|
||||
if (exposePort) exposePort = Number(exposePort);
|
||||
if (mysqlPort) mysqlPort = Number(mysqlPort);
|
||||
|
||||
try {
|
||||
await db.updateWordpress({
|
||||
id,
|
||||
fqdn,
|
||||
name,
|
||||
extraConfig,
|
||||
ownMysql,
|
||||
mysqlDatabase,
|
||||
exposePort,
|
||||
mysqlHost,
|
||||
mysqlPort
|
||||
mysqlPort,
|
||||
mysqlUser,
|
||||
mysqlPassword
|
||||
});
|
||||
return { status: 201 };
|
||||
} catch (error) {
|
||||
|
@ -55,7 +55,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-center">
|
||||
<div class="flex-col justify-center">
|
||||
{#if !services || ownServices.length === 0}
|
||||
<div class="flex-col">
|
||||
<div class="text-center text-xl font-bold">{$t('service.no_service')}</div>
|
||||
|
@ -62,7 +62,7 @@
|
||||
</button>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="flex justify-center">
|
||||
<div class="flex-col justify-center">
|
||||
{#if !sources || ownSources.length === 0}
|
||||
<div class="flex-col">
|
||||
<div class="text-center text-xl font-bold">{$t('source.no_git_sources_found')}</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user