feat(instance): data locations as precise as a country or a state

halkyon_shared's 96f2d14: an operator's DATA_LOCATION and
BACKUP_LOCATION may name a subdivision (ISO 3166-2, US-CA, DE-BY)
besides the EU or a country, and the app adds "(EU)" to a member
country and the country to a subdivision ("Germany (EU)", "California,
United States") under the most specific flag there is. deploy/.env and
the backups' guide say so; a Storage Box is named by its country now.
The package registers its notices (the flags, CLDR's subdivision
names); Learn's own CLDR notice for the world map stays, its
registration renamed to say so.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-19 19:04:39 +02:00
commit 23e4645d55
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64
3 changed files with 31 additions and 26 deletions

View file

@ -82,9 +82,12 @@ SOURCE_URL=
JELLYFIN_URL=
# Where this instance keeps people's data, and its backups, which the app shows as a flag
# and in words when someone chooses an instance: a country's code (ISO 3166-1 alpha-2,
# `CH`) or `EU`; for the backups also `none`. Where the disks are, not which law governs
# you as the operator: claim only that. Empty: the app says nothing.
# and in words when someone chooses an instance: `EU`, a country's code (ISO 3166-1
# alpha-2, `DE`, `CH`) or a subdivision's (ISO 3166-2, `DE-BY`, `US-CA`); for the backups
# also `none`. As precise as you know: the app adds "(EU)" to a member country and the
# country to a subdivision ("Germany (EU)", "California, United States"). Where the disks
# are, not which law governs you as the operator: claim only that. Empty: the app says
# nothing.
DATA_LOCATION=
BACKUP_LOCATION=

View file

@ -49,9 +49,9 @@ Once, in this order. The commands name who runs them, and where.
### 1. The Storage Box (you, in Hetzner Console)
1. Create a Storage Box (BX11, 1 TB, is plenty) in any location (Germany and Finland are
1. Create a Storage Box (BX11, 1 TB, is plenty) in any location (Germany or Finland, both
in the EU; the app shows where, from `BACKUP_LOCATION` in `deploy/.env`, so set it to
the box's: `EU` there), with a password, which
the box's country: `DE` or `FI`, shown as "Germany (EU)"), with a password, which
goes into your password manager. Turn on **SSH Support** (port 23, which restic uses)
and **External Reachability**: without it, the box only answers inside Hetzner's
network. Samba and WebDAV stay off; FTP and SFTP on port 22 can't be turned off.

View file

@ -82,8 +82,8 @@ services:
# The Jellyfin server suggested to people; empty: jellyfin. on the
# instance's own domain, if one answers there; `none`: none.
JELLYFIN_URL: ${JELLYFIN_URL:-}
# Where people's data and the backups are, which the app shows; empty:
# it says nothing.
# Where people's data and the backups are, which the app shows: `EU`, a
# country (`DE`) or a subdivision (`US-CA`); empty: it says nothing.
DATA_LOCATION: ${DATA_LOCATION:-}
BACKUP_LOCATION: ${BACKUP_LOCATION:-}
# How much room people's files may take, in MiB; empty: the defaults.