Convert only-office, n8n, de-spiegel to nox modules
Mirror the proven converted modules: pure manifests, no runtime. - only-office: owned onlyoffice/documentserver container, generated JWT own-secret, public route office.novox.be. Analog: gitea/hello-web. - n8n: consumes mesh postgres-database + redis-cache providers instead of bundling them, owned container, public route n8n.novox.be. Analog: baserow (postgres+redis) + hello-web (route). - de-spiegel: owned container built from its own repo image, public route de-spiegel.novox.be, given SMTP own-secrets. Analog: hello-web/invoicing.
This commit is contained in:
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"module": "only-office",
|
||||
"version": "1",
|
||||
"capabilities": [
|
||||
"container-runtime"
|
||||
],
|
||||
"requires": [
|
||||
"route"
|
||||
],
|
||||
"contributes": {
|
||||
"route": {
|
||||
"name": "office.novox.be",
|
||||
"port": 9070
|
||||
}
|
||||
},
|
||||
"binds": {
|
||||
"route": "/var/lib/only-office/route.json"
|
||||
},
|
||||
"own-secrets": {
|
||||
"jwt": "/var/lib/only-office/jwt.secret"
|
||||
},
|
||||
"listens": [
|
||||
{
|
||||
"port": 9070,
|
||||
"protocol": "tcp",
|
||||
"from": "mesh",
|
||||
"why": "the document server over http; the public name office.novox.be is a route grant, and route-proxy reaches it on this published port"
|
||||
}
|
||||
],
|
||||
"resources": [
|
||||
{
|
||||
"id": "state",
|
||||
"type": "directory",
|
||||
"path": "/var/lib/only-office",
|
||||
"mode": "0700"
|
||||
},
|
||||
{
|
||||
"id": "server-env",
|
||||
"type": "file",
|
||||
"path": "/var/lib/only-office/server.env",
|
||||
"mode": "0600",
|
||||
"content": "JWT_ENABLED=true\nJWT_SECRET=${secret:jwt}\nJWT_HEADER=Authorization\nJWT_IN_BODY=true\nALLOW_PRIVATE_IP_ADDRESS=true\n"
|
||||
},
|
||||
{
|
||||
"id": "logs",
|
||||
"type": "directory",
|
||||
"path": "/services/only-office/logs",
|
||||
"mode": "0700"
|
||||
},
|
||||
{
|
||||
"id": "data",
|
||||
"type": "directory",
|
||||
"path": "/services/only-office/data",
|
||||
"mode": "0700"
|
||||
},
|
||||
{
|
||||
"id": "lib",
|
||||
"type": "directory",
|
||||
"path": "/services/only-office/lib",
|
||||
"mode": "0700"
|
||||
},
|
||||
{
|
||||
"id": "db",
|
||||
"type": "directory",
|
||||
"path": "/services/only-office/db",
|
||||
"mode": "0700"
|
||||
},
|
||||
{
|
||||
"id": "rabbitmq",
|
||||
"type": "directory",
|
||||
"path": "/services/only-office/rabbitmq",
|
||||
"mode": "0700"
|
||||
},
|
||||
{
|
||||
"id": "redis",
|
||||
"type": "directory",
|
||||
"path": "/services/only-office/redis",
|
||||
"mode": "0700"
|
||||
},
|
||||
{
|
||||
"id": "fonts",
|
||||
"type": "directory",
|
||||
"path": "/services/only-office/fonts",
|
||||
"mode": "0700"
|
||||
},
|
||||
{
|
||||
"id": "net",
|
||||
"type": "network",
|
||||
"name": "only-office"
|
||||
},
|
||||
{
|
||||
"id": "server",
|
||||
"type": "container",
|
||||
"name": "only-office",
|
||||
"image": "onlyoffice/documentserver@sha256:3ab6ebc7c605e5a32b7ae3ff19daed4925090245acc8100ce2230bd766c88212",
|
||||
"network": "only-office",
|
||||
"env-file": [
|
||||
"/var/lib/only-office/server.env"
|
||||
],
|
||||
"ports": [
|
||||
"9070:80"
|
||||
],
|
||||
"volumes": [
|
||||
"/services/only-office/logs:/var/log/onlyoffice",
|
||||
"/services/only-office/data:/var/www/onlyoffice/Data",
|
||||
"/services/only-office/lib:/var/lib/onlyoffice",
|
||||
"/services/only-office/db:/var/lib/postgresql",
|
||||
"/services/only-office/rabbitmq:/var/lib/rabbitmq",
|
||||
"/services/only-office/redis:/var/lib/redis",
|
||||
"/services/only-office/fonts:/usr/share/fonts/truetype/custom"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user