File diff suppressed because one or more lines are too long
60
pocketid/domain-pocketid.json
Normal file
60
pocketid/domain-pocketid.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"main": {
|
||||
"SERVICE_NAME": "pocketid",
|
||||
"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": "pocketid-app"
|
||||
},
|
||||
{
|
||||
"PORT": "3000"
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
75
pocketid/firewall-pocketid-dns.json
Normal file
75
pocketid/firewall-pocketid-dns.json
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"main": {
|
||||
"SERVICE_NAME": "firewalls",
|
||||
"DOMAIN": "null"
|
||||
},
|
||||
"containers": [
|
||||
{
|
||||
"IMAGE": "safebox/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": "pocketid-app"
|
||||
},
|
||||
{
|
||||
"TYPE": "udp"
|
||||
},
|
||||
{
|
||||
"TARGET_PORT": "53"
|
||||
},
|
||||
{
|
||||
"COMMENT": "dns for pocketid-app"
|
||||
}
|
||||
],
|
||||
"EXTRA": "--privileged --rm",
|
||||
"DEPEND": "null",
|
||||
"START_ON_BOOT": "false",
|
||||
"CMD": "null",
|
||||
"PRE_START": "null",
|
||||
"POST_START": "null"
|
||||
}
|
||||
]
|
||||
}
|
75
pocketid/firewall-pocketid-smtp.json
Normal file
75
pocketid/firewall-pocketid-smtp.json
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"main": {
|
||||
"SERVICE_NAME": "firewalls",
|
||||
"DOMAIN": "null"
|
||||
},
|
||||
"containers": [
|
||||
{
|
||||
"IMAGE": "safebox/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": "pocketid-app"
|
||||
},
|
||||
{
|
||||
"TARGET": "smtp"
|
||||
},
|
||||
{
|
||||
"TYPE": "tcp"
|
||||
},
|
||||
{
|
||||
"TARGET_PORT": "25"
|
||||
},
|
||||
{
|
||||
"COMMENT": "smtp for pocketid-app"
|
||||
}
|
||||
],
|
||||
"EXTRA": "--privileged --rm",
|
||||
"DEPEND": "null",
|
||||
"START_ON_BOOT": "false",
|
||||
"CMD": "null",
|
||||
"PRE_START": "null",
|
||||
"POST_START": "null"
|
||||
}
|
||||
]
|
||||
}
|
75
pocketid/firewall-pocketid.json
Normal file
75
pocketid/firewall-pocketid.json
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"main": {
|
||||
"SERVICE_NAME": "firewalls",
|
||||
"DOMAIN": "null"
|
||||
},
|
||||
"containers": [
|
||||
{
|
||||
"IMAGE": "safebox/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": "pocketid-app"
|
||||
},
|
||||
{
|
||||
"TYPE": "tcp"
|
||||
},
|
||||
{
|
||||
"TARGET_PORT": "3000"
|
||||
},
|
||||
{
|
||||
"COMMENT": "proxy for pocketid-app"
|
||||
}
|
||||
],
|
||||
"EXTRA": "--privileged --rm",
|
||||
"DEPEND": "null",
|
||||
"START_ON_BOOT": "false",
|
||||
"CMD": "null",
|
||||
"PRE_START": "null",
|
||||
"POST_START": "null"
|
||||
}
|
||||
]
|
||||
}
|
16
pocketid/pocketid-secret.json
Normal file
16
pocketid/pocketid-secret.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"pocketidpostgres": {
|
||||
"POSTGRES_DB": "#POSTGRES_DB",
|
||||
"POSTGRES_USER": "#POSTGRES_USER",
|
||||
"POSTGRES_PASSWORD": "#POSTGRES_PASSWORD",
|
||||
"POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD"
|
||||
},
|
||||
"pocketidapp": {
|
||||
"PUBLIC_APP_URL": "https://#DOMAIN",
|
||||
"TRUST_PROXY": "true",
|
||||
"PUID": "1000",
|
||||
"PGID": "1000",
|
||||
"DB_PROVIDER": "postgres",
|
||||
"POSTGRES_CONNECTION_STRING": "postgresql://#POSTGRES_USER:#POSTGRES_PASSWORD@pocketidpostgres-db:5432/#POSTGRES_DB"
|
||||
}
|
||||
}
|
99
pocketid/service-pocketid.json
Normal file
99
pocketid/service-pocketid.json
Normal file
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"main": {
|
||||
"SERVICE_NAME": "pocketid",
|
||||
"DOMAIN": "#DOMAIN"
|
||||
},
|
||||
"containers": [
|
||||
{
|
||||
"IMAGE": "alpine:latest",
|
||||
"UPDATE": "true",
|
||||
"NAME": "pocketid-init",
|
||||
"NETWORK": "host",
|
||||
"MEMORY": "64M",
|
||||
"VOLUMES": [
|
||||
{
|
||||
"SOURCE": "USER_DATA",
|
||||
"DEST": "/etc/user/data",
|
||||
"TYPE": "rw"
|
||||
}
|
||||
],
|
||||
"EXTRA": "--rm",
|
||||
"DEPEND": "null",
|
||||
"START_ON_BOOT": "false",
|
||||
"ENTRYPOINT": "sh -c",
|
||||
"CMD": "mkdir -p /mkdir -p /etc/user/data/pocketid/db",
|
||||
"PRE_START": "null",
|
||||
"POST_START": "null"
|
||||
},
|
||||
{
|
||||
"IMAGE": "postgres:16-alpine",
|
||||
"NAME": "pocketidpostgres-db",
|
||||
"UPDATE": "true",
|
||||
"ROLES": "postgres-db patroni",
|
||||
"MEMORY": "256M",
|
||||
"NETWORK": "pocketid-net",
|
||||
"SELECTOR": "pocketidpostgres-db",
|
||||
"VOLUMES": [
|
||||
{
|
||||
"SOURCE": "/etc/user/data/pocketid/postgresql",
|
||||
"DEST": "/var/lib/postgresql/data",
|
||||
"TYPE": "rw"
|
||||
}
|
||||
],
|
||||
"PORTS": [
|
||||
{
|
||||
"SOURCE": "null",
|
||||
"DEST": "5432",
|
||||
"TYPE": "tcp"
|
||||
}
|
||||
],
|
||||
"ENV_FILES": [
|
||||
"/etc/user/secret/pocketid/pocketid.json"
|
||||
],
|
||||
"ENVS": [
|
||||
{
|
||||
"POSTGRES_INITDB_ARGS": "--encoding=UTF8 --locale=C"
|
||||
}
|
||||
],
|
||||
"EXTRA": "--label logging=promtail_user --label logging_jobname=containers --restart unless-stopped",
|
||||
"DEPEND": "null",
|
||||
"START_ON_BOOT": "false",
|
||||
"CMD": "null",
|
||||
"PRE_START": [],
|
||||
"POST_START": []
|
||||
},
|
||||
{
|
||||
"IMAGE": "stonith404/pocket-id",
|
||||
"UPDATE": "true",
|
||||
"NAME": "pocketidapp",
|
||||
"DNS": [
|
||||
"coredns"
|
||||
],
|
||||
"MEMORY": "256M",
|
||||
"SELECTOR": "pocketid-app",
|
||||
"NETWORK": "pocketid-net",
|
||||
"VOLUMES": [],
|
||||
"PORTS": [
|
||||
{
|
||||
"SOURCE": "null",
|
||||
"DEST": "3000",
|
||||
"TYPE": "tcp"
|
||||
}
|
||||
],
|
||||
"EXTRA": "--label logging=promtail_user --label logging_jobname=containers --restart unless-stopped",
|
||||
"ENV_FILES": [
|
||||
"/etc/user/secret/pocketid/pocketid.json"
|
||||
],
|
||||
"DEPEND": [],
|
||||
"START_ON_BOOT": "true",
|
||||
"CMD": "null",
|
||||
"PRE_START": "null",
|
||||
"POST_START": [
|
||||
"firewall-pocketid",
|
||||
"firewall-pocketid-dns",
|
||||
"firewall-pocketid-smtp",
|
||||
"domain-pocketid"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
43
pocketid/template.json
Normal file
43
pocketid/template.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "Pocketid",
|
||||
"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.",
|
||||
"fields": [
|
||||
{
|
||||
"description": "Domain",
|
||||
"key": "DOMAIN",
|
||||
"value": "",
|
||||
"required": "true"
|
||||
},
|
||||
{
|
||||
"description": "Postgres database name",
|
||||
"key": "POSTGRES_DB",
|
||||
"value": "",
|
||||
"required": "true",
|
||||
"generated": ""
|
||||
},
|
||||
{
|
||||
"description": "Postgres username",
|
||||
"key": "POSTGRES_USER",
|
||||
"value": "",
|
||||
"required": "true",
|
||||
"generated": "time|md5|8"
|
||||
},
|
||||
{
|
||||
"description": "Postgres password for user",
|
||||
"key": "POSTGRES_PASSWORD",
|
||||
"value": "",
|
||||
"required": "true",
|
||||
"generated": "random|md5|12"
|
||||
},
|
||||
{
|
||||
"description": "Postgres root user password",
|
||||
"key": "POSTGRES_ROOT_PASSWORD",
|
||||
"value": "",
|
||||
"required": "true",
|
||||
"generated": "random|sha256|20"
|
||||
}
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user