Squorli Server 0.8.0
Limits for a server that is run for other people, a readiness route for proxies and schedulers, and a directory registration that no longer waits for somebody to sign in before it tries again.
Before you update
- Nothing to do by hand: no migration, no deploy file to fetch again. Installations with automatic updates take this version by themselves.
- Four new variables, all optional:
STORAGE_QUOTA_MB,VOICE_SEATS_MAX,MEMBER_MAXandDB_POOL_MAX(default 10, the fixed value until now). Leave them unset and nothing changes. A Portainer stack gets them under "Environment variables" if you want them; the stack file names them. LIVEKIT_NODE_IPis now read by the app server too (for the setup check). Compose and the Portainer stack pass it already; nothing to change.- Desktop app 0.11.0 follows this release with the new section in the administration and the leave sound when the app is closed in a voice channel. Older apps keep working; they show the new refusals as bare codes instead of sentences.
- No newer Squorli Directory is needed.
New
- Limits for a server run for other people (Administration > Server > Limits).
STORAGE_QUOTA_MBbounds every file the server keeps: attachments, link preview pictures, copies in reports, avatars of server accounts, the server icon; an upload past it is refused with "storage full", a preview then comes without its picture.VOICE_SEATS_MAXbounds how many people sit in voice channels at the same time, the whole server; the next one is told that every seat is taken.MEMBER_MAXbounds how many members the server admits; a new member is told the server takes no more, the owner is never refused and no invitation is used up by the refusal. Each limit is off until it is set. The new section shows what is in use against each limit and the size per file; the values come from the configuration and cannot be changed there. GET /api/readyanswers 200 only while the database answers, else 503. For a proxy or a scheduler that should route nothing to an instance that is not ready./api/healthkeeps answering as before, so the sign-in page stays up.DB_POOL_MAXsets how many PostgreSQL connections the server holds open (default 10, as before). 4 is plenty for a small server; many servers on one PostgreSQL add up.
Improved
- The registration at the directory tries again by itself. Until now a failed registration at the start (behind a proxy that lets traffic through only once the server is ready, for example) stayed failed until somebody signed in. Now the server tries again after 5 seconds, then later and later, up to every 5 minutes, and waits what the directory asks for when it is busy. Many servers starting at the same moment spread their first attempt over three seconds.
- The setup check probes the media port at the media node's address. With
LIVEKIT_NODE_IPset, orLIVEKIT_PUBLIC_URLnaming another machine thanPUBLIC_DOMAIN, the check no longer looks at the wrong host. - A refused upload says why. A file that is too large, or a server whose storage is full, gets a sentence with the file's name instead of the bare request line.
RATE_LIMIT_FACTORnow also scales the per-address limits of server accounts (registrations, backup parameters, backup fetches), as documented for every rate limit.
Image: ghcr.io/danielklessa/squorli-server:v0.8.0 (also :latest). Update an installation made with the install script: squorli backup, then squorli update; with Compose by hand: set APP_IMAGE=ghcr.io/danielklessa/squorli-server:v0.8.0 in .env, then docker compose pull and up -d. Windows without Docker: the package squorli-server-0.8.0-windows-x64.zip below, with its .sha256 file; update an installation with squorli update in a window opened as administrator (it backs up first). Database migrations run by themselves at the start and cannot be undone: back up first. Guide: https://squorli.com/en/docs/install/