v1.2.7featuresecurity25 updatesCopy link
New
Free app addresses on every install.
New apps get a free subdomain on your apps domain with no setup: set one with
--apps-domain apps.example.comwhen installing, withsudo synq apps-domain set apps.example.com, or in Settings, Instance (add a wildcard DNS record*.apps.example.compointing at the server). Without one, a panel on a domain uses that domain, and a panel on an IP address gives apps<app>.<ip-with-dashes>.sslip.ioaddresses that work with no DNS at all. HTTPS certificates are requested on the first deploy.Replicas and autoscaling.
Run 1 to 20 copies of an app on one server with the traffic spread across them, and scale without rebuilding. Turn on autoscaling to add a copy when CPU (or memory) stays above your target for 2 minutes and remove one after 10 quiet minutes, within your minimum and maximum and only when the server has the memory for it. Every change is shown on the app, in the audit log and as an "App autoscaled" notification.
Build servers.
Let a server build for others, then pick "Build on" in a project's settings: the image is built there with the same builders and secrets handling, checked, and handed to the deploy server over Synq's own connections, so heavy builds don't slow production.
More backup destinations:
FTP and FTPS, Dropbox and Google Drive (with your own Dropbox app or Google OAuth client; Synq walks you through connecting).
WordPress toolkit.
On sites running the official WordPress image: update core, plugins and themes (backing up first), change the site's address with a dry run first, reset an admin password, maintenance and debug modes, cache flush, and PHP limits such as upload size and memory.
Box: VS Code in the browser.
A new template with a password-protected editor, the runtimes you pick (Node, Bun, Python, Go), an optional repository to clone, and one click to expose a dev server's port on its own domain.
Give the panel a domain after installing.
On a server installed without one (
http://<IP>:3001),sudo synq panel-domain panel.example.com --email you@example.commoves the panel tohttps://panel.example.com: it checks DNS, issues the Let's Encrypt certificate while the panel keeps its current address, then switches, and goes back to the old address if the new one doesn't come up. The same command moves the panel from one domain to another.Reach a database from your own computer.
A database's connection card has an External access switch: Synq publishes its port on the server (pick one or let Synq choose) and shows the external connection URL and CLI command. Your cloud firewall (an AWS security group, say) still has to allow the port. For testing without opening a port, the card also gives an SSH tunnel command.
Change a database's password in place.
PostgreSQL, MySQL, MariaDB, MongoDB, Redis, Valkey, KeyDB, Dragonfly, ClickHouse and RabbitMQ. Synq runs the engine's own command inside the container, checks the new password logs in (and, where it can, that the old one no longer does), puts the old one back if anything fails, then updates the service's settings and every linked app's connection variables and offers to redeploy them. Owners and admins only; the password never appears on a command line or in logs.
One-click admin UI for databases.
Pgweb, phpMyAdmin, mongo-express or Redis Commander, wired to the database with its credentials and reachable through an SSH tunnel only. RabbitMQ's management UI and ClickHouse Play are offered the same way.
Log history.
The logs page has a History tab next to Live: pick a time range (15 minutes to 7 days, or custom), filter by stdout or stderr, level and text, one service at a time. New containers keep more log history (5 files of 20 MB each).
Notes
On each project and each service, in Markdown, from the Overview tab, the API, MCP or
synq project notes/synq service notes.Built-in variables.
Write
$(PROJECT_NAME),$(SERVICE_NAME),$(PRIMARY_DOMAIN),$(PUBLIC_URL),$(GIT_SHA),$(GIT_SHORT_SHA),$(GIT_BRANCH),$(DEPLOYMENT_ID)or$(PROJECT_ID)inside an environment variable and Synq fills it in at deploy time. Running apps also get them asSYNQ_*variables unless you set the same names yourself.Cloudflare Tunnel, managed by Synq.
Connect a Cloudflare API token to a server, pick or create a tunnel, and Synq runs cloudflared there. Route any domain through the tunnel from its menu: Synq adds the tunnel rule and the DNS record (asking before it replaces an existing record), and Cloudflare serves its certificate. Useful for servers without a public IP or open ports.
Reboot a server
From its page (admins only, with an extra confirmation for the server Synq itself runs on).
GPU access
Per service: all GPUs or a number of them, checked before the deploy starts.
Named manual backups,
And a storage class for S3 backup destinations (Standard, Infrequent Access, Intelligent-Tiering, Glacier Instant Retrieval and more).
Uploads accept more archive formats:
.Tar.bz2, .tar.xz and .tar.zst, next to .zip, .tar and .tar.gz.
Builder packages:
Extra system packages for Nixpacks, Railpack and Buildpacks builds from the project's builder settings.
Templates:
OpenClaw and Hermes Agent.
Changes
- New PostgreSQL services start on version 18.
- Folder deploys (
synq deploy --folder --name <name>) name the project after--nameand reuse it on a retry instead of leaving extra projects behind. - Deploys on your own server never ask for a hosted cloud connection, and an old free subdomain Synq can't serve is moved onto your apps domain (or removed) with a line in the deploy log instead of blocking the deploy.
- New personal access tokens start with
synq_pat_. Tokens created before keep working everywhere (API, CLI logins, MCP clients) until they expire or are revoked; nothing needs to be recreated. The helper Synq keeps on your servers uses Synq's name
The command journal is
~/.synq/bin/synq-run, and the old copy is removed the first time Synq runs a command on that server after the update.