mirror of
https://github.com/andwati/dokploy.git
synced 2026-11-07 04:22:16 +00:00
feat(schema): expand database schema with new enums, tables, and relationships for enhanced application management; Ran dbml.ts script
This commit is contained in:
@@ -5,17 +5,24 @@ enum applicationStatus {
|
|||||||
error
|
error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum backupType {
|
||||||
|
database
|
||||||
|
compose
|
||||||
|
}
|
||||||
|
|
||||||
enum buildType {
|
enum buildType {
|
||||||
dockerfile
|
dockerfile
|
||||||
heroku_buildpacks
|
heroku_buildpacks
|
||||||
paketo_buildpacks
|
paketo_buildpacks
|
||||||
nixpacks
|
nixpacks
|
||||||
static
|
static
|
||||||
|
railpack
|
||||||
}
|
}
|
||||||
|
|
||||||
enum certificateType {
|
enum certificateType {
|
||||||
letsencrypt
|
letsencrypt
|
||||||
none
|
none
|
||||||
|
custom
|
||||||
}
|
}
|
||||||
|
|
||||||
enum composeType {
|
enum composeType {
|
||||||
@@ -28,6 +35,7 @@ enum databaseType {
|
|||||||
mariadb
|
mariadb
|
||||||
mysql
|
mysql
|
||||||
mongo
|
mongo
|
||||||
|
"web-server"
|
||||||
}
|
}
|
||||||
|
|
||||||
enum deploymentStatus {
|
enum deploymentStatus {
|
||||||
@@ -61,6 +69,8 @@ enum notificationType {
|
|||||||
discord
|
discord
|
||||||
email
|
email
|
||||||
gotify
|
gotify
|
||||||
|
ntfy
|
||||||
|
custom
|
||||||
}
|
}
|
||||||
|
|
||||||
enum protocolType {
|
enum protocolType {
|
||||||
@@ -68,14 +78,21 @@ enum protocolType {
|
|||||||
udp
|
udp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum publishModeType {
|
||||||
|
ingress
|
||||||
|
host
|
||||||
|
}
|
||||||
|
|
||||||
enum RegistryType {
|
enum RegistryType {
|
||||||
selfHosted
|
selfHosted
|
||||||
cloud
|
cloud
|
||||||
}
|
}
|
||||||
|
|
||||||
enum Roles {
|
enum scheduleType {
|
||||||
admin
|
application
|
||||||
user
|
compose
|
||||||
|
server
|
||||||
|
"dokploy-server"
|
||||||
}
|
}
|
||||||
|
|
||||||
enum serverStatus {
|
enum serverStatus {
|
||||||
@@ -93,6 +110,11 @@ enum serviceType {
|
|||||||
compose
|
compose
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum shellType {
|
||||||
|
bash
|
||||||
|
sh
|
||||||
|
}
|
||||||
|
|
||||||
enum sourceType {
|
enum sourceType {
|
||||||
docker
|
docker
|
||||||
git
|
git
|
||||||
@@ -112,6 +134,11 @@ enum sourceTypeCompose {
|
|||||||
raw
|
raw
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum triggerType {
|
||||||
|
push
|
||||||
|
tag
|
||||||
|
}
|
||||||
|
|
||||||
table account {
|
table account {
|
||||||
id text [pk, not null]
|
id text [pk, not null]
|
||||||
account_id text [not null]
|
account_id text [not null]
|
||||||
@@ -133,7 +160,39 @@ table account {
|
|||||||
confirmationExpiresAt text
|
confirmationExpiresAt text
|
||||||
}
|
}
|
||||||
|
|
||||||
table admin {
|
table ai {
|
||||||
|
aiId text [pk, not null]
|
||||||
|
name text [not null]
|
||||||
|
apiUrl text [not null]
|
||||||
|
apiKey text [not null]
|
||||||
|
model text [not null]
|
||||||
|
isEnabled boolean [not null, default: true]
|
||||||
|
organizationId text [not null]
|
||||||
|
createdAt text [not null]
|
||||||
|
}
|
||||||
|
|
||||||
|
table apikey {
|
||||||
|
id text [pk, not null]
|
||||||
|
name text
|
||||||
|
start text
|
||||||
|
prefix text
|
||||||
|
key text [not null]
|
||||||
|
user_id text [not null]
|
||||||
|
refill_interval integer
|
||||||
|
refill_amount integer
|
||||||
|
last_refill_at timestamp
|
||||||
|
enabled boolean
|
||||||
|
rate_limit_enabled boolean
|
||||||
|
rate_limit_time_window integer
|
||||||
|
rate_limit_max integer
|
||||||
|
request_count integer
|
||||||
|
remaining integer
|
||||||
|
last_request timestamp
|
||||||
|
expires_at timestamp
|
||||||
|
created_at timestamp [not null]
|
||||||
|
updated_at timestamp [not null]
|
||||||
|
permissions text
|
||||||
|
metadata text
|
||||||
}
|
}
|
||||||
|
|
||||||
table application {
|
table application {
|
||||||
@@ -143,14 +202,19 @@ table application {
|
|||||||
description text
|
description text
|
||||||
env text
|
env text
|
||||||
previewEnv text
|
previewEnv text
|
||||||
|
watchPaths text[]
|
||||||
previewBuildArgs text
|
previewBuildArgs text
|
||||||
|
previewLabels text[]
|
||||||
previewWildcard text
|
previewWildcard text
|
||||||
previewPort integer [default: 3000]
|
previewPort integer [default: 3000]
|
||||||
previewHttps boolean [not null, default: false]
|
previewHttps boolean [not null, default: false]
|
||||||
previewPath text [default: '/']
|
previewPath text [default: '/']
|
||||||
certificateType certificateType [not null, default: 'none']
|
certificateType certificateType [not null, default: 'none']
|
||||||
|
previewCustomCertResolver text
|
||||||
previewLimit integer [default: 3]
|
previewLimit integer [default: 3]
|
||||||
isPreviewDeploymentsActive boolean [default: false]
|
isPreviewDeploymentsActive boolean [default: false]
|
||||||
|
previewRequireCollaboratorPermissions boolean [default: true]
|
||||||
|
rollbackActive boolean [default: false]
|
||||||
buildArgs text
|
buildArgs text
|
||||||
memoryReservation text
|
memoryReservation text
|
||||||
memoryLimit text
|
memoryLimit text
|
||||||
@@ -167,6 +231,7 @@ table application {
|
|||||||
owner text
|
owner text
|
||||||
branch text
|
branch text
|
||||||
buildPath text [default: '/']
|
buildPath text [default: '/']
|
||||||
|
triggerType triggerType [default: 'push']
|
||||||
autoDeploy boolean
|
autoDeploy boolean
|
||||||
gitlabProjectId integer
|
gitlabProjectId integer
|
||||||
gitlabRepository text
|
gitlabRepository text
|
||||||
@@ -174,6 +239,10 @@ table application {
|
|||||||
gitlabBranch text
|
gitlabBranch text
|
||||||
gitlabBuildPath text [default: '/']
|
gitlabBuildPath text [default: '/']
|
||||||
gitlabPathNamespace text
|
gitlabPathNamespace text
|
||||||
|
giteaRepository text
|
||||||
|
giteaOwner text
|
||||||
|
giteaBranch text
|
||||||
|
giteaBuildPath text [default: '/']
|
||||||
bitbucketRepository text
|
bitbucketRepository text
|
||||||
bitbucketOwner text
|
bitbucketOwner text
|
||||||
bitbucketBranch text
|
bitbucketBranch text
|
||||||
@@ -186,6 +255,7 @@ table application {
|
|||||||
customGitBranch text
|
customGitBranch text
|
||||||
customGitBuildPath text
|
customGitBuildPath text
|
||||||
customGitSSHKeyId text
|
customGitSSHKeyId text
|
||||||
|
enableSubmodules boolean [not null, default: false]
|
||||||
dockerfile text
|
dockerfile text
|
||||||
dockerContextPath text
|
dockerContextPath text
|
||||||
dockerBuildStage text
|
dockerBuildStage text
|
||||||
@@ -201,52 +271,47 @@ table application {
|
|||||||
replicas integer [not null, default: 1]
|
replicas integer [not null, default: 1]
|
||||||
applicationStatus applicationStatus [not null, default: 'idle']
|
applicationStatus applicationStatus [not null, default: 'idle']
|
||||||
buildType buildType [not null, default: 'nixpacks']
|
buildType buildType [not null, default: 'nixpacks']
|
||||||
|
railpackVersion text [default: '0.2.2']
|
||||||
herokuVersion text [default: '24']
|
herokuVersion text [default: '24']
|
||||||
publishDirectory text
|
publishDirectory text
|
||||||
|
isStaticSpa boolean
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
registryId text
|
registryId text
|
||||||
projectId text [not null]
|
environmentId text [not null]
|
||||||
githubId text
|
githubId text
|
||||||
gitlabId text
|
gitlabId text
|
||||||
bitbucketId text
|
|
||||||
giteaId text
|
giteaId text
|
||||||
|
bitbucketId text
|
||||||
serverId text
|
serverId text
|
||||||
}
|
}
|
||||||
|
|
||||||
table auth {
|
|
||||||
id text [pk, not null]
|
|
||||||
email text [not null, unique]
|
|
||||||
password text [not null]
|
|
||||||
rol Roles [not null]
|
|
||||||
image text
|
|
||||||
secret text
|
|
||||||
token text
|
|
||||||
is2FAEnabled boolean [not null, default: false]
|
|
||||||
createdAt text [not null]
|
|
||||||
resetPasswordToken text
|
|
||||||
resetPasswordExpiresAt text
|
|
||||||
confirmationToken text
|
|
||||||
confirmationExpiresAt text
|
|
||||||
}
|
|
||||||
|
|
||||||
table backup {
|
table backup {
|
||||||
backupId text [pk, not null]
|
backupId text [pk, not null]
|
||||||
|
appName text [not null, unique]
|
||||||
schedule text [not null]
|
schedule text [not null]
|
||||||
enabled boolean
|
enabled boolean
|
||||||
database text [not null]
|
database text [not null]
|
||||||
prefix text [not null]
|
prefix text [not null]
|
||||||
|
serviceName text
|
||||||
destinationId text [not null]
|
destinationId text [not null]
|
||||||
|
keepLatestCount integer
|
||||||
|
backupType backupType [not null, default: 'database']
|
||||||
databaseType databaseType [not null]
|
databaseType databaseType [not null]
|
||||||
|
composeId text
|
||||||
postgresId text
|
postgresId text
|
||||||
mariadbId text
|
mariadbId text
|
||||||
mysqlId text
|
mysqlId text
|
||||||
mongoId text
|
mongoId text
|
||||||
|
userId text
|
||||||
|
metadata jsonb
|
||||||
}
|
}
|
||||||
|
|
||||||
table bitbucket {
|
table bitbucket {
|
||||||
bitbucketId text [pk, not null]
|
bitbucketId text [pk, not null]
|
||||||
bitbucketUsername text
|
bitbucketUsername text
|
||||||
|
bitbucketEmail text
|
||||||
appPassword text
|
appPassword text
|
||||||
|
apiToken text
|
||||||
bitbucketWorkspaceName text
|
bitbucketWorkspaceName text
|
||||||
gitProviderId text [not null]
|
gitProviderId text [not null]
|
||||||
}
|
}
|
||||||
@@ -258,7 +323,7 @@ table certificate {
|
|||||||
privateKey text [not null]
|
privateKey text [not null]
|
||||||
certificatePath text [not null, unique]
|
certificatePath text [not null, unique]
|
||||||
autoRenew boolean
|
autoRenew boolean
|
||||||
userId text
|
organizationId text [not null]
|
||||||
serverId text
|
serverId text
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -291,13 +356,17 @@ table compose {
|
|||||||
customGitBranch text
|
customGitBranch text
|
||||||
customGitSSHKeyId text
|
customGitSSHKeyId text
|
||||||
command text [not null, default: '']
|
command text [not null, default: '']
|
||||||
|
enableSubmodules boolean [not null, default: false]
|
||||||
composePath text [not null, default: './docker-compose.yml']
|
composePath text [not null, default: './docker-compose.yml']
|
||||||
suffix text [not null, default: '']
|
suffix text [not null, default: '']
|
||||||
randomize boolean [not null, default: false]
|
randomize boolean [not null, default: false]
|
||||||
isolatedDeployment boolean [not null, default: false]
|
isolatedDeployment boolean [not null, default: false]
|
||||||
|
isolatedDeploymentsVolume boolean [not null, default: false]
|
||||||
|
triggerType triggerType [default: 'push']
|
||||||
composeStatus applicationStatus [not null, default: 'idle']
|
composeStatus applicationStatus [not null, default: 'idle']
|
||||||
projectId text [not null]
|
environmentId text [not null]
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
|
watchPaths text[]
|
||||||
githubId text
|
githubId text
|
||||||
gitlabId text
|
gitlabId text
|
||||||
bitbucketId text
|
bitbucketId text
|
||||||
@@ -305,19 +374,32 @@ table compose {
|
|||||||
serverId text
|
serverId text
|
||||||
}
|
}
|
||||||
|
|
||||||
|
table custom {
|
||||||
|
customId text [pk, not null]
|
||||||
|
endpoint text [not null]
|
||||||
|
headers text
|
||||||
|
}
|
||||||
|
|
||||||
table deployment {
|
table deployment {
|
||||||
deploymentId text [pk, not null]
|
deploymentId text [pk, not null]
|
||||||
title text [not null]
|
title text [not null]
|
||||||
description text
|
description text
|
||||||
status deploymentStatus [default: 'running']
|
status deploymentStatus [default: 'running']
|
||||||
logPath text [not null]
|
logPath text [not null]
|
||||||
|
pid text
|
||||||
applicationId text
|
applicationId text
|
||||||
composeId text
|
composeId text
|
||||||
serverId text
|
serverId text
|
||||||
isPreviewDeployment boolean [default: false]
|
isPreviewDeployment boolean [default: false]
|
||||||
previewDeploymentId text
|
previewDeploymentId text
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
|
startedAt text
|
||||||
|
finishedAt text
|
||||||
errorMessage text
|
errorMessage text
|
||||||
|
scheduleId text
|
||||||
|
backupId text
|
||||||
|
rollbackId text
|
||||||
|
volumeBackupId text
|
||||||
}
|
}
|
||||||
|
|
||||||
table destination {
|
table destination {
|
||||||
@@ -329,7 +411,8 @@ table destination {
|
|||||||
bucket text [not null]
|
bucket text [not null]
|
||||||
region text [not null]
|
region text [not null]
|
||||||
endpoint text [not null]
|
endpoint text [not null]
|
||||||
userId text [not null]
|
organizationId text [not null]
|
||||||
|
createdAt timestamp [not null, default: `now()`]
|
||||||
}
|
}
|
||||||
|
|
||||||
table discord {
|
table discord {
|
||||||
@@ -349,9 +432,12 @@ table domain {
|
|||||||
uniqueConfigKey serial [not null, increment]
|
uniqueConfigKey serial [not null, increment]
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
composeId text
|
composeId text
|
||||||
|
customCertResolver text
|
||||||
applicationId text
|
applicationId text
|
||||||
previewDeploymentId text
|
previewDeploymentId text
|
||||||
certificateType certificateType [not null, default: 'none']
|
certificateType certificateType [not null, default: 'none']
|
||||||
|
internalPath text [default: '/']
|
||||||
|
stripPath boolean [not null, default: false]
|
||||||
}
|
}
|
||||||
|
|
||||||
table email {
|
table email {
|
||||||
@@ -364,12 +450,36 @@ table email {
|
|||||||
toAddress text[] [not null]
|
toAddress text[] [not null]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
table environment {
|
||||||
|
environmentId text [pk, not null]
|
||||||
|
name text [not null]
|
||||||
|
description text
|
||||||
|
createdAt text [not null]
|
||||||
|
env text [not null, default: '']
|
||||||
|
projectId text [not null]
|
||||||
|
}
|
||||||
|
|
||||||
table git_provider {
|
table git_provider {
|
||||||
gitProviderId text [pk, not null]
|
gitProviderId text [pk, not null]
|
||||||
name text [not null]
|
name text [not null]
|
||||||
providerType gitProviderType [not null, default: 'github']
|
providerType gitProviderType [not null, default: 'github']
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
userId text
|
organizationId text [not null]
|
||||||
|
userId text [not null]
|
||||||
|
}
|
||||||
|
|
||||||
|
table gitea {
|
||||||
|
giteaId text [pk, not null]
|
||||||
|
giteaUrl text [not null, default: 'https://gitea.com']
|
||||||
|
redirect_uri text
|
||||||
|
client_id text
|
||||||
|
client_secret text
|
||||||
|
gitProviderId text [not null]
|
||||||
|
access_token text
|
||||||
|
refresh_token text
|
||||||
|
expires_at integer
|
||||||
|
scopes text [default: 'repo,repo:status,read:user,read:org']
|
||||||
|
last_authenticated_at integer
|
||||||
}
|
}
|
||||||
|
|
||||||
table github {
|
table github {
|
||||||
@@ -397,20 +507,6 @@ table gitlab {
|
|||||||
gitProviderId text [not null]
|
gitProviderId text [not null]
|
||||||
}
|
}
|
||||||
|
|
||||||
table gitea {
|
|
||||||
giteaId text [pk, not null]
|
|
||||||
giteaUrl text [not null, default: 'https://gitea.com']
|
|
||||||
redirect_uri text
|
|
||||||
client_id text [not null]
|
|
||||||
client_secret text [not null]
|
|
||||||
access_token text
|
|
||||||
refresh_token text
|
|
||||||
expires_at integer
|
|
||||||
gitProviderId text [not null]
|
|
||||||
scopes text [default: 'repo,repo:status,read:user,read:org']
|
|
||||||
last_authenticated_at integer
|
|
||||||
}
|
|
||||||
|
|
||||||
table gotify {
|
table gotify {
|
||||||
gotifyId text [pk, not null]
|
gotifyId text [pk, not null]
|
||||||
serverUrl text [not null]
|
serverUrl text [not null]
|
||||||
@@ -427,6 +523,7 @@ table invitation {
|
|||||||
status text [not null]
|
status text [not null]
|
||||||
expires_at timestamp [not null]
|
expires_at timestamp [not null]
|
||||||
inviter_id text [not null]
|
inviter_id text [not null]
|
||||||
|
team_id text
|
||||||
}
|
}
|
||||||
|
|
||||||
table mariadb {
|
table mariadb {
|
||||||
@@ -447,8 +544,17 @@ table mariadb {
|
|||||||
cpuLimit text
|
cpuLimit text
|
||||||
externalPort integer
|
externalPort integer
|
||||||
applicationStatus applicationStatus [not null, default: 'idle']
|
applicationStatus applicationStatus [not null, default: 'idle']
|
||||||
|
healthCheckSwarm json
|
||||||
|
restartPolicySwarm json
|
||||||
|
placementSwarm json
|
||||||
|
updateConfigSwarm json
|
||||||
|
rollbackConfigSwarm json
|
||||||
|
modeSwarm json
|
||||||
|
labelsSwarm json
|
||||||
|
networkSwarm json
|
||||||
|
replicas integer [not null, default: 1]
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
projectId text [not null]
|
environmentId text [not null]
|
||||||
serverId text
|
serverId text
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -458,6 +564,19 @@ table member {
|
|||||||
user_id text [not null]
|
user_id text [not null]
|
||||||
role text [not null]
|
role text [not null]
|
||||||
created_at timestamp [not null]
|
created_at timestamp [not null]
|
||||||
|
team_id text
|
||||||
|
canCreateProjects boolean [not null, default: false]
|
||||||
|
canAccessToSSHKeys boolean [not null, default: false]
|
||||||
|
canCreateServices boolean [not null, default: false]
|
||||||
|
canDeleteProjects boolean [not null, default: false]
|
||||||
|
canDeleteServices boolean [not null, default: false]
|
||||||
|
canAccessToDocker boolean [not null, default: false]
|
||||||
|
canAccessToAPI boolean [not null, default: false]
|
||||||
|
canAccessToGitProviders boolean [not null, default: false]
|
||||||
|
canAccessToTraefikFiles boolean [not null, default: false]
|
||||||
|
accesedProjects text[] [not null, default: `ARRAY[]::text[]`]
|
||||||
|
accessedEnvironments text[] [not null, default: `ARRAY[]::text[]`]
|
||||||
|
accesedServices text[] [not null, default: `ARRAY[]::text[]`]
|
||||||
}
|
}
|
||||||
|
|
||||||
table mongo {
|
table mongo {
|
||||||
@@ -476,8 +595,17 @@ table mongo {
|
|||||||
cpuLimit text
|
cpuLimit text
|
||||||
externalPort integer
|
externalPort integer
|
||||||
applicationStatus applicationStatus [not null, default: 'idle']
|
applicationStatus applicationStatus [not null, default: 'idle']
|
||||||
|
healthCheckSwarm json
|
||||||
|
restartPolicySwarm json
|
||||||
|
placementSwarm json
|
||||||
|
updateConfigSwarm json
|
||||||
|
rollbackConfigSwarm json
|
||||||
|
modeSwarm json
|
||||||
|
labelsSwarm json
|
||||||
|
networkSwarm json
|
||||||
|
replicas integer [not null, default: 1]
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
projectId text [not null]
|
environmentId text [not null]
|
||||||
serverId text
|
serverId text
|
||||||
replicaSets boolean [default: false]
|
replicaSets boolean [default: false]
|
||||||
}
|
}
|
||||||
@@ -518,8 +646,17 @@ table mysql {
|
|||||||
cpuLimit text
|
cpuLimit text
|
||||||
externalPort integer
|
externalPort integer
|
||||||
applicationStatus applicationStatus [not null, default: 'idle']
|
applicationStatus applicationStatus [not null, default: 'idle']
|
||||||
|
healthCheckSwarm json
|
||||||
|
restartPolicySwarm json
|
||||||
|
placementSwarm json
|
||||||
|
updateConfigSwarm json
|
||||||
|
rollbackConfigSwarm json
|
||||||
|
modeSwarm json
|
||||||
|
labelsSwarm json
|
||||||
|
networkSwarm json
|
||||||
|
replicas integer [not null, default: 1]
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
projectId text [not null]
|
environmentId text [not null]
|
||||||
serverId text
|
serverId text
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -539,7 +676,17 @@ table notification {
|
|||||||
discordId text
|
discordId text
|
||||||
emailId text
|
emailId text
|
||||||
gotifyId text
|
gotifyId text
|
||||||
userId text
|
ntfyId text
|
||||||
|
customId text
|
||||||
|
organizationId text [not null]
|
||||||
|
}
|
||||||
|
|
||||||
|
table ntfy {
|
||||||
|
ntfyId text [pk, not null]
|
||||||
|
serverUrl text [not null]
|
||||||
|
topic text [not null]
|
||||||
|
accessToken text [not null]
|
||||||
|
priority integer [not null, default: 3]
|
||||||
}
|
}
|
||||||
|
|
||||||
table organization {
|
table organization {
|
||||||
@@ -555,6 +702,7 @@ table organization {
|
|||||||
table port {
|
table port {
|
||||||
portId text [pk, not null]
|
portId text [pk, not null]
|
||||||
publishedPort integer [not null]
|
publishedPort integer [not null]
|
||||||
|
publishMode publishModeType [not null, default: 'host']
|
||||||
targetPort integer [not null]
|
targetPort integer [not null]
|
||||||
protocol protocolType [not null]
|
protocol protocolType [not null]
|
||||||
applicationId text [not null]
|
applicationId text [not null]
|
||||||
@@ -577,8 +725,17 @@ table postgres {
|
|||||||
cpuReservation text
|
cpuReservation text
|
||||||
cpuLimit text
|
cpuLimit text
|
||||||
applicationStatus applicationStatus [not null, default: 'idle']
|
applicationStatus applicationStatus [not null, default: 'idle']
|
||||||
|
healthCheckSwarm json
|
||||||
|
restartPolicySwarm json
|
||||||
|
placementSwarm json
|
||||||
|
updateConfigSwarm json
|
||||||
|
rollbackConfigSwarm json
|
||||||
|
modeSwarm json
|
||||||
|
labelsSwarm json
|
||||||
|
networkSwarm json
|
||||||
|
replicas integer [not null, default: 1]
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
projectId text [not null]
|
environmentId text [not null]
|
||||||
serverId text
|
serverId text
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -603,7 +760,7 @@ table project {
|
|||||||
name text [not null]
|
name text [not null]
|
||||||
description text
|
description text
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
userId text [not null]
|
organizationId text [not null]
|
||||||
env text [not null, default: '']
|
env text [not null, default: '']
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -633,7 +790,16 @@ table redis {
|
|||||||
externalPort integer
|
externalPort integer
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
applicationStatus applicationStatus [not null, default: 'idle']
|
applicationStatus applicationStatus [not null, default: 'idle']
|
||||||
projectId text [not null]
|
healthCheckSwarm json
|
||||||
|
restartPolicySwarm json
|
||||||
|
placementSwarm json
|
||||||
|
updateConfigSwarm json
|
||||||
|
rollbackConfigSwarm json
|
||||||
|
modeSwarm json
|
||||||
|
labelsSwarm json
|
||||||
|
networkSwarm json
|
||||||
|
replicas integer [not null, default: 1]
|
||||||
|
environmentId text [not null]
|
||||||
serverId text
|
serverId text
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -646,7 +812,34 @@ table registry {
|
|||||||
registryUrl text [not null, default: '']
|
registryUrl text [not null, default: '']
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
selfHosted RegistryType [not null, default: 'cloud']
|
selfHosted RegistryType [not null, default: 'cloud']
|
||||||
userId text [not null]
|
organizationId text [not null]
|
||||||
|
}
|
||||||
|
|
||||||
|
table rollback {
|
||||||
|
rollbackId text [pk, not null]
|
||||||
|
deploymentId text [not null]
|
||||||
|
version serial [not null, increment]
|
||||||
|
image text
|
||||||
|
createdAt text [not null]
|
||||||
|
fullContext jsonb
|
||||||
|
}
|
||||||
|
|
||||||
|
table schedule {
|
||||||
|
scheduleId text [pk, not null]
|
||||||
|
name text [not null]
|
||||||
|
cronExpression text [not null]
|
||||||
|
appName text [not null]
|
||||||
|
serviceName text
|
||||||
|
shellType shellType [not null, default: 'bash']
|
||||||
|
scheduleType scheduleType [not null, default: 'application']
|
||||||
|
command text [not null]
|
||||||
|
script text
|
||||||
|
applicationId text
|
||||||
|
composeId text
|
||||||
|
serverId text
|
||||||
|
userId text
|
||||||
|
enabled boolean [not null, default: true]
|
||||||
|
createdAt text [not null]
|
||||||
}
|
}
|
||||||
|
|
||||||
table security {
|
table security {
|
||||||
@@ -671,14 +864,14 @@ table server {
|
|||||||
appName text [not null]
|
appName text [not null]
|
||||||
enableDockerCleanup boolean [not null, default: false]
|
enableDockerCleanup boolean [not null, default: false]
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
userId text [not null]
|
organizationId text [not null]
|
||||||
serverStatus serverStatus [not null, default: 'active']
|
serverStatus serverStatus [not null, default: 'active']
|
||||||
command text [not null, default: '']
|
command text [not null, default: '']
|
||||||
sshKeyId text
|
sshKeyId text
|
||||||
metricsConfig jsonb [not null, default: `{"server":{"type":"Remote","refreshRate":60,"port":4500,"token":"","urlCallback":"","cronJob":"","retentionDays":2,"thresholds":{"cpu":0,"memory":0}},"containers":{"refreshRate":60,"services":{"include":[],"exclude":[]}}}`]
|
metricsConfig jsonb [not null, default: `{"server":{"type":"Remote","refreshRate":60,"port":4500,"token":"","urlCallback":"","cronJob":"","retentionDays":2,"thresholds":{"cpu":0,"memory":0}},"containers":{"refreshRate":60,"services":{"include":[],"exclude":[]}}}`]
|
||||||
}
|
}
|
||||||
|
|
||||||
table session {
|
table session_temp {
|
||||||
id text [pk, not null]
|
id text [pk, not null]
|
||||||
expires_at timestamp [not null]
|
expires_at timestamp [not null]
|
||||||
token text [not null, unique]
|
token text [not null, unique]
|
||||||
@@ -705,49 +898,49 @@ table "ssh-key" {
|
|||||||
description text
|
description text
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
lastUsedAt text
|
lastUsedAt text
|
||||||
userId text
|
organizationId text [not null]
|
||||||
}
|
}
|
||||||
|
|
||||||
table telegram {
|
table telegram {
|
||||||
telegramId text [pk, not null]
|
telegramId text [pk, not null]
|
||||||
botToken text [not null]
|
botToken text [not null]
|
||||||
chatId text [not null]
|
chatId text [not null]
|
||||||
|
messageThreadId text
|
||||||
}
|
}
|
||||||
|
|
||||||
table user {
|
table two_factor {
|
||||||
|
id text [pk, not null]
|
||||||
|
secret text [not null]
|
||||||
|
backup_codes text [not null]
|
||||||
|
user_id text [not null]
|
||||||
|
}
|
||||||
|
|
||||||
|
table user_temp {
|
||||||
id text [pk, not null]
|
id text [pk, not null]
|
||||||
name text [not null, default: '']
|
name text [not null, default: '']
|
||||||
token text [not null]
|
|
||||||
isRegistered boolean [not null, default: false]
|
isRegistered boolean [not null, default: false]
|
||||||
expirationDate text [not null]
|
expirationDate text [not null]
|
||||||
createdAt text [not null]
|
createdAt text [not null]
|
||||||
canCreateProjects boolean [not null, default: false]
|
created_at timestamp [default: `now()`]
|
||||||
canAccessToSSHKeys boolean [not null, default: false]
|
two_factor_enabled boolean
|
||||||
canCreateServices boolean [not null, default: false]
|
|
||||||
canDeleteProjects boolean [not null, default: false]
|
|
||||||
canDeleteServices boolean [not null, default: false]
|
|
||||||
canAccessToDocker boolean [not null, default: false]
|
|
||||||
canAccessToAPI boolean [not null, default: false]
|
|
||||||
canAccessToGitProviders boolean [not null, default: false]
|
|
||||||
canAccessToTraefikFiles boolean [not null, default: false]
|
|
||||||
accesedProjects text[] [not null, default: `ARRAY[]::text[]`]
|
|
||||||
accesedServices text[] [not null, default: `ARRAY[]::text[]`]
|
|
||||||
email text [not null, unique]
|
email text [not null, unique]
|
||||||
email_verified boolean [not null]
|
email_verified boolean [not null]
|
||||||
image text
|
image text
|
||||||
role text
|
|
||||||
banned boolean
|
banned boolean
|
||||||
ban_reason text
|
ban_reason text
|
||||||
ban_expires timestamp
|
ban_expires timestamp
|
||||||
updated_at timestamp [not null]
|
updated_at timestamp [not null]
|
||||||
serverIp text
|
serverIp text
|
||||||
certificateType certificateType [not null, default: 'none']
|
certificateType certificateType [not null, default: 'none']
|
||||||
|
https boolean [not null, default: false]
|
||||||
host text
|
host text
|
||||||
letsEncryptEmail text
|
letsEncryptEmail text
|
||||||
sshPrivateKey text
|
sshPrivateKey text
|
||||||
enableDockerCleanup boolean [not null, default: false]
|
enableDockerCleanup boolean [not null, default: false]
|
||||||
enableLogRotation boolean [not null, default: false]
|
logCleanupCron text [default: '0 0 * * *']
|
||||||
|
role text [not null, default: 'user']
|
||||||
enablePaidFeatures boolean [not null, default: false]
|
enablePaidFeatures boolean [not null, default: false]
|
||||||
|
allowImpersonation boolean [not null, default: false]
|
||||||
metricsConfig jsonb [not null, default: `{"server":{"type":"Dokploy","refreshRate":60,"port":4500,"token":"","retentionDays":2,"cronJob":"","urlCallback":"","thresholds":{"cpu":0,"memory":0}},"containers":{"refreshRate":60,"services":{"include":[],"exclude":[]}}}`]
|
metricsConfig jsonb [not null, default: `{"server":{"type":"Dokploy","refreshRate":60,"port":4500,"token":"","retentionDays":2,"cronJob":"","urlCallback":"","thresholds":{"cpu":0,"memory":0}},"containers":{"refreshRate":60,"services":{"include":[],"exclude":[]}}}`]
|
||||||
cleanupCacheApplications boolean [not null, default: false]
|
cleanupCacheApplications boolean [not null, default: false]
|
||||||
cleanupCacheOnPreviews boolean [not null, default: false]
|
cleanupCacheOnPreviews boolean [not null, default: false]
|
||||||
@@ -766,6 +959,29 @@ table verification {
|
|||||||
updated_at timestamp
|
updated_at timestamp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
table volume_backup {
|
||||||
|
volumeBackupId text [pk, not null]
|
||||||
|
name text [not null]
|
||||||
|
volumeName text [not null]
|
||||||
|
prefix text [not null]
|
||||||
|
serviceType serviceType [not null, default: 'application']
|
||||||
|
appName text [not null]
|
||||||
|
serviceName text
|
||||||
|
turnOff boolean [not null, default: false]
|
||||||
|
cronExpression text [not null]
|
||||||
|
keepLatestCount integer
|
||||||
|
enabled boolean
|
||||||
|
applicationId text
|
||||||
|
postgresId text
|
||||||
|
mariadbId text
|
||||||
|
mongoId text
|
||||||
|
mysqlId text
|
||||||
|
redisId text
|
||||||
|
composeId text
|
||||||
|
createdAt text [not null]
|
||||||
|
destinationId text [not null]
|
||||||
|
}
|
||||||
|
|
||||||
ref: mount.applicationId > application.applicationId
|
ref: mount.applicationId > application.applicationId
|
||||||
|
|
||||||
ref: mount.postgresId > postgres.postgresId
|
ref: mount.postgresId > postgres.postgresId
|
||||||
@@ -780,7 +996,13 @@ ref: mount.redisId > redis.redisId
|
|||||||
|
|
||||||
ref: mount.composeId > compose.composeId
|
ref: mount.composeId > compose.composeId
|
||||||
|
|
||||||
ref: application.projectId > project.projectId
|
ref: user_temp.id - account.user_id
|
||||||
|
|
||||||
|
ref: ai.organizationId - organization.id
|
||||||
|
|
||||||
|
ref: apikey.user_id > user_temp.id
|
||||||
|
|
||||||
|
ref: application.environmentId > environment.environmentId
|
||||||
|
|
||||||
ref: application.customGitSSHKeyId > "ssh-key".sshKeyId
|
ref: application.customGitSSHKeyId > "ssh-key".sshKeyId
|
||||||
|
|
||||||
@@ -790,6 +1012,8 @@ ref: application.githubId - github.githubId
|
|||||||
|
|
||||||
ref: application.gitlabId - gitlab.gitlabId
|
ref: application.gitlabId - gitlab.gitlabId
|
||||||
|
|
||||||
|
ref: application.giteaId - gitea.giteaId
|
||||||
|
|
||||||
ref: application.bitbucketId - bitbucket.bitbucketId
|
ref: application.bitbucketId - bitbucket.bitbucketId
|
||||||
|
|
||||||
ref: application.serverId > server.serverId
|
ref: application.serverId > server.serverId
|
||||||
@@ -804,13 +1028,17 @@ ref: backup.mysqlId > mysql.mysqlId
|
|||||||
|
|
||||||
ref: backup.mongoId > mongo.mongoId
|
ref: backup.mongoId > mongo.mongoId
|
||||||
|
|
||||||
|
ref: backup.userId > user_temp.id
|
||||||
|
|
||||||
|
ref: backup.composeId > compose.composeId
|
||||||
|
|
||||||
ref: git_provider.gitProviderId - bitbucket.gitProviderId
|
ref: git_provider.gitProviderId - bitbucket.gitProviderId
|
||||||
|
|
||||||
ref: certificate.serverId > server.serverId
|
ref: certificate.serverId > server.serverId
|
||||||
|
|
||||||
ref: certificate.userId - user.id
|
ref: certificate.organizationId - organization.id
|
||||||
|
|
||||||
ref: compose.projectId > project.projectId
|
ref: compose.environmentId > environment.environmentId
|
||||||
|
|
||||||
ref: compose.customGitSSHKeyId > "ssh-key".sshKeyId
|
ref: compose.customGitSSHKeyId > "ssh-key".sshKeyId
|
||||||
|
|
||||||
@@ -820,6 +1048,8 @@ ref: compose.gitlabId - gitlab.gitlabId
|
|||||||
|
|
||||||
ref: compose.bitbucketId - bitbucket.bitbucketId
|
ref: compose.bitbucketId - bitbucket.bitbucketId
|
||||||
|
|
||||||
|
ref: compose.giteaId - gitea.giteaId
|
||||||
|
|
||||||
ref: compose.serverId > server.serverId
|
ref: compose.serverId > server.serverId
|
||||||
|
|
||||||
ref: deployment.applicationId > application.applicationId
|
ref: deployment.applicationId > application.applicationId
|
||||||
@@ -830,7 +1060,15 @@ ref: deployment.serverId > server.serverId
|
|||||||
|
|
||||||
ref: deployment.previewDeploymentId > preview_deployments.previewDeploymentId
|
ref: deployment.previewDeploymentId > preview_deployments.previewDeploymentId
|
||||||
|
|
||||||
ref: destination.userId - user.id
|
ref: deployment.scheduleId > schedule.scheduleId
|
||||||
|
|
||||||
|
ref: deployment.backupId > backup.backupId
|
||||||
|
|
||||||
|
ref: rollback.deploymentId - deployment.deploymentId
|
||||||
|
|
||||||
|
ref: deployment.volumeBackupId > volume_backup.volumeBackupId
|
||||||
|
|
||||||
|
ref: destination.organizationId - organization.id
|
||||||
|
|
||||||
ref: domain.applicationId > application.applicationId
|
ref: domain.applicationId > application.applicationId
|
||||||
|
|
||||||
@@ -838,23 +1076,33 @@ ref: domain.composeId > compose.composeId
|
|||||||
|
|
||||||
ref: preview_deployments.domainId - domain.domainId
|
ref: preview_deployments.domainId - domain.domainId
|
||||||
|
|
||||||
|
ref: environment.projectId > project.projectId
|
||||||
|
|
||||||
ref: github.gitProviderId - git_provider.gitProviderId
|
ref: github.gitProviderId - git_provider.gitProviderId
|
||||||
|
|
||||||
ref: gitlab.gitProviderId - git_provider.gitProviderId
|
ref: gitlab.gitProviderId - git_provider.gitProviderId
|
||||||
|
|
||||||
ref: gitea.gitProviderId - git_provider.gitProviderId
|
ref: gitea.gitProviderId - git_provider.gitProviderId
|
||||||
|
|
||||||
ref: git_provider.userId - user.id
|
ref: git_provider.organizationId - organization.id
|
||||||
|
|
||||||
ref: mariadb.projectId > project.projectId
|
ref: git_provider.userId - user_temp.id
|
||||||
|
|
||||||
|
ref: invitation.organization_id - organization.id
|
||||||
|
|
||||||
|
ref: mariadb.environmentId > environment.environmentId
|
||||||
|
|
||||||
ref: mariadb.serverId > server.serverId
|
ref: mariadb.serverId > server.serverId
|
||||||
|
|
||||||
ref: mongo.projectId > project.projectId
|
ref: member.organization_id > organization.id
|
||||||
|
|
||||||
|
ref: member.user_id - user_temp.id
|
||||||
|
|
||||||
|
ref: mongo.environmentId > environment.environmentId
|
||||||
|
|
||||||
ref: mongo.serverId > server.serverId
|
ref: mongo.serverId > server.serverId
|
||||||
|
|
||||||
ref: mysql.projectId > project.projectId
|
ref: mysql.environmentId > environment.environmentId
|
||||||
|
|
||||||
ref: mysql.serverId > server.serverId
|
ref: mysql.serverId > server.serverId
|
||||||
|
|
||||||
@@ -868,30 +1116,58 @@ ref: notification.emailId - email.emailId
|
|||||||
|
|
||||||
ref: notification.gotifyId - gotify.gotifyId
|
ref: notification.gotifyId - gotify.gotifyId
|
||||||
|
|
||||||
ref: notification.userId - user.id
|
ref: notification.ntfyId - ntfy.ntfyId
|
||||||
|
|
||||||
|
ref: notification.customId - custom.customId
|
||||||
|
|
||||||
|
ref: notification.organizationId - organization.id
|
||||||
|
|
||||||
|
ref: organization.owner_id > user_temp.id
|
||||||
|
|
||||||
ref: port.applicationId > application.applicationId
|
ref: port.applicationId > application.applicationId
|
||||||
|
|
||||||
ref: postgres.projectId > project.projectId
|
ref: postgres.environmentId > environment.environmentId
|
||||||
|
|
||||||
ref: postgres.serverId > server.serverId
|
ref: postgres.serverId > server.serverId
|
||||||
|
|
||||||
ref: preview_deployments.applicationId > application.applicationId
|
ref: preview_deployments.applicationId > application.applicationId
|
||||||
|
|
||||||
ref: project.userId - user.id
|
ref: project.organizationId > organization.id
|
||||||
|
|
||||||
ref: redirect.applicationId > application.applicationId
|
ref: redirect.applicationId > application.applicationId
|
||||||
|
|
||||||
ref: redis.projectId > project.projectId
|
ref: redis.environmentId > environment.environmentId
|
||||||
|
|
||||||
ref: redis.serverId > server.serverId
|
ref: redis.serverId > server.serverId
|
||||||
|
|
||||||
ref: registry.userId - user.id
|
ref: schedule.applicationId - application.applicationId
|
||||||
|
|
||||||
|
ref: schedule.composeId > compose.composeId
|
||||||
|
|
||||||
|
ref: schedule.serverId > server.serverId
|
||||||
|
|
||||||
|
ref: schedule.userId > user_temp.id
|
||||||
|
|
||||||
ref: security.applicationId > application.applicationId
|
ref: security.applicationId > application.applicationId
|
||||||
|
|
||||||
ref: server.userId - user.id
|
|
||||||
|
|
||||||
ref: server.sshKeyId > "ssh-key".sshKeyId
|
ref: server.sshKeyId > "ssh-key".sshKeyId
|
||||||
|
|
||||||
ref: "ssh-key".userId - user.id
|
ref: server.organizationId > organization.id
|
||||||
|
|
||||||
|
ref: "ssh-key".organizationId - organization.id
|
||||||
|
|
||||||
|
ref: volume_backup.applicationId - application.applicationId
|
||||||
|
|
||||||
|
ref: volume_backup.postgresId - postgres.postgresId
|
||||||
|
|
||||||
|
ref: volume_backup.mariadbId - mariadb.mariadbId
|
||||||
|
|
||||||
|
ref: volume_backup.mongoId - mongo.mongoId
|
||||||
|
|
||||||
|
ref: volume_backup.mysqlId - mysql.mysqlId
|
||||||
|
|
||||||
|
ref: volume_backup.redisId - redis.redisId
|
||||||
|
|
||||||
|
ref: volume_backup.composeId - compose.composeId
|
||||||
|
|
||||||
|
ref: volume_backup.destinationId - destination.destinationId
|
||||||
Reference in New Issue
Block a user