mirror of
https://github.com/cupcakearmy/coolify.git
synced 2024-10-23 00:24:15 +02:00
fix: edgedb stuff
This commit is contained in:
parent
67b72220c0
commit
f4bac2382c
@ -415,12 +415,12 @@ export const supportedDatabaseTypesAndVersions = [
|
|||||||
versions: ['3.2.2', '3.1.2', '2.3.1'],
|
versions: ['3.2.2', '3.1.2', '2.3.1'],
|
||||||
versionsARM: ['3.2.2', '3.1.2', '2.3.1']
|
versionsARM: ['3.2.2', '3.1.2', '2.3.1']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'edgedb',
|
name: 'edgedb',
|
||||||
fancyName: 'EdgeDB',
|
fancyName: 'EdgeDB',
|
||||||
baseImage: 'edgedb/edgedb',
|
baseImage: 'edgedb/edgedb',
|
||||||
versions: ['2.0', '1.4']
|
versions: ['latest', '2.1', '2.0', '1.4']
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
export async function getFreeSSHLocalPort(id: string): Promise<number | boolean> {
|
export async function getFreeSSHLocalPort(id: string): Promise<number | boolean> {
|
||||||
@ -648,21 +648,20 @@ export function generatePassword({ length = 24, symbols = false, isHex = false }
|
|||||||
return password;
|
return password;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function generateDatabaseConfiguration(database: any, arch: string):
|
type DatabaseConfiguration = {
|
||||||
| {
|
volume: string;
|
||||||
volume: string;
|
image: string;
|
||||||
image: string;
|
command?: string;
|
||||||
command?: string;
|
ulimits: Record<string, unknown>;
|
||||||
ulimits: Record<string, unknown>;
|
privatePort: number;
|
||||||
privatePort: number;
|
environmentVariables: {
|
||||||
environmentVariables: {
|
MYSQL_DATABASE: string;
|
||||||
MYSQL_DATABASE: string;
|
MYSQL_PASSWORD: string;
|
||||||
MYSQL_PASSWORD: string;
|
MYSQL_ROOT_USER: string;
|
||||||
MYSQL_ROOT_USER: string;
|
MYSQL_USER: string;
|
||||||
MYSQL_USER: string;
|
MYSQL_ROOT_PASSWORD: string;
|
||||||
MYSQL_ROOT_PASSWORD: string;
|
};
|
||||||
};
|
}
|
||||||
}
|
|
||||||
| {
|
| {
|
||||||
volume: string;
|
volume: string;
|
||||||
image: string;
|
image: string;
|
||||||
@ -697,22 +696,13 @@ export function generateDatabaseConfiguration(database: any, arch: string):
|
|||||||
ulimits: Record<string, unknown>;
|
ulimits: Record<string, unknown>;
|
||||||
privatePort: number;
|
privatePort: number;
|
||||||
environmentVariables: {
|
environmentVariables: {
|
||||||
POSTGRESQL_POSTGRES_PASSWORD: string;
|
POSTGRES_PASSWORD?: string;
|
||||||
POSTGRESQL_USERNAME: string;
|
POSTGRES_USER?: string;
|
||||||
POSTGRESQL_PASSWORD: string;
|
POSTGRES_DB?: string;
|
||||||
POSTGRESQL_DATABASE: string;
|
POSTGRESQL_POSTGRES_PASSWORD?: string;
|
||||||
};
|
POSTGRESQL_USERNAME?: string;
|
||||||
}
|
POSTGRESQL_PASSWORD?: string;
|
||||||
| {
|
POSTGRESQL_DATABASE?: string;
|
||||||
volume: string;
|
|
||||||
image: string;
|
|
||||||
command?: string;
|
|
||||||
ulimits: Record<string, unknown>;
|
|
||||||
privatePort: number;
|
|
||||||
environmentVariables: {
|
|
||||||
POSTGRES_USER: string;
|
|
||||||
POSTGRES_PASSWORD: string;
|
|
||||||
POSTGRES_DB: string;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
@ -736,19 +726,21 @@ export function generateDatabaseConfiguration(database: any, arch: string):
|
|||||||
COUCHDB_PASSWORD: string;
|
COUCHDB_PASSWORD: string;
|
||||||
COUCHDB_USER: string;
|
COUCHDB_USER: string;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
volume: string;
|
volume: string;
|
||||||
image: string;
|
image: string;
|
||||||
|
command?: string;
|
||||||
ulimits: Record<string, unknown>;
|
ulimits: Record<string, unknown>;
|
||||||
privatePort: number;
|
privatePort: number;
|
||||||
environmentVariables: {
|
environmentVariables: {
|
||||||
EDGEDB_SERVER_PASSWORD: string;
|
EDGEDB_SERVER_PASSWORD: string;
|
||||||
EDGEDB_SERVER_USER: string;
|
EDGEDB_SERVER_USER: string;
|
||||||
EDGEDB_SERVER_DATABASE: string;
|
EDGEDB_SERVER_DATABASE: string;
|
||||||
EDGEDB_SERVER_SECURITY: string;
|
EDGEDB_SERVER_SECURITY: string;
|
||||||
};
|
};
|
||||||
} {
|
}
|
||||||
|
export function generateDatabaseConfiguration(database: any, arch: string): DatabaseConfiguration {
|
||||||
const {
|
const {
|
||||||
id,
|
id,
|
||||||
dbUser,
|
dbUser,
|
||||||
@ -780,7 +772,7 @@ export function generateDatabaseConfiguration(database: any, arch: string):
|
|||||||
}
|
}
|
||||||
return configuration
|
return configuration
|
||||||
} else if (type === 'mariadb') {
|
} else if (type === 'mariadb') {
|
||||||
const configuration = {
|
const configuration: DatabaseConfiguration = {
|
||||||
privatePort: 3306,
|
privatePort: 3306,
|
||||||
environmentVariables: {
|
environmentVariables: {
|
||||||
MARIADB_ROOT_USER: rootUser,
|
MARIADB_ROOT_USER: rootUser,
|
||||||
@ -798,7 +790,7 @@ export function generateDatabaseConfiguration(database: any, arch: string):
|
|||||||
}
|
}
|
||||||
return configuration
|
return configuration
|
||||||
} else if (type === 'mongodb') {
|
} else if (type === 'mongodb') {
|
||||||
const configuration = {
|
const configuration: DatabaseConfiguration = {
|
||||||
privatePort: 27017,
|
privatePort: 27017,
|
||||||
environmentVariables: {
|
environmentVariables: {
|
||||||
MONGODB_ROOT_USER: rootUser,
|
MONGODB_ROOT_USER: rootUser,
|
||||||
@ -817,7 +809,7 @@ export function generateDatabaseConfiguration(database: any, arch: string):
|
|||||||
}
|
}
|
||||||
return configuration
|
return configuration
|
||||||
} else if (type === 'postgresql') {
|
} else if (type === 'postgresql') {
|
||||||
const configuration = {
|
const configuration: DatabaseConfiguration = {
|
||||||
privatePort: 5432,
|
privatePort: 5432,
|
||||||
environmentVariables: {
|
environmentVariables: {
|
||||||
POSTGRESQL_POSTGRES_PASSWORD: rootUserPassword,
|
POSTGRESQL_POSTGRES_PASSWORD: rootUserPassword,
|
||||||
@ -839,7 +831,7 @@ export function generateDatabaseConfiguration(database: any, arch: string):
|
|||||||
}
|
}
|
||||||
return configuration
|
return configuration
|
||||||
} else if (type === 'redis') {
|
} else if (type === 'redis') {
|
||||||
const configuration = {
|
const configuration: DatabaseConfiguration = {
|
||||||
privatePort: 6379,
|
privatePort: 6379,
|
||||||
command: undefined,
|
command: undefined,
|
||||||
environmentVariables: {
|
environmentVariables: {
|
||||||
@ -856,7 +848,7 @@ export function generateDatabaseConfiguration(database: any, arch: string):
|
|||||||
}
|
}
|
||||||
return configuration
|
return configuration
|
||||||
} else if (type === 'couchdb') {
|
} else if (type === 'couchdb') {
|
||||||
const configuration = {
|
const configuration: DatabaseConfiguration = {
|
||||||
privatePort: 5984,
|
privatePort: 5984,
|
||||||
environmentVariables: {
|
environmentVariables: {
|
||||||
COUCHDB_PASSWORD: dbUserPassword,
|
COUCHDB_PASSWORD: dbUserPassword,
|
||||||
@ -866,23 +858,24 @@ export function generateDatabaseConfiguration(database: any, arch: string):
|
|||||||
volume: `${id}-${type}-data:/bitnami/couchdb`,
|
volume: `${id}-${type}-data:/bitnami/couchdb`,
|
||||||
ulimits: {}
|
ulimits: {}
|
||||||
};
|
};
|
||||||
if (isARM(arch)) {
|
if (isARM(arch)) {
|
||||||
configuration.volume = `${id}-${type}-data:/opt/couchdb/data`;
|
configuration.volume = `${id}-${type}-data:/opt/couchdb/data`;
|
||||||
}
|
}
|
||||||
return configuration
|
return configuration
|
||||||
} else if (type === 'edgedb') {
|
} else if (type === 'edgedb') {
|
||||||
return {
|
const configuration: DatabaseConfiguration = {
|
||||||
privatePort: 5656,
|
privatePort: 5656,
|
||||||
environmentVariables: {
|
environmentVariables: {
|
||||||
EDGEDB_SERVER_PASSWORD: rootUserPassword,
|
EDGEDB_SERVER_PASSWORD: rootUserPassword,
|
||||||
EDGEDB_SERVER_USER: rootUser,
|
EDGEDB_SERVER_USER: rootUser,
|
||||||
EDGEDB_SERVER_DATABASE: defaultDatabase,
|
EDGEDB_SERVER_DATABASE: defaultDatabase,
|
||||||
EDGEDB_SERVER_SECURITY: 'insecure_dev_mode'
|
EDGEDB_SERVER_SECURITY: 'insecure_dev_mode'
|
||||||
},
|
},
|
||||||
image: `${baseImage}:${version}`,
|
image: `${baseImage}:${version}`,
|
||||||
volume: `${id}-${type}-data:/edgedb/edgedb`,
|
volume: `${id}-${type}-data:/var/lib/edgedb/data`,
|
||||||
ulimits: {}
|
ulimits: {}
|
||||||
};
|
};
|
||||||
|
return configuration
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export function isARM(arch: string) {
|
export function isARM(arch: string) {
|
||||||
|
@ -3,7 +3,7 @@ import type { FastifyRequest } from 'fastify';
|
|||||||
import { FastifyReply } from 'fastify';
|
import { FastifyReply } from 'fastify';
|
||||||
import yaml from 'js-yaml';
|
import yaml from 'js-yaml';
|
||||||
import fs from 'fs/promises';
|
import fs from 'fs/promises';
|
||||||
import { ComposeFile, createDirectories, decrypt, encrypt, errorHandler, executeDockerCmd, generateDatabaseConfiguration, generatePassword, getContainerUsage, getDatabaseImage, getDatabaseVersions, getFreePublicPort, listSettings, makeLabelForStandaloneDatabase, prisma, startTraefikTCPProxy, stopDatabaseContainer, stopTcpHttpProxy, supportedDatabaseTypesAndVersions, uniqueName, updatePasswordInDb } from '../../../../lib/common';
|
import { ComposeFile, createDirectories, decrypt, defaultComposeConfiguration, encrypt, errorHandler, executeDockerCmd, generateDatabaseConfiguration, generatePassword, getContainerUsage, getDatabaseImage, getDatabaseVersions, getFreePublicPort, listSettings, makeLabelForStandaloneDatabase, prisma, startTraefikTCPProxy, stopDatabaseContainer, stopTcpHttpProxy, supportedDatabaseTypesAndVersions, uniqueName, updatePasswordInDb } from '../../../../lib/common';
|
||||||
import { day } from '../../../../lib/dayjs';
|
import { day } from '../../../../lib/dayjs';
|
||||||
|
|
||||||
import { GetDatabaseLogs, OnlyId, SaveDatabase, SaveDatabaseDestination, SaveDatabaseSettings, SaveVersion } from '../../../../types';
|
import { GetDatabaseLogs, OnlyId, SaveDatabase, SaveDatabaseDestination, SaveDatabaseSettings, SaveVersion } from '../../../../types';
|
||||||
@ -248,20 +248,11 @@ export async function startDatabase(request: FastifyRequest<OnlyId>) {
|
|||||||
container_name: id,
|
container_name: id,
|
||||||
image,
|
image,
|
||||||
command,
|
command,
|
||||||
networks: [network],
|
|
||||||
environment: environmentVariables,
|
environment: environmentVariables,
|
||||||
volumes: [volume],
|
volumes: [volume],
|
||||||
ulimits,
|
ulimits,
|
||||||
labels,
|
labels,
|
||||||
restart: 'always',
|
...defaultComposeConfiguration(network),
|
||||||
deploy: {
|
|
||||||
restart_policy: {
|
|
||||||
condition: 'on-failure',
|
|
||||||
delay: '5s',
|
|
||||||
max_attempts: 3,
|
|
||||||
window: '120s'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
networks: {
|
networks: {
|
||||||
|
@ -6,5 +6,6 @@ export { default as MongoDB } from './MongoDB.svelte';
|
|||||||
export { default as MySQL } from './MySQL.svelte';
|
export { default as MySQL } from './MySQL.svelte';
|
||||||
export { default as PostgreSQL } from './PostgreSQL.svelte';
|
export { default as PostgreSQL } from './PostgreSQL.svelte';
|
||||||
export { default as Redis } from './Redis.svelte';
|
export { default as Redis } from './Redis.svelte';
|
||||||
|
export { default as EdgeDB } from './EdgeDB.svelte';
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user