Compare commits

...

39 Commits

Author SHA1 Message Date
37e7b83077 Merge pull request 'dev' (#60) from dev into main
Reviewed-on: #60
2025-09-06 15:05:25 +00:00
gyurix
becd96416a Refactor domain configuration to use a unified DOMAIN key across Nextcloud JSON files 2025-09-06 17:04:41 +02:00
gyurix
09371f8b4b Update DOMAIN key in service-nextcloud.json to use NEXTCLOUD_TRUSTED_DOMAINS 2025-09-06 17:03:16 +02:00
d723b4daf5 Merge pull request 'Update description in template.json to reflect new identity management features' (#59) from dev into main
Reviewed-on: #59
2025-09-06 14:28:58 +00:00
gyurix
56e6e4e789 Update description in template.json to reflect new identity management features 2025-09-06 16:27:40 +02:00
366fa1d6b8 Merge pull request 'Update volume destination paths in service-matrix.json and service-pocketid.json for PostgreSQL data' (#58) from dev into main
Reviewed-on: #58
2025-09-02 12:16:51 +00:00
gyurix
f5130b0c57 Update volume destination paths in service-matrix.json and service-pocketid.json for PostgreSQL data 2025-09-02 14:16:22 +02:00
082ae8fcf8 Merge pull request 'Update EXTRA configuration in service-matrix.json for container cleanup' (#57) from dev into main
Reviewed-on: #57
2025-09-02 09:50:06 +00:00
gyurix
1ef0fd1f5c Update EXTRA configuration in service-matrix.json for container cleanup 2025-09-02 11:31:52 +02:00
984a61d036 Merge pull request 'Remove unnecessary EXTRA configuration from service-matrix.json' (#56) from dev into main
Reviewed-on: #56
2025-09-02 09:17:42 +00:00
gyurix
ca41276ecf Remove unnecessary EXTRA configuration from service-matrix.json 2025-09-02 11:14:15 +02:00
08c4e49d82 Merge pull request 'Update volume mapping in service-matrix.json for improved clarity' (#55) from dev into main
Reviewed-on: #55
2025-09-02 09:09:09 +00:00
gyurix
7a2a4e90ed Update volume mapping in service-matrix.json for improved clarity 2025-09-02 11:08:41 +02:00
b232e22427 Merge pull request 'Remove unused PORTS configuration from service-matrix.json' (#54) from dev into main
Reviewed-on: #54
2025-09-02 08:56:46 +00:00
gyurix
4bb61da615 Remove unused PORTS configuration from service-matrix.json 2025-09-02 10:56:19 +02:00
2649856b30 Merge pull request 'Rename matrixserver-setup to matrixserver-dbinit and add new volume mapping for input data' (#53) from dev into main
Reviewed-on: #53
2025-09-02 08:35:00 +00:00
gyurix
e3862bbeb7 Rename matrixserver-setup to matrixserver-dbinit and add new volume mapping for input data 2025-09-02 10:33:26 +02:00
bf944dee1b Merge pull request 'Refactor configuration file structure for enhanced readability and organization' (#52) from dev into main
Reviewed-on: #52
2025-09-01 14:23:30 +00:00
gyurix
fc0197dcf1 Refactor configuration file structure for enhanced readability and organization 2025-09-01 16:22:29 +02:00
bc26466fab Merge pull request 'Update SUBPATH details in template.json for clearer usage instructions' (#51) from dev into main
Reviewed-on: #51
2025-09-01 08:18:31 +00:00
gyurix
c30a5ceadb Update SUBPATH details in template.json for clearer usage instructions 2025-09-01 10:17:54 +02:00
24b9f416b5 Merge pull request 'Rename LOCAL_PATH to LOCATION in domain-matrix-admin.json for clarity' (#50) from dev into main
Reviewed-on: #50
2025-09-01 08:10:32 +00:00
gyurix
fcc452af8a Rename LOCAL_PATH to LOCATION in domain-matrix-admin.json for clarity 2025-09-01 10:09:57 +02:00
5598cd2e4e Merge pull request 'Update domain keys in configuration files for consistency and clarity' (#49) from dev into main
Reviewed-on: #49
2025-09-01 08:06:01 +00:00
gyurix
daaa19d32a Update domain keys in configuration files for consistency and clarity 2025-09-01 10:05:22 +02:00
a860503297 Merge pull request 'Refactor matrix configuration structure for improved clarity and maintainability' (#48) from dev into main
Reviewed-on: #48
2025-08-31 17:58:06 +00:00
gyurix
2129a7e8f9 Refactor matrix configuration structure for improved clarity and maintainability 2025-08-31 19:57:40 +02:00
aecfab545d Merge pull request 'Update domain and path keys in configuration files for consistency' (#47) from dev into main
Reviewed-on: #47
2025-08-31 12:46:36 +00:00
gyurix
22e37d90af Update domain and path keys in configuration files for consistency 2025-08-31 14:46:04 +02:00
cf27b29d98 Merge pull request 'Add DOMAIN_ADMIN and SUB_PATH fields to configuration files' (#46) from dev into main
Reviewed-on: #46
2025-08-31 12:39:28 +00:00
gyurix
efd077e41a Add DOMAIN_ADMIN and SUB_PATH fields to configuration files 2025-08-31 14:38:12 +02:00
234f2b8379 Merge pull request 'Rename matrix server components and add finalize setup configuration' (#45) from dev into main
Reviewed-on: #45
2025-08-31 12:27:43 +00:00
gyurix
3fbdace533 Rename matrix server components and add finalize setup configuration 2025-08-31 14:27:09 +02:00
858ddb310a Merge pull request 'Add required fields and types to matrix template configuration' (#44) from dev into main
Reviewed-on: #44
2025-08-31 12:19:10 +00:00
gyurix
f065b4f6ce Add required fields and types to matrix template configuration 2025-08-31 14:18:20 +02:00
c48ee36943 Merge pull request 'Add matrix service configuration and update related settings' (#43) from dev into main
Reviewed-on: #43
2025-08-31 12:15:42 +00:00
gyurix
05f0a6d10f Add matrix service configuration and update related settings 2025-08-31 14:14:34 +02:00
b6bf808328 Merge pull request 'Refactor database connection string to enhance clarity and consistency' (#42) from dev into main
Reviewed-on: #42
2025-08-31 10:22:32 +00:00
gyurix
01ca5a196c Refactor database connection string to enhance clarity and consistency 2025-08-31 12:21:26 +02:00
10 changed files with 196 additions and 91 deletions

View File

@@ -1,7 +1,7 @@
{
"main": {
"SERVICE_NAME": "matrix",
"DOMAIN": "#DOMAIN"
"DOMAIN": "#ADMINDOMAIN"
},
"containers": [
{
@@ -29,11 +29,14 @@
"PORT": "80"
},
{
"DOMAIN": "#DOMAIN"
"DOMAIN": "#ADMINDOMAIN"
},
{
"SMARTHOST_PROXY_PATH": "/smarthost-domains"
},
{
"LOCATION": "#SUBPATH"
},
{
"OPERATION": "CREATE"
}

60
matrix/domain-matrix.json Normal file
View File

@@ -0,0 +1,60 @@
{
"main": {
"SERVICE_NAME": "matrix",
"DOMAIN": "#DOMAIN"
},
"containers": [
{
"IMAGE": "safebox/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": "matrixserver"
},
{
"PORT": "8008"
},
{
"DOMAIN": "#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"
}
]
}
]
}

View File

@@ -15,10 +15,15 @@
"SYNAPSE_SERVER_NAME": "#DOMAIN",
"SYNAPSE_REPORT_STATS": "no",
"ADMIN_USERNAME": "#ADMIN_USERNAME",
"ADMIN_PASSWORD": "#ADMIN_PASSWORD"
"ADMIN_PASSWORD": "#ADMIN_PASSWORD",
"SYNAPSE_CONFIG_DIR": "/data",
"SYNAPSE_CONFIG_PATH": "/data/homeserver.yaml",
"SYNAPSE_DATA_DIR": "/data"
},
"matrixadmin": {
"REACT_APP_SERVER": "https://#DOMAIN",
"BASE_PATH": "/synapse-admin"
"BASE_PATH": "#ADMINDOMAIN",
"ADMINDOMAIN": "#ADMINDOMAIN",
"SUBPATH": "#SUBPATH"
}
}

View File

@@ -38,7 +38,7 @@
"SELECTOR": "matrixpostgres-db",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/matrix/postgresql",
"SOURCE": "/etc/user/data/matrix/db",
"DEST": "/var/lib/postgresql/data",
"TYPE": "rw"
}
@@ -85,15 +85,15 @@
"EXTRA": "--rm",
"DEPEND": "null",
"START_ON_BOOT": "false",
"ENTRYPOINT": "sh -c",
"CMD": "if [ ! -f /data/homeserver.yaml ]; then generate ; fi",
"ENTRYPOINT": "bash -c",
"CMD": "if [ ! -f /data/homeserver.yaml ]; then /start.py generate ; else exit 1; fi",
"PRE_START": [],
"POST_START": []
},
{
"IMAGE": "safebox/matrix-setup:latest",
"UPDATE": "true",
"NAME": "matrix-setup",
"NAME": "matrixserver-dbinit",
"NETWORK": "host",
"MEMORY": "64M",
"VOLUMES": [
@@ -116,7 +116,7 @@
{
"IMAGE": "matrixdotorg/synapse",
"UPDATE": "true",
"NAME": "matrixserver",
"NAME": "matrixserver-app",
"ROLES": "backend-www",
"MEMORY": "512M",
"NETWORK": "matrix-net",
@@ -128,13 +128,6 @@
"TYPE": "rw"
}
],
"PORTS": [
{
"SOURCE": "null",
"DEST": "8008",
"TYPE": "tcp"
}
],
"ENV_FILES": [
"/etc/user/secret/matrix/matrix.json"
],
@@ -148,6 +141,34 @@
"domain-matrix"
]
},
{
"IMAGE": "safebox/matrix-setup:latest",
"UPDATE": "true",
"NAME": "matrixserver-finalize",
"NETWORK": "host",
"MEMORY": "64M",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/matrix/synapse",
"DEST": "/data",
"TYPE": "rw"
},
{
"SOURCE": "SHARED",
"DEST": "/var/tmp/shared",
"TYPE": "rw"
}
],
"ENV_FILES": [
"/etc/user/secret/matrix/matrix.json"
],
"EXTRA": "--rm",
"DEPEND": "null",
"START_ON_BOOT": "false",
"CMD": "null",
"PRE_START": "null",
"POST_START": "null"
},
{
"IMAGE": "awesometechnologies/synapse-admin",
"UPDATE": "true",
@@ -173,29 +194,6 @@
"firewall-matrix-admin",
"domain-matrix-admin"
]
},
{
"IMAGE": "safebox/matrix-setup:latest",
"UPDATE": "true",
"NAME": "matrix-setup",
"NETWORK": "host",
"MEMORY": "64M",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/matrix/synapse",
"DEST": "/data",
"TYPE": "ro"
}
],
"ENV_FILES": [
"/etc/user/secret/matrix/matrix.json"
],
"EXTRA": "--rm",
"DEPEND": "null",
"START_ON_BOOT": "false",
"CMD": "null",
"PRE_START": "null",
"POST_START": "null"
}
]
}

View File

@@ -6,8 +6,35 @@
"description": "Matrix is an opensource commucation platform that provides secure messaging. It is designed to be decentralized, allowing users to communicate across different servers and platforms while maintaining control over their data.",
"fields": [
{
"description": "Domain",
"description": "Add synapse/matrix server name (domain)",
"key": "DOMAIN",
"value": "",
"required": "true"
},
{
"description": "Matrix admin username",
"key": "ADMIN_USERNAME",
"value": "",
"required": "true"
},
{
"description": "Matrix admin password",
"key": "ADMIN_PASSWORD",
"value": "",
"required": "true",
"type": "password"
},
{
"description": "Add matrix server admin domain",
"key": "ADMINDOMAIN",
"value": "",
"required": "true",
"details": "Keep it mindful if you have other services using the same domain, for example matrix domain is the same as admin domain you should set it 'admin.domain.tld' now you can access it via https://admin.domain.tld"
},
{
"description": "Add domain subpath for matrix admin (e.g. admin)",
"details": "Optional - leave it blank for none but keep in mind subpath will be required if you have other services using the same domain, for example matrix domain is the same as admin domain you should set it '/admin/' now you can access it via https://domain.tld/admin/",
"key": "SUBPATH",
"value": ""
},
{

View File

@@ -1,48 +1,60 @@
{
"main": {
"SERVICE_NAME": "nextcloud",
"DOMAIN": "#NEXTCLOUD_TRUSTED_DOMAINS"
{
"main": {
"SERVICE_NAME": "nextcloud",
"DOMAIN": "#DOMAIN"
},
"containers": [
{
"IMAGE": "safebox/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": "nextcloudnginx" },
{ "PORT": "80" },
{ "DOMAIN": "#NEXTCLOUD_TRUSTED_DOMAINS" },
{ "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"
}
]
}
]
}
{
"IMAGE": "safebox/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": "nextcloudnginx"
},
{
"PORT": "80"
},
{
"DOMAIN": "#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"
}
]
}
]
}

View File

@@ -8,8 +8,8 @@
"nextcloudphp": {
"NEXTCLOUD_ADMIN_USER": "#NEXTCLOUD_ADMIN_USER",
"NEXTCLOUD_ADMIN_PASSWORD": "#NEXTCLOUD_ADMIN_PASSWORD",
"NEXTCLOUD_TRUSTED_DOMAINS": "#NEXTCLOUD_TRUSTED_DOMAINS",
"OVERWRITEHOST": "#NEXTCLOUD_TRUSTED_DOMAINS",
"DOMAIN": "#DOMAIN",
"OVERWRITEHOST": "#DOMAIN",
"NEXTCLOUD_DATA_DIR": "/var/data",
"POSTGRES_DB": "#POSTGRES_DB",
"POSTGRES_USER": "#POSTGRES_USER",

View File

@@ -10,7 +10,7 @@
"details": "",
"info": "Nextcloud domain info",
"description": "Domain",
"key": "NEXTCLOUD_TRUSTED_DOMAINS",
"key": "DOMAIN",
"value": "",
"required": "true"
},

View File

@@ -36,7 +36,7 @@
"VOLUMES": [
{
"SOURCE": "/etc/user/data/pocketid/db",
"DEST": "/var/lib/postgresql",
"DEST": "/var/lib/postgresql/data",
"TYPE": "rw"
}
],

View File

@@ -3,7 +3,7 @@
"title": "pocketid",
"subtitle": "Identity management",
"icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQzIDBIN0MzLjEzNDAxIDAgMCAzLjEzNDAxIDAgN1Y0M0MwIDQ2Ljg2NiAzLjEzNDAxIDUwIDcgNTBINDNDNDYuODY2IDUwIDUwIDQ2Ljg2NiA1MCA0M1Y3QzUwIDMuMTM0MDEgNDYuODY2IDAgNDMgMFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yNC40ODc4IDdDMzEuOTM4NCA3IDM4IDEzLjEzNjMgMzggMjAuNjc4N0MzOCAyMy42NDI2IDM3LjA3OSAyNi40NjMyIDM1LjMzNjIgMjguODM0MkMzMy42Mjc4IDMxLjE1OTUgMzEuMjkwMSAzMi44NDg2IDI4LjU3NTEgMzMuNzE5OEwyNy44MjQ3IDMzLjk2MUwyNi4wMzY0IDI1LjAzMTVMMjYuNTMxMSAyNC43ODkyQzI4LjE0NTkgMjMuOTk5IDI5LjE4OTYgMjIuMzE1NiAyOS4xODk2IDIwLjUwMTJDMjkuMTg5NiAxNy44NzY0IDI3LjA4MDUgMTUuNzQwOSAyNC40ODgxIDE1Ljc0MDlDMjEuODk1OCAxNS43NDA5IDE5Ljc4NiAxNy44NzY0IDE5Ljc4NiAyMC41MDEyQzE5Ljc4NiAyMi4zMTU2IDIwLjgzIDIzLjk5OSAyMi40NDQ4IDI0Ljc4OTJMMjIuOTMwMiAyNS4wMjcyTDIwLjA0OTUgNDNIMTJWN0gyNC40ODgxSDI0LjQ4NzhaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K",
"description": "PocketID is an open-source password manager and secure vault solution that allows users to store, manage, and share sensitive information such as passwords, credit card details, and personal notes. It is designed to provide a high level of security and privacy, with features like end-to-end encryption, two-factor authentication, and self-hosting options.",
"description": "PocketID is an open-source identity and access management solution that provides secure and efficient user authentication and authorization for web applications and services.",
"fields": [
{
"description": "Domain",