added leantime deplyoment
This commit is contained in:
@@ -1,28 +1,32 @@
|
|||||||
{
|
{
|
||||||
"apps": [
|
"apps": [
|
||||||
{
|
{
|
||||||
"name": "nextcloud",
|
"name": "NextCloud",
|
||||||
"version": "26.0"
|
"version": "26.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "homeassistant",
|
"name": "HomeAssistant",
|
||||||
"version": "latest"
|
"version": "latest"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "guacamole",
|
"name": "Guacamole",
|
||||||
"version": "latest"
|
"version": "latest"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vaultwarden",
|
"name": "VaultWarden",
|
||||||
"version": "latest"
|
"version": "latest"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "smtp",
|
"name": "Smtp",
|
||||||
"version": "latest"
|
"version": "latest"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "outline",
|
"name": "Outline",
|
||||||
|
"version": "latest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LeanTime",
|
||||||
"version": "latest"
|
"version": "latest"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
63
leantime/domain-leantime.json
Normal file
63
leantime/domain-leantime.json
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"SERVICE_NAME": "leantime",
|
||||||
|
"DOMAIN": "#LEANTIME_DOMAIN"
|
||||||
|
},
|
||||||
|
"containers": [
|
||||||
|
{
|
||||||
|
"IMAGE": "registry.format.hu/domain-check",
|
||||||
|
"UPDATE": "true",
|
||||||
|
"MEMORY": "64M",
|
||||||
|
"NAME": "domain_checker",
|
||||||
|
"ROLES": "domain_checker",
|
||||||
|
"NETWORK": "host",
|
||||||
|
"SELECTOR": "",
|
||||||
|
"SCALE": "0",
|
||||||
|
"EXTRA": "--rm --privileged",
|
||||||
|
"PRE_START": [],
|
||||||
|
"DEPEND": [],
|
||||||
|
"POST_START": [],
|
||||||
|
"CMD": "",
|
||||||
|
"ENVS": [
|
||||||
|
{
|
||||||
|
"PROXY": "smarthostloadbalancer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TARGET": "leantime-app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PORT": "80"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LOCATION": "#LEANTIME_LOCATION_PATH"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DOMAIN": "#LEANTIME_DOMAIN"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SMARTHOST_PROXY_PATH": "/smarthost-domains"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"OPERATION": "CREATE"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"VOLUMES": [
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/user/config/smarthost-domains",
|
||||||
|
"DEST": "/smarthost-domains",
|
||||||
|
"TYPE": "rw"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/system/data/dns/hosts.local",
|
||||||
|
"DEST": "/etc/dns/hosts.local",
|
||||||
|
"TYPE": "ro"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/var/run/docker.sock",
|
||||||
|
"DEST": "/var/run/docker.sock",
|
||||||
|
"TYPE": "rw"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
76
leantime/firewall-leantime-dns.json
Normal file
76
leantime/firewall-leantime-dns.json
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"SERVICE_NAME": "firewalls",
|
||||||
|
"DOMAIN": "null"
|
||||||
|
},
|
||||||
|
"containers": [
|
||||||
|
{
|
||||||
|
"IMAGE": "registry.format.hu/firewall",
|
||||||
|
"UDAPE": "true",
|
||||||
|
"NAME": "firewall",
|
||||||
|
"MEMORY": "64M",
|
||||||
|
"NETWORK": "host",
|
||||||
|
"SCALE": "0",
|
||||||
|
"VOLUMES": [
|
||||||
|
{
|
||||||
|
"SOURCE": "/run/",
|
||||||
|
"DEST": "/run/",
|
||||||
|
"TYPE": "rw"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/user/config/services",
|
||||||
|
"DEST": "/services",
|
||||||
|
"TYPE": "ro"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/system/data/dns/hosts.local",
|
||||||
|
"DEST": "/etc/dns/hosts.local",
|
||||||
|
"TYPE": "ro"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/var/run/docker.sock",
|
||||||
|
"DEST": "/var/run/docker.sock",
|
||||||
|
"TYPE": "rw"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"PORTS": [],
|
||||||
|
"READYNESS": [
|
||||||
|
{
|
||||||
|
"tcp": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"HTTP": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EXEC": "/ready.sh"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ENVS": [
|
||||||
|
{
|
||||||
|
"CHAIN": "DOCKER-USER"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "leantime-app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TARGET": "coredns"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TYPE": "udp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TARGET_PORT": "53"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"COMMENT": "leantime nginx access for local dns"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EXTRA": "--privileged --rm",
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "false",
|
||||||
|
"CMD": "",
|
||||||
|
"PRE_START": [],
|
||||||
|
"POST_START": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
75
leantime/firewall-leantime-smtp.json
Normal file
75
leantime/firewall-leantime-smtp.json
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"SERVICE_NAME": "firewalls",
|
||||||
|
"DOMAIN": "null"
|
||||||
|
},
|
||||||
|
"containers": [
|
||||||
|
{
|
||||||
|
"IMAGE": "registry.format.hu/firewall",
|
||||||
|
"NAME": "firewall",
|
||||||
|
"MEMORY": "64M",
|
||||||
|
"NETWORK": "host",
|
||||||
|
"SCALE": "0",
|
||||||
|
"VOLUMES": [
|
||||||
|
{
|
||||||
|
"SOURCE": "/run/",
|
||||||
|
"DEST": "/run/",
|
||||||
|
"TYPE": "rw"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/user/config/services",
|
||||||
|
"DEST": "/services",
|
||||||
|
"TYPE": "ro"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/system/data/dns/hosts.local",
|
||||||
|
"DEST": "/etc/dns/hosts.local",
|
||||||
|
"TYPE": "ro"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/var/run/docker.sock",
|
||||||
|
"DEST": "/var/run/docker.sock",
|
||||||
|
"TYPE": "rw"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"PORTS": [],
|
||||||
|
"READYNESS": [
|
||||||
|
{
|
||||||
|
"tcp": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"HTTP": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EXEC": "/ready.sh"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ENVS": [
|
||||||
|
{
|
||||||
|
"CHAIN": "DOCKER-USER"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "leantime-app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TARGET": "smtp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TYPE": "tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TARGET_PORT": "25"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"COMMENT": "leantime to smtp"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EXTRA": "--privileged --rm",
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "false",
|
||||||
|
"CMD": "null",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": "null"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
75
leantime/firewall-leantime.json
Normal file
75
leantime/firewall-leantime.json
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"SERVICE_NAME": "firewalls",
|
||||||
|
"DOMAIN": "null"
|
||||||
|
},
|
||||||
|
"containers": [
|
||||||
|
{
|
||||||
|
"IMAGE": "registry.format.hu/firewall",
|
||||||
|
"NAME": "firewall",
|
||||||
|
"MEMORY": "64M",
|
||||||
|
"NETWORK": "host",
|
||||||
|
"SCALE": "0",
|
||||||
|
"VOLUMES": [
|
||||||
|
{
|
||||||
|
"SOURCE": "/run/",
|
||||||
|
"DEST": "/run/",
|
||||||
|
"TYPE": "rw"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/user/config/services",
|
||||||
|
"DEST": "/services",
|
||||||
|
"TYPE": "ro"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/system/data/dns/hosts.local",
|
||||||
|
"DEST": "/etc/dns/hosts.local",
|
||||||
|
"TYPE": "ro"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/var/run/docker.sock",
|
||||||
|
"DEST": "/var/run/docker.sock",
|
||||||
|
"TYPE": "rw"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"PORTS": [],
|
||||||
|
"READYNESS": [
|
||||||
|
{
|
||||||
|
"tcp": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"HTTP": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EXEC": "/ready.sh"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ENVS": [
|
||||||
|
{
|
||||||
|
"CHAIN": "DOCKER-USER"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "smarthostbackend"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TARGET": "leantime-app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TYPE": "tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TARGET_PORT": "80"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"COMMENT": "leantime"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EXTRA": "--privileged --rm",
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "false",
|
||||||
|
"CMD": "null",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": "null"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
16
leantime/leantime-secret.json
Normal file
16
leantime/leantime-secret.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"leantimemysql": {
|
||||||
|
"MARIADB_DATABASE": "#DB_MYSQL",
|
||||||
|
"MARIADB_USER": "#DB_USER",
|
||||||
|
"MARIADB_PASSWORD": "#DB_PASSWORD",
|
||||||
|
"MARIADB_ROOT_PASSWORD": "#DB_ROOT_PASSWORD"
|
||||||
|
},
|
||||||
|
"leantimeapp": {
|
||||||
|
"LEAN_DB_USER": "#DB_USER",
|
||||||
|
"LEAN_DB_PASSWORD": "#DB_PASSWORD",
|
||||||
|
"LEAN_DB_HOST": "leantimemysql-db",
|
||||||
|
"LEAN_OIDC_CLIENT_SECRET": "#OIDC_CLIENT_SECRET",
|
||||||
|
"LEAN_S3_SECRET": "#S3_SECRET",
|
||||||
|
"LEAN_SESSION_PASSWORD": "#SESSION_PASSWORD"
|
||||||
|
}
|
||||||
|
}
|
352
leantime/service-leantime.json
Normal file
352
leantime/service-leantime.json
Normal file
@@ -0,0 +1,352 @@
|
|||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"SERVICE_NAME": "leantime",
|
||||||
|
"DOMAIN": "#LEANTIME_DOMAIN"
|
||||||
|
},
|
||||||
|
"containers": [
|
||||||
|
{
|
||||||
|
"IMAGE": "alpine:latest",
|
||||||
|
"UPDATE": "true",
|
||||||
|
"NAME": "leantime",
|
||||||
|
"NETWORK": "host",
|
||||||
|
"MEMORY": "64M",
|
||||||
|
"VOLUMES": [
|
||||||
|
{
|
||||||
|
"SOURCE": "USER_DATA",
|
||||||
|
"DEST": "/etc/user/data",
|
||||||
|
"TYPE": "rw"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "SYSTEM_DATA",
|
||||||
|
"DEST": "/etc/system/data",
|
||||||
|
"TYPE": "rw"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "SYSTEM_LOG",
|
||||||
|
"DEST": "/etc/system/log",
|
||||||
|
"TYPE": "rw"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ENV_FILES": [
|
||||||
|
"/etc/user/secret/leantime/leantime.json"
|
||||||
|
],
|
||||||
|
"EXTRA": "--rm",
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "false",
|
||||||
|
"ENTRYPOINT": "sh -c",
|
||||||
|
"CMD": "mkdir -p /etc/user/data/leantime/db && mkdir -p /etc/system/log/leantime/db && mkdir -p /etc/user/data/leantime/data/plugins && mkdir -p /etc/user/data/leantime/data/public && mkdir -p /etc/user/data/leantime/data/user && chmod 770 -R /etc/user/data/leantime/data && chown -R 82:82 /etc/user/data/leantime/data",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": "null"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"IMAGE": "mariadb:latest",
|
||||||
|
"UPDATE": "true",
|
||||||
|
"NAME": "leantimemysql-db",
|
||||||
|
"MEMORY": "256M",
|
||||||
|
"NETWORK": "leantime-net",
|
||||||
|
"SELECTOR": "leantimemysql",
|
||||||
|
"VOLUMES": [
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/user/data/leantime/db",
|
||||||
|
"DEST": "/var/lib/mysql",
|
||||||
|
"TYPE": "rw"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/system/log/leantime/db",
|
||||||
|
"DEST": "/var/lib/mysql/mysql-bin",
|
||||||
|
"TYPE": "rw"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"PORTS": [
|
||||||
|
{
|
||||||
|
"SOURCE": "null",
|
||||||
|
"DEST": "3306",
|
||||||
|
"TYPE": "tcp"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"READYNESS": [
|
||||||
|
{
|
||||||
|
"tcp": "3306"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"HTTP": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EXEC": "/ready.sh"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ENV_FILES": [
|
||||||
|
"/etc/user/secret/leantime/leantime.json"
|
||||||
|
],
|
||||||
|
"EXTRA": "--restart always",
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "false",
|
||||||
|
"CMD": "null",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": "null"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"IMAGE": "redis:latest",
|
||||||
|
"UPDATE": "true",
|
||||||
|
"NAME": "leantimeredis-app",
|
||||||
|
"MEMORY": "128M",
|
||||||
|
"NETWORK": "leantime-net",
|
||||||
|
"SELECTOR": "leantimeredis-app",
|
||||||
|
"PORTS": [
|
||||||
|
{
|
||||||
|
"SOURCE": "null",
|
||||||
|
"DEST": "6379",
|
||||||
|
"TYPE": "tcp"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"READYNESS": [
|
||||||
|
{
|
||||||
|
"tcp": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"HTTP": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EXEC": "/ready.sh"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EXTRA": "--restart always",
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "false",
|
||||||
|
"CMD": "null",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": "null"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"IMAGE": "",
|
||||||
|
"UPDATE": "true",
|
||||||
|
"NAME": "leantimeapp",
|
||||||
|
"MEMORY": "1024M",
|
||||||
|
"NETWORK": "leantime-net",
|
||||||
|
"SELECTOR": "leantime-app",
|
||||||
|
"DNS": [
|
||||||
|
"coredns"
|
||||||
|
],
|
||||||
|
"VOLUMES": [
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/user/data/leantime/data/public",
|
||||||
|
"DEST": "/var/www/html/public/userfiles",
|
||||||
|
"TYPE": "rw"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/user/data/leantime/data/user",
|
||||||
|
"DEST": "/var/www/html/userfiles",
|
||||||
|
"TYPE": "rw"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/user/data/leantime/plugins",
|
||||||
|
"DEST": "/var/www/html/app/Plugins",
|
||||||
|
"TYPE": "rw"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"PORTS": [
|
||||||
|
{
|
||||||
|
"SOURCE": "null",
|
||||||
|
"DEST": "80",
|
||||||
|
"TYPE": "tcp"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"READYNESS": [
|
||||||
|
{
|
||||||
|
"tcp": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"HTTP": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EXEC": "/ready.sh"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ENVS": [
|
||||||
|
{
|
||||||
|
"LEAN_USE_REDIS": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_REDIS_URL": "tcp://leantimeredis-app:6379"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_REDIS_HOST": "leantimeredis-app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_REDIS_PORT": 6379
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_REDIS_PASSWORD": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_REDIS_SCHEME": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_RATELIMIT_GENERAL": "1000"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_RATELIMIT_API": "10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_RATELIMIT_AUTH": "20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_LDAP_USE_LDAP": "false"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_USER_FILE_PATH": "userfiles/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_PORT": "80"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_APP_URL": "https://#LEANTIME_DOMAIN"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_APP_DIR": "leantime/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_DEBUG": "DEBUG"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_SITENAME": "#LEANTIME_SITENAME"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_LANGUAGE": "#LEANTIME_LANG"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_DEFAULT_TIMEZONE": "#LEANTIME_TZ"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_LOG_PATH": "log/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_DISABLE_LOGIN_FORM": "#DISABLE_LOGIN"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_SESSION_EXPIRATION": "#SESSION_EXPIRATION"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_SESSION_SECURE": "#SESSION_SECURITY"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_EMAIL_RETURN": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_EMAIL_USE_SMTP": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_EMAIL_SMTP_HOSTS": "#LEANTIME_SMTP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_EMAIL_SMTP_AUTH": "false"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_EMAIL_SMTP_USERNAME": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_EMAIL_SMTP_PASSWORD": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_EMAIL_SMTP_AUTO_TLS": "false"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_EMAIL_SMTP_SECURE": "false"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_EMAIL_SMTP_SSLNOVERIFY": "false"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_EMAIL_SMTP_PORT": "25"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_LDAP_USE_LDAP": "false"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_OIDC_ENABLE": "#OIDC_ENABLE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_OIDC_CLIENT_ID": "#OIDC_CLIENT_ID"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_OIDC_CREATE_USER": "#OIDC_CREATE_USER"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_OIDC_DEFAULT_ROLE": "20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_OIDC_PROVIDER_URL": "#OIDC_PROVIDER_URL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_OIDC_AUTH_URL_OVERRIDE": "#OIDC_AUTH_URL_OVERRIDE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_OIDC_TOKEN_URL_OVERRIDE": "#OIDC_TOKEN_URL_OVERRIDE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_OIDC_USERINFO_URL_OVERRIDE": "#OIDC_USERINFO_URL_OVERRIDE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_OIDC_SCOPES": "user:email,read:user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_OIDC_FIELD_EMAIL": "0.email"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_OIDC_FIELD_FIRSTNAME": "name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_LOGO_PATH": "/dist/images/logo.svg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_PRINT_LOGO_URL": "/dist/images/logo.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_DEFAULT_THEME": "default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_PRIMARY_COLOR": "#006d9f"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_SECONDARY_COLOR": "#00a886"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_USE_S3": "#LEANTIME_USE_S3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_S3_KEY": "#S3_KEY"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_S3_BUCKET": "#S3_BUCKET"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_S3_USE_PATH_STYLE_ENDPOINT": "#S3_USE_PATH_STYLE_ENDPOINT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_S3_REGION": "#S3_REGION"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_S3_FOLDER_NAME": "#S3_FOLDER_NAME"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LEAN_S3_END_POINT": "#S3_END_POINT"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ENV_FILES": [
|
||||||
|
"/etc/user/secret/leantime/leantime.json"
|
||||||
|
],
|
||||||
|
"EXTRA": "--user www-data --restart always",
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "false",
|
||||||
|
"CMD": "null",
|
||||||
|
"PRE_START": [
|
||||||
|
"firewall-leantime-dns"
|
||||||
|
],
|
||||||
|
"POST_START": [
|
||||||
|
"firewall-leantime-smtp",
|
||||||
|
"firewall-leantime",
|
||||||
|
"domain-leantime"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
122
leantime/template.json
Normal file
122
leantime/template.json
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
{
|
||||||
|
"name": "leantime",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"description": "Please add LeanTime domain:",
|
||||||
|
"key": "LEANTIME_DOMAIN",
|
||||||
|
"value": "",
|
||||||
|
"required": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Do you use any additional location path? (optional)\n(do not miss '/' character!)",
|
||||||
|
"key": "LEANTIME_LOCATION_PATH",
|
||||||
|
"value": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Please add your deploy name (default is LeanTime)",
|
||||||
|
"key": "LEANTIME_SITENAME",
|
||||||
|
"value": "LeanTime"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Please add your deploy default language (default is en-US)",
|
||||||
|
"key": "LEANTIME_LANG",
|
||||||
|
"value": "en-US"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Please add your deploy default timezone (default is Europe/Budapest)",
|
||||||
|
"key": "LEANTIME_TZ",
|
||||||
|
"value": "Europe/Budapest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Do you want to disable login form for public?",
|
||||||
|
"key": "DISABLE_LOGIN",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "MYSQL database name",
|
||||||
|
"key": "DB_MYSQL",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "MYSQL username",
|
||||||
|
"key": "DB_USER",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": "time|md5|8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "MYSQL password for user",
|
||||||
|
"key": "DB_PASSWORD",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": "random|md5|12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "MYSQL root user password",
|
||||||
|
"key": "DB_ROOT_PASSWORD",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": "random|sha256|20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Do you want to set up OIDC provider? (default is false)",
|
||||||
|
"key": "OIDC_ENABLE",
|
||||||
|
"value": "false",
|
||||||
|
"required": "",
|
||||||
|
"generated": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Please add OIDC user key:",
|
||||||
|
"key": "OIDC_CLIENT_KEY",
|
||||||
|
"value": "",
|
||||||
|
"required": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Please add OIDC client secret:",
|
||||||
|
"key": "OIDC_CLIENT_SECRET",
|
||||||
|
"value": "",
|
||||||
|
"required": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Do you want to set up S3 bucket server? (default is false)",
|
||||||
|
"key": "S3_SECRET",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": "random|sha256|20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Session password",
|
||||||
|
"key": "SESSION_PASSWORD",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": "random|sha256|20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Please add a strong password for sessions",
|
||||||
|
"key": "SESSION_PASSWORD",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": "random|sha256|20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Please set LeanTime access mode (defaults is https)",
|
||||||
|
"key": "SESSION_SECURITY",
|
||||||
|
"value": "true",
|
||||||
|
"required": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Please set SMTP host for sending emails",
|
||||||
|
"key": "LEANTIME_SMTP",
|
||||||
|
"value": "smtp-mail",
|
||||||
|
"required": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Do you want to connect an S3 bucket provider?",
|
||||||
|
"key": "LEANTIME_USE_S3",
|
||||||
|
"value": "false",
|
||||||
|
"required": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@@ -1,297 +0,0 @@
|
|||||||
{
|
|
||||||
"main": {
|
|
||||||
"SERVICE_NAME": "openproject",
|
|
||||||
"DOMAIN": "#OPENPROJECT_DOMAIN"
|
|
||||||
},
|
|
||||||
"containers": [
|
|
||||||
{
|
|
||||||
"IMAGE": "alpine:latest",
|
|
||||||
"UPDATE": "true",
|
|
||||||
"NAME": "openproject-init",
|
|
||||||
"NETWORK": "host",
|
|
||||||
"MEMORY": "64M",
|
|
||||||
"VOLUMES": [
|
|
||||||
{
|
|
||||||
"SOURCE": "USER_DATA",
|
|
||||||
"DEST": "/etc/user/data",
|
|
||||||
"TYPE": "rw"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"SOURCE": "SYSTEM_LOG",
|
|
||||||
"DEST": "/etc/system/log",
|
|
||||||
"TYPE": "rw"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"EXTRA": "--rm",
|
|
||||||
"DEPEND": "null",
|
|
||||||
"START_ON_BOOT": "false",
|
|
||||||
"ENTRYPOINT": "sh -c",
|
|
||||||
"CMD": "mkdir -p /etc/user/data/openproject/assets && chown -R 1000:1000 /etc/user/data/openproject/assets && mkdir -p /etc/user/data/openproject/db",
|
|
||||||
"PRE_START": "null",
|
|
||||||
"POST_START": "null"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"IMAGE": "postgres:13-alpine",
|
|
||||||
"UPDATE": "true",
|
|
||||||
"NAME": "openprojectpostgres-db",
|
|
||||||
"MEMORY": "256M",
|
|
||||||
"NETWORK": "openproject-net",
|
|
||||||
"SELECTOR": "openprojectpostgres-db",
|
|
||||||
"VOLUMES": [
|
|
||||||
{
|
|
||||||
"SOURCE": "/etc/user/data/openproject/db",
|
|
||||||
"DEST": "/var/lib/postgresql/data",
|
|
||||||
"TYPE": "rw"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"PORTS": [
|
|
||||||
{
|
|
||||||
"SOURCE": "null",
|
|
||||||
"DEST": "5432",
|
|
||||||
"TYPE": "tcp"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"ENV_FILES": [
|
|
||||||
"/etc/user/secret/openproject/openproject.json"
|
|
||||||
],
|
|
||||||
"EXTRA": "--restart unless-stopped",
|
|
||||||
"DEPEND": "null",
|
|
||||||
"START_ON_BOOT": "false",
|
|
||||||
"CMD": "null",
|
|
||||||
"PRE_START": "null",
|
|
||||||
"POST_START": "null"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"IMAGE": "openproject/openproject:15-slim",
|
|
||||||
"UPDATE": "true",
|
|
||||||
"NAME": "openprojectapp-web",
|
|
||||||
"NETWORK": "openproject-net",
|
|
||||||
"SELECTOR": "openprojectapp-web",
|
|
||||||
"VOLUMES": [
|
|
||||||
{
|
|
||||||
"SOURCE": "/etc/user/data/openproject/assets",
|
|
||||||
"DEST": "/var/openproject/assets",
|
|
||||||
"TYPE": "rw"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"PORTS": [
|
|
||||||
{
|
|
||||||
"SOURCE": "null",
|
|
||||||
"DEST": "8080",
|
|
||||||
"TYPE": "tcp"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"ENVS": [
|
|
||||||
{
|
|
||||||
"OPENPROJECT_HTTPS": "false"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_HOST__NAME": "#OPENPROJECT_DOMAIN"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_HSTS": "false"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"RAILS_CACHE_STORE": "memcache"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_CACHE__MEMCACHE__SERVER": "memcache-app:11211"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_RAILS__RELATIVE__URL__ROOT": "/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"RAILS_MIN_THREADS": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"RAILS_MAX_THREADS": "16"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"IMAP_ENABLED": "true"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"ENV_FILES": [
|
|
||||||
"/etc/user/secret/openproject/openproject.json"
|
|
||||||
],
|
|
||||||
"EXTRA": "--restart unless-stopped",
|
|
||||||
"DEPEND": [],
|
|
||||||
"START_ON_BOOT": "false",
|
|
||||||
"CMD": "./docker/prod/web",
|
|
||||||
"PRE_START": "null",
|
|
||||||
"POST_START": [
|
|
||||||
"firewall-openproject",
|
|
||||||
"domain-openproject",
|
|
||||||
"firewall-openproject-dns",
|
|
||||||
"firewall-openproject-smtp"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"IMAGE": "memcached:alpine",
|
|
||||||
"UPDATE": "true",
|
|
||||||
"NAME": "memcache-app",
|
|
||||||
"NETWORK": "openproject-net",
|
|
||||||
"EXTRA": "--restart unless-stopped",
|
|
||||||
"DEPEND": [],
|
|
||||||
"START_ON_BOOT": "false",
|
|
||||||
"CMD": "null",
|
|
||||||
"PRE_START": "null",
|
|
||||||
"POST_START": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"IMAGE": "openproject/openproject:15-slim",
|
|
||||||
"UPDATE": "true",
|
|
||||||
"NAME": "openprojectapp-seeder",
|
|
||||||
"NETWORK": "openproject-net",
|
|
||||||
"VOLUMES": [
|
|
||||||
{
|
|
||||||
"SOURCE": "/etc/user/data/openproject/assets",
|
|
||||||
"DEST": "/var/openproject/assets",
|
|
||||||
"TYPE": "rw"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"PORTS": [],
|
|
||||||
"ENVS": [
|
|
||||||
{
|
|
||||||
"OPENPROJECT_HTTPS": "false"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_HOST__NAME": "#OPENPROJECT_DOMAIN"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_HSTS": "false"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"RAILS_CACHE_STORE": "memcache"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_CACHE__MEMCACHE__SERVER": "memcache-app:11211"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_RAILS__RELATIVE__URL__ROOT": "/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"RAILS_MIN_THREADS": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"RAILS_MAX_THREADS": "16"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"IMAP_ENABLED": "true"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"ENV_FILES": [
|
|
||||||
"/etc/user/secret/openproject/openproject.json"
|
|
||||||
],
|
|
||||||
"EXTRA": "--rm",
|
|
||||||
"DEPEND": [],
|
|
||||||
"START_ON_BOOT": "false",
|
|
||||||
"CMD": "./docker/prod/seeder",
|
|
||||||
"PRE_START": "null",
|
|
||||||
"POST_START": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"IMAGE": "openproject/openproject:15-slim",
|
|
||||||
"UPDATE": "true",
|
|
||||||
"NAME": "openprojectapp-worker",
|
|
||||||
"NETWORK": "openproject-net",
|
|
||||||
"VOLUMES": [
|
|
||||||
{
|
|
||||||
"SOURCE": "/etc/user/data/openproject/assets",
|
|
||||||
"DEST": "/var/openproject/assets",
|
|
||||||
"TYPE": "rw"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"PORTS": [],
|
|
||||||
"ENVS": [
|
|
||||||
{
|
|
||||||
"OPENPROJECT_HTTPS": "false"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_HOST__NAME": "#OPENPROJECT_DOMAIN"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_HSTS": "false"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"RAILS_CACHE_STORE": "memcache"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_CACHE__MEMCACHE__SERVER": "memcache-app:11211"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_RAILS__RELATIVE__URL__ROOT": "/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"RAILS_MIN_THREADS": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"RAILS_MAX_THREADS": "16"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"IMAP_ENABLED": "true"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"ENV_FILES": [
|
|
||||||
"/etc/user/secret/openproject/openproject.json"
|
|
||||||
],
|
|
||||||
"EXTRA": "--restart unless-stopped",
|
|
||||||
"DEPEND": [],
|
|
||||||
"START_ON_BOOT": "false",
|
|
||||||
"CMD": "./docker/prod/worker",
|
|
||||||
"PRE_START": "null",
|
|
||||||
"POST_START": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"IMAGE": "openproject/openproject:15-slim",
|
|
||||||
"UPDATE": "true",
|
|
||||||
"NAME": "openprojectapp-cron",
|
|
||||||
"NETWORK": "openproject-net",
|
|
||||||
"VOLUMES": [
|
|
||||||
{
|
|
||||||
"SOURCE": "/etc/user/data/openproject/assets",
|
|
||||||
"DEST": "/var/openproject/assets",
|
|
||||||
"TYPE": "rw"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"PORTS": [],
|
|
||||||
"ENVS": [
|
|
||||||
{
|
|
||||||
"OPENPROJECT_HTTPS": "false"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_HOST__NAME": "#OPENPROJECT_DOMAIN"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_HSTS": "false"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"RAILS_CACHE_STORE": "memcache"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_CACHE__MEMCACHE__SERVER": "memcache-app:11211"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"OPENPROJECT_RAILS__RELATIVE__URL__ROOT": "/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"RAILS_MIN_THREADS": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"RAILS_MAX_THREADS": "16"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"IMAP_ENABLED": "true"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"ENV_FILES": [
|
|
||||||
"/etc/user/secret/openproject/openproject.json"
|
|
||||||
],
|
|
||||||
"EXTRA": "--restart unless-stopped",
|
|
||||||
"DEPEND": [],
|
|
||||||
"START_ON_BOOT": "false",
|
|
||||||
"CMD": "./docker/prod/cron",
|
|
||||||
"PRE_START": "null",
|
|
||||||
"POST_START": []
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
Reference in New Issue
Block a user