Skip to content

Squorli Server 0.8.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 22:00
· 13 commits to main since this release

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_MAX and DB_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_IP is 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_MB bounds 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_MAX bounds 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_MAX bounds 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/ready answers 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/health keeps answering as before, so the sign-in page stays up.
  • DB_POOL_MAX sets 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_IP set, or LIVEKIT_PUBLIC_URL naming another machine than PUBLIC_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_FACTOR now 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/