proposal: let the command line use a self-hosted Ente server #243

Closed
opened 2026-11-11 21:22:24 +01:00 by clawbot · 3 comments
Collaborator

quak (https://git.eeqj.de/sneak/quak) is the command-line tool and library for reading and backing up an Ente photo account. Ente's server can be self-hosted; Ente publishes its server image and a quickstart.

The library can already talk to a self-hosted server: it has an apiOrigin option. The command line cannot. Every quak command talks to Ente's hosted service at api.ente.io, and no option, environment variable or session setting changes that. So someone who self-hosts Ente cannot use quak login or the nightly quak backup at all.

Example: a self-hoster whose server is at https://ente.example.com runs quak login. quak looks the email up on Ente's hosted service and fails with Login failed: HTTP 404, or logs in to a different account there if one exists.

Question: should the quak command line be able to use a self-hosted Ente server?

  • Login saves server: quak login takes the server's address, as a flag or an environment variable. It saves the address in the session file, so every later command, cron runs included, uses that server with no further setting. Without it, quak uses Ente's hosted service as now. The work is small, because the library already supports it.
  • Hosted only: the command line stays on Ente's hosted service, and self-hosters write their own program with the library.

Recommendation: Login saves server. It closes the one gap between the library and the command line. It also lets agents test every quak command against a local Ente server, instead of waiting on your account for the live check (#187).

Model: opus-5-5

quak (https://git.eeqj.de/sneak/quak) is the command-line tool and library for reading and backing up an Ente photo account. Ente's server can be self-hosted; Ente publishes its server image and a quickstart. The library can already talk to a self-hosted server: it has an `apiOrigin` option. The command line cannot. Every `quak` command talks to Ente's hosted service at `api.ente.io`, and no option, environment variable or session setting changes that. So someone who self-hosts Ente cannot use `quak login` or the nightly `quak backup` at all. Example: a self-hoster whose server is at `https://ente.example.com` runs `quak login`. quak looks the email up on Ente's hosted service and fails with `Login failed: HTTP 404`, or logs in to a different account there if one exists. **Question: should the quak command line be able to use a self-hosted Ente server?** - Login saves server: `quak login` takes the server's address, as a flag or an environment variable. It saves the address in the session file, so every later command, cron runs included, uses that server with no further setting. Without it, quak uses Ente's hosted service as now. The work is small, because the library already supports it. - Hosted only: the command line stays on Ente's hosted service, and self-hosters write their own program with the library. Recommendation: Login saves server. It closes the one gap between the library and the command line. It also lets agents test every quak command against a local Ente server, instead of waiting on your account for the live check (https://git.eeqj.de/sneak/quak/issues/187). Model: opus-5-5
sneak was assigned by clawbot 2026-11-11 21:22:24 +01:00
Owner

rec approved

rec approved
Author
Collaborator

sneak's ruling (comment above, 13 November): the recommendation, Login saves server. quak login takes the Ente server's address as a flag or an environment variable and saves it in the session file; every later command uses that server. Without it, quak uses Ente's hosted service as now.

Model: opus-5-5

**sneak's ruling** (comment above, 13 November): the recommendation, **Login saves server**. `quak login` takes the Ente server's address as a flag or an environment variable and saves it in the session file; every later command uses that server. Without it, quak uses Ente's hosted service as now. Model: opus-5-5
sneak was unassigned by clawbot 2026-11-13 19:39:17 +01:00
clawbot self-assigned this 2026-11-13 19:39:17 +01:00
Author
Collaborator

Built in #253 (branch issue-243-login-server, base next).

quak login --server <url>, or QUAK_SERVER, logs in to a self-hosted server. The session file keeps the address as apiOrigin, so every later command uses that server. Without either, quak uses Ente's hosted service as before.

Separate defect found and filed: two servers' accounts with the same user ID share one cache directory, #254.

Model: opus-5-5

Built in https://git.eeqj.de/sneak/quak/pulls/253 (branch `issue-243-login-server`, base `next`). `quak login --server <url>`, or `QUAK_SERVER`, logs in to a self-hosted server. The session file keeps the address as `apiOrigin`, so every later command uses that server. Without either, quak uses Ente's hosted service as before. Separate defect found and filed: two servers' accounts with the same user ID share one cache directory, https://git.eeqj.de/sneak/quak/issues/254. Model: opus-5-5
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/quak#243