added openproject app
This commit is contained in:
@@ -19,6 +19,10 @@
|
||||
{
|
||||
"name": "smtp",
|
||||
"version": "latest"
|
||||
},
|
||||
{
|
||||
"name": "openproject",
|
||||
"version": "15"
|
||||
}
|
||||
]
|
||||
}
|
60
openproject/domain-openproject.json
Normal file
60
openproject/domain-openproject.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"main": {
|
||||
"SERVICE_NAME": "openproject",
|
||||
"DOMAIN": "#OPENPROJECT_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": "openprojectapp"
|
||||
},
|
||||
{
|
||||
"PORT": "80"
|
||||
},
|
||||
{
|
||||
"DOMAIN": "#OPENPROJECT_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"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
75
openproject/firewall-openproject-dns.json
Normal file
75
openproject/firewall-openproject-dns.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": "coredns"
|
||||
},
|
||||
{
|
||||
"TARGET": "openprojectapp"
|
||||
},
|
||||
{
|
||||
"TYPE": "udp"
|
||||
},
|
||||
{
|
||||
"TARGET_PORT": "53"
|
||||
},
|
||||
{
|
||||
"COMMENT": "dns for openproject"
|
||||
}
|
||||
],
|
||||
"EXTRA": "--privileged --rm",
|
||||
"DEPEND": "null",
|
||||
"START_ON_BOOT": "false",
|
||||
"CMD": "null",
|
||||
"PRE_START": "null",
|
||||
"POST_START": "null"
|
||||
}
|
||||
]
|
||||
}
|
75
openproject/firewall-openproject-smtp.json
Normal file
75
openproject/firewall-openproject-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": "openprojectapp"
|
||||
},
|
||||
{
|
||||
"TARGET": "smtp"
|
||||
},
|
||||
{
|
||||
"TYPE": "tcp"
|
||||
},
|
||||
{
|
||||
"TARGET_PORT": "25"
|
||||
},
|
||||
{
|
||||
"COMMENT": "smtp for openproject"
|
||||
}
|
||||
],
|
||||
"EXTRA": "--privileged --rm",
|
||||
"DEPEND": "null",
|
||||
"START_ON_BOOT": "false",
|
||||
"CMD": "null",
|
||||
"PRE_START": "null",
|
||||
"POST_START": "null"
|
||||
}
|
||||
]
|
||||
}
|
75
openproject/firewall-openproject.json
Normal file
75
openproject/firewall-openproject.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": "openprojectapp"
|
||||
},
|
||||
{
|
||||
"TYPE": "tcp"
|
||||
},
|
||||
{
|
||||
"TARGET_PORT": "8080"
|
||||
},
|
||||
{
|
||||
"COMMENT": "proxy for openproject"
|
||||
}
|
||||
],
|
||||
"EXTRA": "--privileged --rm",
|
||||
"DEPEND": "null",
|
||||
"START_ON_BOOT": "false",
|
||||
"CMD": "null",
|
||||
"PRE_START": "null",
|
||||
"POST_START": "null"
|
||||
}
|
||||
]
|
||||
}
|
11
openproject/openproject-secret.json
Normal file
11
openproject/openproject-secret.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"openprojectpostgres": {
|
||||
"POSTGRES_DB": "#DB_POSTGRES",
|
||||
"POSTGRES_USER": "#DB_USER",
|
||||
"POSTGRES_PASSWORD": "#DB_PASSWORD",
|
||||
"POSTGRES_ROOT_PASSWORD": "#DB_ROOT_PASSWORD"
|
||||
},
|
||||
"openprojectapp": {
|
||||
"DATABASE_URL": "'postgres://#DB_USER:#DB_PASSWORD@openprojectpostgres-db:5432/#DB_NAME/openproject?pool=20&encoding=unicode&reconnect=true}'"
|
||||
}
|
||||
}
|
136
openproject/service-openproject.json
Normal file
136
openproject/service-openproject.json
Normal file
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"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 && 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/postgres",
|
||||
"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",
|
||||
"NETWORK": "openproject-net",
|
||||
"SELECTOR": "openprojectapp",
|
||||
"VOLUMES": [
|
||||
{
|
||||
"SOURCE": "/etc/user/data/openproject/assets",
|
||||
"DEST": "/var/openproject/assets",
|
||||
"TYPE": "rw"
|
||||
}
|
||||
],
|
||||
"PORTS": [
|
||||
{
|
||||
"SOURCE": "null",
|
||||
"DEST": "8080",
|
||||
"TYPE": "tcp"
|
||||
}
|
||||
],
|
||||
"ENVS": [
|
||||
{
|
||||
"OPENPROJECT_HTTPS": "true"
|
||||
},
|
||||
{
|
||||
"OPENPROJECT_HOST__NAME": "#OPENPROJECT_DOMAIN"
|
||||
},
|
||||
{
|
||||
"OPENPROJECT_HSTS": "true"
|
||||
},
|
||||
{
|
||||
"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": "null",
|
||||
"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",
|
||||
"SELECTOR": "memcache-app",
|
||||
}
|
||||
]
|
||||
}
|
39
openproject/template.json
Normal file
39
openproject/template.json
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"name": "openproject",
|
||||
"fields": [
|
||||
{
|
||||
"description": "Postgres database name",
|
||||
"key": "DB_POSTGRES",
|
||||
"value": "",
|
||||
"required": "true",
|
||||
"generated": "time|md5|8"
|
||||
},
|
||||
{
|
||||
"description": "Postgres username",
|
||||
"key": "DB_USER",
|
||||
"value": "",
|
||||
"required": "true",
|
||||
"generated": "time|md5|8"
|
||||
},
|
||||
{
|
||||
"description": "Postgres password for user",
|
||||
"key": "DB_PASSWORD",
|
||||
"value": "",
|
||||
"required": "true",
|
||||
"generated": "random|md5|12"
|
||||
},
|
||||
{
|
||||
"description": "Postgres root user password",
|
||||
"key": "DB_ROOT_PASSWORD",
|
||||
"value": "",
|
||||
"required": "true",
|
||||
"generated": "random|sha256|20"
|
||||
},
|
||||
{
|
||||
"description": "Please add OpenProject domain:",
|
||||
"key": "OPENPROJECT_DOMAIN",
|
||||
"value": "",
|
||||
"required": "true"
|
||||
}
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user