{ "module": "baserow", "version": "1", "capabilities": [ "container-runtime" ], "requires": [ "postgres-database", "redis-cache" ], "contributes": { "postgres-database": { "name": "baserow" } }, "binds": { "postgres-database": "/var/lib/baserow/database.json", "redis-cache": "/var/lib/baserow/redis.json" }, "secrets": { "postgres-database": "/var/lib/baserow/database.secret", "redis-cache": "/var/lib/baserow/redis.secret" }, "own-secrets": { "secret-key": "/var/lib/baserow/secret-key.secret", "broker": "/var/lib/mesh/baserow/broker" }, "listens": [ { "port": 80, "protocol": "tcp", "from": "mesh", "why": "the Baserow web UI and REST API; a public name is a route grant later" } ], "resources": [ { "id": "mesh-state", "type": "directory", "path": "/var/lib/mesh/baserow", "mode": "0700" }, { "id": "state", "type": "directory", "path": "/var/lib/baserow", "mode": "0700" }, { "id": "data", "type": "directory", "path": "/services/baserow/data", "mode": "0700", "owner": "9999:9999" }, { "id": "server-env", "type": "file", "path": "/var/lib/baserow/server.env", "mode": "0600", "content": "DATABASE_HOST=${bound:postgres-database:at}\nDATABASE_PORT=${bound:postgres-database:port}\nDATABASE_NAME=${bound:postgres-database:as}\nDATABASE_USER=${bound:postgres-database:as}\nDATABASE_PASSWORD=${secret:postgres-database}\nREDIS_HOST=${bound:redis-cache:at}\nREDIS_PORT=${bound:redis-cache:port}\nREDIS_PROTOCOL=redis\nREDIS_PASSWORD=${secret:redis-cache}\nSECRET_KEY=${secret:secret-key}\nBASEROW_PUBLIC_URL=http://localhost\n" }, { "id": "net", "type": "network", "name": "baserow" }, { "id": "server", "type": "container", "name": "baserow", "image": "baserow/baserow@sha256:834424a10413798567f76428f255dc259445b7f8dcec56598c05b4073bb2a124", "network": "baserow", "env-file": [ "/var/lib/baserow/server.env" ], "ports": [ "80" ], "volumes": [ "/services/baserow/data:/baserow/data" ] }, { "id": "runtime-config", "type": "file", "path": "/var/lib/mesh/baserow/config.json", "mode": "0600", "content": "{}\n", "merge": "json" }, { "id": "runtime", "type": "container", "name": "mesh-baserow", "image": "mesh-runtime-baserow@sha256:0000000000000000000000000000000000000000000000000000000000000000", "network": "baserow", "volumes": [ "/var/lib/mesh/baserow/broker:/run/secrets/broker:ro", "/var/lib/mesh/baserow/config.json:/run/config/config.json:ro" ], "env": { "MESH_BROKER_FILE": "/run/secrets/broker", "MESH_BASEROW_URL": "http://baserow:80", "MESH_BASEROW_CONFIG_FILE": "/run/config/config.json" }, "restart-on": [ "runtime-config" ] } ] }