mirror of
https://github.com/dokploy/dokploy.git
synced 2026-06-14 03:19:49 +00:00
9e89edf167
Update to latest stable versions: - pnpm: 9.12.0 → 10.26.0 - Docker: 28.5.0/28.5.2 → 29.1.3 - Nixpacks: 1.39.0 → 1.41.0 - Railpack: 0.2.2/0.15.0 → 0.15.1 - buildpacks/pack: 0.35.0 → 0.39.1 Files updated: - All Dockerfiles (main, schedule, cloud, server) - All package.json files (root, server, api, schedules, dokploy) - GitHub workflow (pull-request.yml) - Server setup script - Database schema and DBML files - Test fixtures - UI components
1194 lines
27 KiB
Plaintext
1194 lines
27 KiB
Plaintext
enum applicationStatus {
|
|
idle
|
|
running
|
|
done
|
|
error
|
|
}
|
|
|
|
enum backupType {
|
|
database
|
|
compose
|
|
}
|
|
|
|
enum buildType {
|
|
dockerfile
|
|
heroku_buildpacks
|
|
paketo_buildpacks
|
|
nixpacks
|
|
static
|
|
railpack
|
|
}
|
|
|
|
enum certificateType {
|
|
letsencrypt
|
|
none
|
|
custom
|
|
}
|
|
|
|
enum composeType {
|
|
"docker-compose"
|
|
stack
|
|
}
|
|
|
|
enum databaseType {
|
|
postgres
|
|
mariadb
|
|
mysql
|
|
mongo
|
|
"web-server"
|
|
}
|
|
|
|
enum deploymentStatus {
|
|
running
|
|
done
|
|
error
|
|
cancelled
|
|
}
|
|
|
|
enum domainType {
|
|
compose
|
|
application
|
|
preview
|
|
}
|
|
|
|
enum gitProviderType {
|
|
github
|
|
gitlab
|
|
bitbucket
|
|
gitea
|
|
}
|
|
|
|
enum mountType {
|
|
bind
|
|
volume
|
|
file
|
|
}
|
|
|
|
enum notificationType {
|
|
slack
|
|
telegram
|
|
discord
|
|
email
|
|
gotify
|
|
ntfy
|
|
custom
|
|
lark
|
|
}
|
|
|
|
enum protocolType {
|
|
tcp
|
|
udp
|
|
}
|
|
|
|
enum publishModeType {
|
|
ingress
|
|
host
|
|
}
|
|
|
|
enum RegistryType {
|
|
selfHosted
|
|
cloud
|
|
}
|
|
|
|
enum scheduleType {
|
|
application
|
|
compose
|
|
server
|
|
"dokploy-server"
|
|
}
|
|
|
|
enum serverStatus {
|
|
active
|
|
inactive
|
|
}
|
|
|
|
enum serviceType {
|
|
application
|
|
postgres
|
|
mysql
|
|
mariadb
|
|
mongo
|
|
redis
|
|
compose
|
|
}
|
|
|
|
enum shellType {
|
|
bash
|
|
sh
|
|
}
|
|
|
|
enum sourceType {
|
|
docker
|
|
git
|
|
github
|
|
gitlab
|
|
bitbucket
|
|
gitea
|
|
drop
|
|
}
|
|
|
|
enum sourceTypeCompose {
|
|
git
|
|
github
|
|
gitlab
|
|
bitbucket
|
|
gitea
|
|
raw
|
|
}
|
|
|
|
enum triggerType {
|
|
push
|
|
tag
|
|
}
|
|
|
|
table account {
|
|
id text [pk, not null]
|
|
account_id text [not null]
|
|
provider_id text [not null]
|
|
user_id text [not null]
|
|
access_token text
|
|
refresh_token text
|
|
id_token text
|
|
access_token_expires_at timestamp
|
|
refresh_token_expires_at timestamp
|
|
scope text
|
|
password text
|
|
is2FAEnabled boolean [not null, default: false]
|
|
created_at timestamp [not null]
|
|
updated_at timestamp [not null]
|
|
resetPasswordToken text
|
|
resetPasswordExpiresAt text
|
|
confirmationToken text
|
|
confirmationExpiresAt text
|
|
}
|
|
|
|
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 {
|
|
applicationId text [pk, not null]
|
|
name text [not null]
|
|
appName text [not null, unique]
|
|
description text
|
|
env text
|
|
previewEnv text
|
|
watchPaths text[]
|
|
previewBuildArgs text
|
|
previewBuildSecrets text
|
|
previewLabels text[]
|
|
previewWildcard text
|
|
previewPort integer [default: 3000]
|
|
previewHttps boolean [not null, default: false]
|
|
previewPath text [default: '/']
|
|
certificateType certificateType [not null, default: 'none']
|
|
previewCustomCertResolver text
|
|
previewLimit integer [default: 3]
|
|
isPreviewDeploymentsActive boolean [default: false]
|
|
previewRequireCollaboratorPermissions boolean [default: true]
|
|
rollbackActive boolean [default: false]
|
|
buildArgs text
|
|
buildSecrets text
|
|
memoryReservation text
|
|
memoryLimit text
|
|
cpuReservation text
|
|
cpuLimit text
|
|
title text
|
|
enabled boolean
|
|
subtitle text
|
|
command text
|
|
refreshToken text
|
|
sourceType sourceType [not null, default: 'github']
|
|
cleanCache boolean [default: false]
|
|
repository text
|
|
owner text
|
|
branch text
|
|
buildPath text [default: '/']
|
|
triggerType triggerType [default: 'push']
|
|
autoDeploy boolean
|
|
gitlabProjectId integer
|
|
gitlabRepository text
|
|
gitlabOwner text
|
|
gitlabBranch text
|
|
gitlabBuildPath text [default: '/']
|
|
gitlabPathNamespace text
|
|
giteaRepository text
|
|
giteaOwner text
|
|
giteaBranch text
|
|
giteaBuildPath text [default: '/']
|
|
bitbucketRepository text
|
|
bitbucketOwner text
|
|
bitbucketBranch text
|
|
bitbucketBuildPath text [default: '/']
|
|
username text
|
|
password text
|
|
dockerImage text
|
|
registryUrl text
|
|
customGitUrl text
|
|
customGitBranch text
|
|
customGitBuildPath text
|
|
customGitSSHKeyId text
|
|
enableSubmodules boolean [not null, default: false]
|
|
dockerfile text
|
|
dockerContextPath text
|
|
dockerBuildStage text
|
|
dropBuildPath text
|
|
healthCheckSwarm json
|
|
restartPolicySwarm json
|
|
placementSwarm json
|
|
updateConfigSwarm json
|
|
rollbackConfigSwarm json
|
|
modeSwarm json
|
|
labelsSwarm json
|
|
networkSwarm json
|
|
stopGracePeriodSwarm bigint
|
|
replicas integer [not null, default: 1]
|
|
applicationStatus applicationStatus [not null, default: 'idle']
|
|
buildType buildType [not null, default: 'nixpacks']
|
|
railpackVersion text [default: '0.15.1']
|
|
herokuVersion text [default: '24']
|
|
publishDirectory text
|
|
isStaticSpa boolean
|
|
createdAt text [not null]
|
|
registryId text
|
|
environmentId text [not null]
|
|
githubId text
|
|
gitlabId text
|
|
giteaId text
|
|
bitbucketId text
|
|
serverId text
|
|
}
|
|
|
|
table backup {
|
|
backupId text [pk, not null]
|
|
appName text [not null, unique]
|
|
schedule text [not null]
|
|
enabled boolean
|
|
database text [not null]
|
|
prefix text [not null]
|
|
serviceName text
|
|
destinationId text [not null]
|
|
keepLatestCount integer
|
|
backupType backupType [not null, default: 'database']
|
|
databaseType databaseType [not null]
|
|
composeId text
|
|
postgresId text
|
|
mariadbId text
|
|
mysqlId text
|
|
mongoId text
|
|
userId text
|
|
metadata jsonb
|
|
}
|
|
|
|
table bitbucket {
|
|
bitbucketId text [pk, not null]
|
|
bitbucketUsername text
|
|
bitbucketEmail text
|
|
appPassword text
|
|
apiToken text
|
|
bitbucketWorkspaceName text
|
|
gitProviderId text [not null]
|
|
}
|
|
|
|
table certificate {
|
|
certificateId text [pk, not null]
|
|
name text [not null]
|
|
certificateData text [not null]
|
|
privateKey text [not null]
|
|
certificatePath text [not null, unique]
|
|
autoRenew boolean
|
|
organizationId text [not null]
|
|
serverId text
|
|
}
|
|
|
|
table compose {
|
|
composeId text [pk, not null]
|
|
name text [not null]
|
|
appName text [not null]
|
|
description text
|
|
env text
|
|
composeFile text [not null, default: '']
|
|
refreshToken text
|
|
sourceType sourceTypeCompose [not null, default: 'github']
|
|
composeType composeType [not null, default: 'docker-compose']
|
|
repository text
|
|
owner text
|
|
branch text
|
|
autoDeploy boolean
|
|
gitlabProjectId integer
|
|
gitlabRepository text
|
|
gitlabOwner text
|
|
gitlabBranch text
|
|
gitlabPathNamespace text
|
|
bitbucketRepository text
|
|
bitbucketOwner text
|
|
bitbucketBranch text
|
|
giteaRepository text
|
|
giteaOwner text
|
|
giteaBranch text
|
|
customGitUrl text
|
|
customGitBranch text
|
|
customGitSSHKeyId text
|
|
command text [not null, default: '']
|
|
enableSubmodules boolean [not null, default: false]
|
|
composePath text [not null, default: './docker-compose.yml']
|
|
suffix text [not null, default: '']
|
|
randomize 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']
|
|
environmentId text [not null]
|
|
createdAt text [not null]
|
|
watchPaths text[]
|
|
githubId text
|
|
gitlabId text
|
|
bitbucketId text
|
|
giteaId text
|
|
serverId text
|
|
}
|
|
|
|
table custom {
|
|
customId text [pk, not null]
|
|
endpoint text [not null]
|
|
headers text
|
|
}
|
|
|
|
table deployment {
|
|
deploymentId text [pk, not null]
|
|
title text [not null]
|
|
description text
|
|
status deploymentStatus [default: 'running']
|
|
logPath text [not null]
|
|
pid text
|
|
applicationId text
|
|
composeId text
|
|
serverId text
|
|
isPreviewDeployment boolean [default: false]
|
|
previewDeploymentId text
|
|
createdAt text [not null]
|
|
startedAt text
|
|
finishedAt text
|
|
errorMessage text
|
|
scheduleId text
|
|
backupId text
|
|
rollbackId text
|
|
volumeBackupId text
|
|
}
|
|
|
|
table destination {
|
|
destinationId text [pk, not null]
|
|
name text [not null]
|
|
provider text
|
|
accessKey text [not null]
|
|
secretAccessKey text [not null]
|
|
bucket text [not null]
|
|
region text [not null]
|
|
endpoint text [not null]
|
|
organizationId text [not null]
|
|
createdAt timestamp [not null, default: `now()`]
|
|
}
|
|
|
|
table discord {
|
|
discordId text [pk, not null]
|
|
webhookUrl text [not null]
|
|
decoration boolean
|
|
}
|
|
|
|
table domain {
|
|
domainId text [pk, not null]
|
|
host text [not null]
|
|
https boolean [not null, default: false]
|
|
port integer [default: 3000]
|
|
path text [default: '/']
|
|
serviceName text
|
|
domainType domainType [default: 'application']
|
|
uniqueConfigKey serial [not null, increment]
|
|
createdAt text [not null]
|
|
composeId text
|
|
customCertResolver text
|
|
applicationId text
|
|
previewDeploymentId text
|
|
certificateType certificateType [not null, default: 'none']
|
|
internalPath text [default: '/']
|
|
stripPath boolean [not null, default: false]
|
|
}
|
|
|
|
table email {
|
|
emailId text [pk, not null]
|
|
smtpServer text [not null]
|
|
smtpPort integer [not null]
|
|
username text [not null]
|
|
password text [not null]
|
|
fromAddress 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 {
|
|
gitProviderId text [pk, not null]
|
|
name text [not null]
|
|
providerType gitProviderType [not null, default: 'github']
|
|
createdAt text [not null]
|
|
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 {
|
|
githubId text [pk, not null]
|
|
githubAppName text
|
|
githubAppId integer
|
|
githubClientId text
|
|
githubClientSecret text
|
|
githubInstallationId text
|
|
githubPrivateKey text
|
|
githubWebhookSecret text
|
|
gitProviderId text [not null]
|
|
}
|
|
|
|
table gitlab {
|
|
gitlabId text [pk, not null]
|
|
gitlabUrl text [not null, default: 'https://gitlab.com']
|
|
application_id text
|
|
redirect_uri text
|
|
secret text
|
|
access_token text
|
|
refresh_token text
|
|
group_name text
|
|
expires_at integer
|
|
gitProviderId text [not null]
|
|
}
|
|
|
|
table gotify {
|
|
gotifyId text [pk, not null]
|
|
serverUrl text [not null]
|
|
appToken text [not null]
|
|
priority integer [not null, default: 5]
|
|
decoration boolean
|
|
}
|
|
|
|
table invitation {
|
|
id text [pk, not null]
|
|
organization_id text [not null]
|
|
email text [not null]
|
|
role text
|
|
status text [not null]
|
|
expires_at timestamp [not null]
|
|
inviter_id text [not null]
|
|
team_id text
|
|
}
|
|
|
|
table lark {
|
|
larkId text [pk, not null]
|
|
webhookUrl text [not null]
|
|
}
|
|
|
|
table mariadb {
|
|
mariadbId text [pk, not null]
|
|
name text [not null]
|
|
appName text [not null, unique]
|
|
description text
|
|
databaseName text [not null]
|
|
databaseUser text [not null]
|
|
databasePassword text [not null]
|
|
rootPassword text [not null]
|
|
dockerImage text [not null]
|
|
command text
|
|
env text
|
|
memoryReservation text
|
|
memoryLimit text
|
|
cpuReservation text
|
|
cpuLimit text
|
|
externalPort integer
|
|
applicationStatus applicationStatus [not null, default: 'idle']
|
|
healthCheckSwarm json
|
|
restartPolicySwarm json
|
|
placementSwarm json
|
|
updateConfigSwarm json
|
|
rollbackConfigSwarm json
|
|
modeSwarm json
|
|
labelsSwarm json
|
|
networkSwarm json
|
|
stopGracePeriodSwarm bigint
|
|
replicas integer [not null, default: 1]
|
|
createdAt text [not null]
|
|
environmentId text [not null]
|
|
serverId text
|
|
}
|
|
|
|
table member {
|
|
id text [pk, not null]
|
|
organization_id text [not null]
|
|
user_id text [not null]
|
|
role text [not null]
|
|
created_at timestamp [not null]
|
|
team_id text
|
|
is_default boolean [not null, default: false]
|
|
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]
|
|
canDeleteEnvironments boolean [not null, default: false]
|
|
canCreateEnvironments 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 {
|
|
mongoId text [pk, not null]
|
|
name text [not null]
|
|
appName text [not null, unique]
|
|
description text
|
|
databaseUser text [not null]
|
|
databasePassword text [not null]
|
|
dockerImage text [not null]
|
|
command text
|
|
env text
|
|
memoryReservation text
|
|
memoryLimit text
|
|
cpuReservation text
|
|
cpuLimit text
|
|
externalPort integer
|
|
applicationStatus applicationStatus [not null, default: 'idle']
|
|
healthCheckSwarm json
|
|
restartPolicySwarm json
|
|
placementSwarm json
|
|
updateConfigSwarm json
|
|
rollbackConfigSwarm json
|
|
modeSwarm json
|
|
labelsSwarm json
|
|
networkSwarm json
|
|
stopGracePeriodSwarm bigint
|
|
replicas integer [not null, default: 1]
|
|
createdAt text [not null]
|
|
environmentId text [not null]
|
|
serverId text
|
|
replicaSets boolean [default: false]
|
|
}
|
|
|
|
table mount {
|
|
mountId text [pk, not null]
|
|
type mountType [not null]
|
|
hostPath text
|
|
volumeName text
|
|
filePath text
|
|
content text
|
|
serviceType serviceType [not null, default: 'application']
|
|
mountPath text [not null]
|
|
applicationId text
|
|
postgresId text
|
|
mariadbId text
|
|
mongoId text
|
|
mysqlId text
|
|
redisId text
|
|
composeId text
|
|
}
|
|
|
|
table mysql {
|
|
mysqlId text [pk, not null]
|
|
name text [not null]
|
|
appName text [not null, unique]
|
|
description text
|
|
databaseName text [not null]
|
|
databaseUser text [not null]
|
|
databasePassword text [not null]
|
|
rootPassword text [not null]
|
|
dockerImage text [not null]
|
|
command text
|
|
env text
|
|
memoryReservation text
|
|
memoryLimit text
|
|
cpuReservation text
|
|
cpuLimit text
|
|
externalPort integer
|
|
applicationStatus applicationStatus [not null, default: 'idle']
|
|
healthCheckSwarm json
|
|
restartPolicySwarm json
|
|
placementSwarm json
|
|
updateConfigSwarm json
|
|
rollbackConfigSwarm json
|
|
modeSwarm json
|
|
labelsSwarm json
|
|
networkSwarm json
|
|
stopGracePeriodSwarm bigint
|
|
replicas integer [not null, default: 1]
|
|
createdAt text [not null]
|
|
environmentId text [not null]
|
|
serverId text
|
|
}
|
|
|
|
table notification {
|
|
notificationId text [pk, not null]
|
|
name text [not null]
|
|
appDeploy boolean [not null, default: false]
|
|
appBuildError boolean [not null, default: false]
|
|
databaseBackup boolean [not null, default: false]
|
|
dokployRestart boolean [not null, default: false]
|
|
dockerCleanup boolean [not null, default: false]
|
|
serverThreshold boolean [not null, default: false]
|
|
notificationType notificationType [not null]
|
|
createdAt text [not null]
|
|
slackId text
|
|
telegramId text
|
|
discordId text
|
|
emailId text
|
|
gotifyId text
|
|
ntfyId text
|
|
customId text
|
|
larkId 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 {
|
|
id text [pk, not null]
|
|
name text [not null]
|
|
slug text [unique]
|
|
logo text
|
|
created_at timestamp [not null]
|
|
metadata text
|
|
owner_id text [not null]
|
|
}
|
|
|
|
table port {
|
|
portId text [pk, not null]
|
|
publishedPort integer [not null]
|
|
publishMode publishModeType [not null, default: 'host']
|
|
targetPort integer [not null]
|
|
protocol protocolType [not null]
|
|
applicationId text [not null]
|
|
}
|
|
|
|
table postgres {
|
|
postgresId text [pk, not null]
|
|
name text [not null]
|
|
appName text [not null, unique]
|
|
databaseName text [not null]
|
|
databaseUser text [not null]
|
|
databasePassword text [not null]
|
|
description text
|
|
dockerImage text [not null]
|
|
command text
|
|
env text
|
|
memoryReservation text
|
|
externalPort integer
|
|
memoryLimit text
|
|
cpuReservation text
|
|
cpuLimit text
|
|
applicationStatus applicationStatus [not null, default: 'idle']
|
|
healthCheckSwarm json
|
|
restartPolicySwarm json
|
|
placementSwarm json
|
|
updateConfigSwarm json
|
|
rollbackConfigSwarm json
|
|
modeSwarm json
|
|
labelsSwarm json
|
|
networkSwarm json
|
|
stopGracePeriodSwarm bigint
|
|
replicas integer [not null, default: 1]
|
|
createdAt text [not null]
|
|
environmentId text [not null]
|
|
serverId text
|
|
}
|
|
|
|
table preview_deployments {
|
|
previewDeploymentId text [pk, not null]
|
|
branch text [not null]
|
|
pullRequestId text [not null]
|
|
pullRequestNumber text [not null]
|
|
pullRequestURL text [not null]
|
|
pullRequestTitle text [not null]
|
|
pullRequestCommentId text [not null]
|
|
previewStatus applicationStatus [not null, default: 'idle']
|
|
appName text [not null, unique]
|
|
applicationId text [not null]
|
|
domainId text
|
|
createdAt text [not null]
|
|
expiresAt text
|
|
}
|
|
|
|
table project {
|
|
projectId text [pk, not null]
|
|
name text [not null]
|
|
description text
|
|
createdAt text [not null]
|
|
organizationId text [not null]
|
|
env text [not null, default: '']
|
|
}
|
|
|
|
table redirect {
|
|
redirectId text [pk, not null]
|
|
regex text [not null]
|
|
replacement text [not null]
|
|
permanent boolean [not null, default: false]
|
|
uniqueConfigKey serial [not null, increment]
|
|
createdAt text [not null]
|
|
applicationId text [not null]
|
|
}
|
|
|
|
table redis {
|
|
redisId text [pk, not null]
|
|
name text [not null]
|
|
appName text [not null, unique]
|
|
description text
|
|
password text [not null]
|
|
dockerImage text [not null]
|
|
command text
|
|
env text
|
|
memoryReservation text
|
|
memoryLimit text
|
|
cpuReservation text
|
|
cpuLimit text
|
|
externalPort integer
|
|
createdAt text [not null]
|
|
applicationStatus applicationStatus [not null, default: 'idle']
|
|
healthCheckSwarm json
|
|
restartPolicySwarm json
|
|
placementSwarm json
|
|
updateConfigSwarm json
|
|
rollbackConfigSwarm json
|
|
modeSwarm json
|
|
labelsSwarm json
|
|
networkSwarm json
|
|
stopGracePeriodSwarm bigint
|
|
replicas integer [not null, default: 1]
|
|
environmentId text [not null]
|
|
serverId text
|
|
}
|
|
|
|
table registry {
|
|
registryId text [pk, not null]
|
|
registryName text [not null]
|
|
imagePrefix text
|
|
username text [not null]
|
|
password text [not null]
|
|
registryUrl text [not null, default: '']
|
|
createdAt text [not null]
|
|
selfHosted RegistryType [not null, default: 'cloud']
|
|
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 {
|
|
securityId text [pk, not null]
|
|
username text [not null]
|
|
password text [not null]
|
|
createdAt text [not null]
|
|
applicationId text [not null]
|
|
|
|
indexes {
|
|
(username, applicationId) [name: 'security_username_applicationId_unique', unique]
|
|
}
|
|
}
|
|
|
|
table server {
|
|
serverId text [pk, not null]
|
|
name text [not null]
|
|
description text
|
|
ipAddress text [not null]
|
|
port integer [not null]
|
|
username text [not null, default: 'root']
|
|
appName text [not null]
|
|
enableDockerCleanup boolean [not null, default: false]
|
|
createdAt text [not null]
|
|
organizationId text [not null]
|
|
serverStatus serverStatus [not null, default: 'active']
|
|
command text [not null, default: '']
|
|
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":[]}}}`]
|
|
}
|
|
|
|
table session_temp {
|
|
id text [pk, not null]
|
|
expires_at timestamp [not null]
|
|
token text [not null, unique]
|
|
created_at timestamp [not null]
|
|
updated_at timestamp [not null]
|
|
ip_address text
|
|
user_agent text
|
|
user_id text [not null]
|
|
impersonated_by text
|
|
active_organization_id text
|
|
}
|
|
|
|
table slack {
|
|
slackId text [pk, not null]
|
|
webhookUrl text [not null]
|
|
channel text
|
|
}
|
|
|
|
table "ssh-key" {
|
|
sshKeyId text [pk, not null]
|
|
privateKey text [not null, default: '']
|
|
publicKey text [not null]
|
|
name text [not null]
|
|
description text
|
|
createdAt text [not null]
|
|
lastUsedAt text
|
|
organizationId text [not null]
|
|
}
|
|
|
|
table telegram {
|
|
telegramId text [pk, not null]
|
|
botToken text [not null]
|
|
chatId text [not null]
|
|
messageThreadId text
|
|
}
|
|
|
|
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]
|
|
name text [not null, default: '']
|
|
isRegistered boolean [not null, default: false]
|
|
expirationDate text [not null]
|
|
createdAt text [not null]
|
|
created_at timestamp [default: `now()`]
|
|
two_factor_enabled boolean
|
|
email text [not null, unique]
|
|
email_verified boolean [not null]
|
|
image text
|
|
banned boolean
|
|
ban_reason text
|
|
ban_expires timestamp
|
|
updated_at timestamp [not null]
|
|
serverIp text
|
|
certificateType certificateType [not null, default: 'none']
|
|
https boolean [not null, default: false]
|
|
host text
|
|
letsEncryptEmail text
|
|
sshPrivateKey text
|
|
enableDockerCleanup boolean [not null, default: false]
|
|
logCleanupCron text [default: '0 0 * * *']
|
|
role text [not null, default: 'user']
|
|
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":[]}}}`]
|
|
cleanupCacheApplications boolean [not null, default: false]
|
|
cleanupCacheOnPreviews boolean [not null, default: false]
|
|
cleanupCacheOnCompose boolean [not null, default: false]
|
|
stripeCustomerId text
|
|
stripeSubscriptionId text
|
|
serversQuantity integer [not null, default: 0]
|
|
}
|
|
|
|
table verification {
|
|
id text [pk, not null]
|
|
identifier text [not null]
|
|
value text [not null]
|
|
expires_at timestamp [not null]
|
|
created_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.postgresId > postgres.postgresId
|
|
|
|
ref: mount.mariadbId > mariadb.mariadbId
|
|
|
|
ref: mount.mongoId > mongo.mongoId
|
|
|
|
ref: mount.mysqlId > mysql.mysqlId
|
|
|
|
ref: mount.redisId > redis.redisId
|
|
|
|
ref: mount.composeId > compose.composeId
|
|
|
|
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.registryId > registry.registryId
|
|
|
|
ref: application.githubId - github.githubId
|
|
|
|
ref: application.gitlabId - gitlab.gitlabId
|
|
|
|
ref: application.giteaId - gitea.giteaId
|
|
|
|
ref: application.bitbucketId - bitbucket.bitbucketId
|
|
|
|
ref: application.serverId > server.serverId
|
|
|
|
ref: backup.destinationId > destination.destinationId
|
|
|
|
ref: backup.postgresId > postgres.postgresId
|
|
|
|
ref: backup.mariadbId > mariadb.mariadbId
|
|
|
|
ref: backup.mysqlId > mysql.mysqlId
|
|
|
|
ref: backup.mongoId > mongo.mongoId
|
|
|
|
ref: backup.userId > user_temp.id
|
|
|
|
ref: backup.composeId > compose.composeId
|
|
|
|
ref: git_provider.gitProviderId - bitbucket.gitProviderId
|
|
|
|
ref: certificate.serverId > server.serverId
|
|
|
|
ref: certificate.organizationId - organization.id
|
|
|
|
ref: compose.environmentId > environment.environmentId
|
|
|
|
ref: compose.customGitSSHKeyId > "ssh-key".sshKeyId
|
|
|
|
ref: compose.githubId - github.githubId
|
|
|
|
ref: compose.gitlabId - gitlab.gitlabId
|
|
|
|
ref: compose.bitbucketId - bitbucket.bitbucketId
|
|
|
|
ref: compose.giteaId - gitea.giteaId
|
|
|
|
ref: compose.serverId > server.serverId
|
|
|
|
ref: deployment.applicationId > application.applicationId
|
|
|
|
ref: deployment.composeId > compose.composeId
|
|
|
|
ref: deployment.serverId > server.serverId
|
|
|
|
ref: deployment.previewDeploymentId > preview_deployments.previewDeploymentId
|
|
|
|
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.composeId > compose.composeId
|
|
|
|
ref: preview_deployments.domainId - domain.domainId
|
|
|
|
ref: environment.projectId > project.projectId
|
|
|
|
ref: github.gitProviderId - git_provider.gitProviderId
|
|
|
|
ref: gitlab.gitProviderId - git_provider.gitProviderId
|
|
|
|
ref: gitea.gitProviderId - git_provider.gitProviderId
|
|
|
|
ref: git_provider.organizationId - organization.id
|
|
|
|
ref: git_provider.userId - user_temp.id
|
|
|
|
ref: invitation.organization_id - organization.id
|
|
|
|
ref: mariadb.environmentId > environment.environmentId
|
|
|
|
ref: mariadb.serverId > server.serverId
|
|
|
|
ref: member.organization_id > organization.id
|
|
|
|
ref: member.user_id - user_temp.id
|
|
|
|
ref: mongo.environmentId > environment.environmentId
|
|
|
|
ref: mongo.serverId > server.serverId
|
|
|
|
ref: mysql.environmentId > environment.environmentId
|
|
|
|
ref: mysql.serverId > server.serverId
|
|
|
|
ref: notification.slackId - slack.slackId
|
|
|
|
ref: notification.telegramId - telegram.telegramId
|
|
|
|
ref: notification.discordId - discord.discordId
|
|
|
|
ref: notification.emailId - email.emailId
|
|
|
|
ref: notification.gotifyId - gotify.gotifyId
|
|
|
|
ref: notification.ntfyId - ntfy.ntfyId
|
|
|
|
ref: notification.customId - custom.customId
|
|
|
|
ref: notification.larkId - lark.larkId
|
|
|
|
ref: notification.organizationId - organization.id
|
|
|
|
ref: organization.owner_id > user_temp.id
|
|
|
|
ref: port.applicationId > application.applicationId
|
|
|
|
ref: postgres.environmentId > environment.environmentId
|
|
|
|
ref: postgres.serverId > server.serverId
|
|
|
|
ref: preview_deployments.applicationId > application.applicationId
|
|
|
|
ref: project.organizationId > organization.id
|
|
|
|
ref: redirect.applicationId > application.applicationId
|
|
|
|
ref: redis.environmentId > environment.environmentId
|
|
|
|
ref: redis.serverId > server.serverId
|
|
|
|
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: server.sshKeyId > "ssh-key".sshKeyId
|
|
|
|
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 |