Files
templates/blueprints/powersync/template.toml

28 lines
1.8 KiB
TOML
Executable File

[variables]
main_domain = "${domain}"
# Your PostgreSQL connection string. PowerSync connects directly to replicate + sync.
# Must have logical replication enabled (wal_level=logical).
data_source_uri = "postgresql://user:password@host:5432/db?sslmode=require"
# Auto-generated admin token for API access.
admin_token = "${password:32}"
[config]
[[config.domains]]
serviceName = "powersync"
port = 8080
host = "${main_domain}"
[config.env]
# PowerSync listens on port 8080 internally. Dokproxy/Traefik handles HTTPS.
PS_PORT = "8080"
# Source + bucket storage URI. PowerSync uses PostgreSQL for both.
PS_DATA_SOURCE_URI = "${data_source_uri}"
# Secret token for the admin API (used in Authorization header).
PS_ADMIN_TOKEN = "${admin_token}"
# NODE_OPTIONS --max-old-space-size=1000 limits memory to ~1GB
NODE_OPTIONS = "--max-old-space-size=1000"
# Base64-encoded PowerSync service config.
# Contains replication, storage, auth, and sync rules — all via !env PS_* vars.
# Decode with: echo '<base64>' | base64 -d
POWERSYNC_CONFIG_B64 = "dGVsZW1ldHJ5OgogIGRpc2FibGVfdGVsZW1ldHJ5X3NoYXJpbmc6IHRydWUKcmVwbGljYXRpb246CiAgY29ubmVjdGlvbnM6CiAgICAtIHR5cGU6IHBvc3RncmVzcWwKICAgICAgdXJpOiAhZW52IFBTX0RBVEFfU09VUkNFX1VSSQogICAgICBzc2xtb2RlOiBkaXNhYmxlCnN0b3JhZ2U6CiAgdHlwZTogcG9zdGdyZXNxbAogIHVyaTogIWVudiBQU19EQVRBX1NPVVJDRV9VUkkKcG9ydDogIWVudiBQU19QT1JUCnN5bmNfY29uZmlnOgogIGNvbnRlbnQ6IHwKICAgIGNvbmZpZzoKICAgICAgZWRpdGlvbjogMwogICAgc3RyZWFtczoKICAgICAgZ2xvYmFsOgogICAgICAgIGF1dG9fc3Vic2NyaWJlOiB0cnVlCiAgICAgICAgcXVlcmllczoKICAgICAgICAgIC0gU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVzIFdIRVJFIHRhYmxlX3NjaGVtYSA9ICdwdWJsaWMnCmNsaWVudF9hdXRoOgogIGF1ZGllbmNlOiBbInBvd2Vyc3luYyJdCmFwaToKICB0b2tlbnM6CiAgICAtICFlbnYgUFNfQURNSU5fVE9LRU4Kc3lzdGVtOgogIGxvZ2dpbmc6CiAgICBsZXZlbDogaW5mbwogICAgZm9ybWF0OiB0ZXh0Cg=="