English copy — BATCH 1 of 3: 17 apps, 319 strings (R-560 slice 5)
gates / gates (push) Failing after 2s
gates / gates (push) Failing after 2s
adventurelog, bentopdf, bookstack, calcom, calibre-web, ghost, grafana,
home-assistant, homebox, homepage, n8n, nextcloud, outline, papra, radarr,
sparkyfitness, wanderer. EN_MISSING_CEILING 943 -> 624.
No Hungarian byte moved; no image, pin, catalog_since or compose line changed.
The blocks are GENERATED from a flat {path: english} map rather than hand-written:
fifty nested blocks whose keys must match the Hungarian exactly is fifty chances to
mistype an env_var, and a mistyped key is INERT on the box rather than an error, so
nobody would learn. The generator builds from the same flat paths the freeze uses,
derived from the Hungarian file itself, so an invented key cannot be written.
One string is deliberately untranslated: papra's AUTH_SECRET description is a
Hungarian DEFECT (it describes a session-signing key as "the app's subdomain").
Translating it faithfully would ship the error in a second language; changing the
Hungarian is forbidden in a localisation release. It falls back, papra stands at
13/14, and the ceiling's floor is 1 until R-593 is fixed — stated in the ceiling's
own comment so a later batch does not "fix" it by editing Hungarian.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -1,3 +1,27 @@
|
||||
## English copy — BATCH 1 of 3: 17 apps (2026-09-20, R-560 slice 5)
|
||||
|
||||
Operator said go on the pilot's tone, so the other fifty follow it. No image, no pin, no
|
||||
`catalog_since`, no compose line changed; **not one Hungarian byte moved** — the freeze gate proves
|
||||
it on all 53 apps on every push.
|
||||
|
||||
adventurelog, bentopdf, bookstack, calcom, calibre-web, ghost, grafana, home-assistant, homebox,
|
||||
homepage, n8n, nextcloud, outline, papra, radarr, sparkyfitness, wanderer — **319 strings**.
|
||||
`EN_MISSING_CEILING` 943 → 624.
|
||||
|
||||
**The blocks are GENERATED from a flat `{path: english}` map, not hand-written**, and that is a
|
||||
decision rather than a convenience: fifty nested blocks whose keys must match the Hungarian side
|
||||
exactly is fifty chances to mistype an `env_var`, and **a mistyped key is INERT on the box rather
|
||||
than an error** — the translator would never learn. The generator builds from the same flat paths
|
||||
the freeze uses, which are derived from the Hungarian file itself, so a key that does not exist on
|
||||
the Hungarian side cannot be written at all.
|
||||
|
||||
**One string was deliberately NOT translated.** papra's `deploy_fields[AUTH_SECRET].description`
|
||||
reads „Az alkalmazás aldomainje" — the sentence that belongs on `SUBDOMAIN`, sitting on a
|
||||
session-signing key. A localisation release may not change Hungarian bytes, and translating a wrong
|
||||
sentence faithfully would ship the error in a second language. So it falls back to the Hungarian,
|
||||
papra stands at 13/14, and **the ceiling's floor is 1 until R-593 is fixed** — written into the
|
||||
ceiling's own comment so the last batch does not quietly "fix" it by editing Hungarian.
|
||||
|
||||
## English copy — the PILOT: privatebin, paperless-ngx, romm (2026-09-20, R-560 slice 5)
|
||||
|
||||
No image, no pin, no `catalog_since`, no compose line changed. Three apps gained an `i18n: en:`
|
||||
|
||||
@@ -67,8 +67,14 @@ SUPPORTED_LANGS = ("en",)
|
||||
# and HU_FORMAL_CEILING.
|
||||
#
|
||||
# Measured on 94bc5febaca2, before any translation: 1 032 copy strings, none with English.
|
||||
# 1032 → 943 (pilot: privatebin, paperless-ngx, romm) → (batch 1) → (batch 2) → 0
|
||||
EN_MISSING_CEILING = 943
|
||||
# 1032 → 943 (pilot) → 624 (batch 1, 17 apps) → (batch 2) → (batch 3)
|
||||
#
|
||||
# THE FLOOR IS 1, NOT 0, UNTIL R-593 IS FIXED. papra's `deploy_fields[AUTH_SECRET].description`
|
||||
# is a Hungarian DEFECT — it describes a session-signing key as „the app's subdomain". A
|
||||
# localisation release may not change Hungarian bytes, and translating a wrong sentence faithfully
|
||||
# would ship the error in a second language, so that ONE field is deliberately left untranslated
|
||||
# and falls back to the Hungarian. Fixing R-593 is what lets this reach 0.
|
||||
EN_MISSING_CEILING = 624
|
||||
|
||||
# ── What counts as COPY ──────────────────────────────────────────────────────────────────────────
|
||||
#
|
||||
|
||||
@@ -79,3 +79,34 @@ healthcheck:
|
||||
path: "/api/"
|
||||
expect:
|
||||
status: 200
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'Travel journal and trip planner'
|
||||
app_info:
|
||||
tagline: 'Travel journal - keep your trips with a map and photos'
|
||||
use_cases:
|
||||
- 'Keep your trips with pictures and notes'
|
||||
- 'See everywhere you have been on a map'
|
||||
- 'Plan and organise trips before you go'
|
||||
- 'Statistics - the countries and cities you have visited'
|
||||
- 'Share your adventures with family and friends'
|
||||
first_steps:
|
||||
- 'Open travel.DOMAIN in your browser'
|
||||
- 'Create your account'
|
||||
- 'Add your first trip'
|
||||
- 'Mark the places you have been on the map'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
- env_var: DB_PASSWORD
|
||||
label: 'Database password'
|
||||
- env_var: SECRET_KEY
|
||||
label: 'Encryption key'
|
||||
|
||||
@@ -58,3 +58,29 @@ healthcheck:
|
||||
checks:
|
||||
- type: http
|
||||
port: 8080
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'A privacy-first PDF toolbox'
|
||||
app_info:
|
||||
tagline: 'A privacy-first PDF toolbox - your files never leave your own server'
|
||||
use_cases:
|
||||
- 'Merge, split and rotate PDFs'
|
||||
- 'Convert PDFs to images and images to PDFs'
|
||||
- 'Password protection and encryption'
|
||||
- 'Add a watermark to a document'
|
||||
- 'Everything happens on your own server - no file goes to an outside service'
|
||||
first_steps:
|
||||
- 'Open pdf.DOMAIN in your browser'
|
||||
- 'Choose what you want to do'
|
||||
- 'Upload the PDF and start it'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
|
||||
@@ -73,3 +73,36 @@ healthcheck:
|
||||
checks:
|
||||
- type: http
|
||||
port: 80
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'A simple, book-shaped wiki and documentation platform'
|
||||
app_info:
|
||||
tagline: 'A simple wiki platform - shelves, books, chapters and pages'
|
||||
default_creds: 'admin@admin.com / password'
|
||||
use_cases:
|
||||
- 'A family knowledge base - recipes, manuals, house rules'
|
||||
- 'Project documentation with a structure you can follow'
|
||||
- 'Book > Chapter > Page, so a large set stays readable'
|
||||
- 'Full text search and tags'
|
||||
- 'A visual editor and a Markdown editor'
|
||||
first_steps:
|
||||
- 'Open wiki.DOMAIN in your browser'
|
||||
- 'Sign in: admin@admin.com / password'
|
||||
- 'Change the admin password and e-mail address straight away'
|
||||
- 'Create your first shelf and book'
|
||||
- 'Start writing'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
- env_var: DB_PASSWORD
|
||||
label: 'Database password'
|
||||
- env_var: APP_KEY
|
||||
label: 'Application key'
|
||||
|
||||
@@ -99,3 +99,40 @@ smtp_mapping:
|
||||
from_var: EMAIL_FROM
|
||||
from_name_var: EMAIL_FROM_NAME
|
||||
from_local: calcom
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'Open source appointment booking (a Calendly alternative)'
|
||||
app_info:
|
||||
tagline: 'Appointment booking - a Calendly alternative on your own server'
|
||||
use_cases:
|
||||
- 'Give people a page where they can book time with you'
|
||||
- 'Calendar sync (Google Calendar, Outlook)'
|
||||
- 'Booking types and lengths you set yourself'
|
||||
- 'Reminder e-mails go out on their own'
|
||||
- 'Shared team calendars'
|
||||
first_steps:
|
||||
- 'Open cal.DOMAIN in your browser'
|
||||
- 'Create the admin account'
|
||||
- 'Set up a booking type (a 30 minute meeting, for example)'
|
||||
- 'Connect your calendar'
|
||||
- 'Share your booking link'
|
||||
prerequisites:
|
||||
- 'An x86 processor is needed'
|
||||
- 'At least 1 GB of free RAM (Cal.com + PostgreSQL)'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
- env_var: DB_PASSWORD
|
||||
label: 'Database password'
|
||||
- env_var: CALENDSO_ENCRYPTION_KEY
|
||||
label: 'Encryption key'
|
||||
- env_var: NEXTAUTH_SECRET
|
||||
label: 'NextAuth encryption key'
|
||||
|
||||
@@ -92,3 +92,44 @@ healthcheck:
|
||||
checks:
|
||||
- type: http
|
||||
port: 8083
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'An automated e-book library - conversion, metadata and a web reader'
|
||||
app_info:
|
||||
tagline: 'An automated e-book library - book processing, format conversion and an OPDS feed'
|
||||
default_creds: 'admin / admin123'
|
||||
use_cases:
|
||||
- 'E-books are processed on their own - just drop them in the ingest folder'
|
||||
- 'Automatic format conversion (EPUB, MOBI, PDF, AZW3)'
|
||||
- 'An OPDS feed for e-readers (Kindle, KOReader, Moon+ Reader)'
|
||||
- 'A web reader in your browser'
|
||||
- 'KOReader sync (reading position, bookmarks)'
|
||||
first_steps:
|
||||
- 'Open books.DOMAIN in your browser'
|
||||
- 'Sign in: admin / admin123'
|
||||
- 'Change the password straight away'
|
||||
- 'Drop a book into the import/calibre folder in the File manager (FileBrowser) - it is processed and filed under media/books on its own'
|
||||
prerequisites:
|
||||
- 'An external hard drive is needed to keep the e-books on'
|
||||
- 'An x86 processor is needed (CWA carries the Calibre binary)'
|
||||
- 'At least 768 MB of free RAM is recommended'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
- env_var: HDD_PATH
|
||||
label: 'E-book library path'
|
||||
description: 'The path to the external hard drive where the Calibre library lives'
|
||||
placeholder: '/mnt/felhom-drives/hdd_1'
|
||||
data_paths:
|
||||
- path: 'calibre'
|
||||
label: 'E-books to read in'
|
||||
- path: 'media/books'
|
||||
label: 'E-book library'
|
||||
|
||||
@@ -63,3 +63,32 @@ healthcheck:
|
||||
checks:
|
||||
- type: http
|
||||
port: 2368
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'A professional blog and newsletter platform'
|
||||
app_info:
|
||||
tagline: 'A professional blog and newsletter platform'
|
||||
use_cases:
|
||||
- 'Start and run a professional blog'
|
||||
- 'Send a newsletter with the built-in e-mail feature'
|
||||
- 'Publish content that search engines can read'
|
||||
- 'Memberships and paid content'
|
||||
- 'A Markdown editor and a visual one'
|
||||
first_steps:
|
||||
- 'Open blog.DOMAIN/ghost/ in your browser'
|
||||
- 'Create the admin account in the setup wizard'
|
||||
- 'Write and publish your first post'
|
||||
- 'Make the theme and the settings your own'
|
||||
prerequisites:
|
||||
- 'An x86 processor is needed'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
|
||||
@@ -72,3 +72,36 @@ healthcheck:
|
||||
path: "/api/health"
|
||||
expect:
|
||||
status: 200
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'A professional monitoring and visualisation platform'
|
||||
app_info:
|
||||
tagline: 'A visualisation platform - dashboards, graphs and alerts'
|
||||
default_creds: 'admin / (the password you set at install time)'
|
||||
use_cases:
|
||||
- 'See system numbers as graphs (CPU, RAM, network, disk)'
|
||||
- 'Build your own dashboards from several data sources'
|
||||
- 'Alerts and notifications when a number crosses a line you set'
|
||||
- 'Prometheus, InfluxDB and many more data sources'
|
||||
- 'Dashboards that look good and can be shared'
|
||||
first_steps:
|
||||
- 'Open grafana.DOMAIN in your browser'
|
||||
- 'Sign in with the admin account'
|
||||
- 'Add your data sources (Connections > Data Sources)'
|
||||
- 'Import a dashboard template, or build your own'
|
||||
prerequisites:
|
||||
- 'A data source is needed (Prometheus, for example - installed separately)'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
- env_var: GF_SECURITY_ADMIN_PASSWORD
|
||||
label: 'Admin password'
|
||||
description: 'For the first sign-in. You can change it in the app afterwards.'
|
||||
|
||||
@@ -64,3 +64,34 @@ healthcheck:
|
||||
- type: api
|
||||
port: 8123
|
||||
path: "/api/"
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'An open source smart home hub'
|
||||
app_info:
|
||||
tagline: 'A smart home hub - automation and control from one place'
|
||||
use_cases:
|
||||
- 'Run your smart home devices from one place (lights, thermostat, cameras)'
|
||||
- 'Build automations (a light that comes on with a motion sensor, for example)'
|
||||
- '2000+ integrations (Zigbee, Z-Wave, Tuya, Shelly and more)'
|
||||
- 'A dashboard for the household, on phones and tablets'
|
||||
- 'Watch what your home uses in energy'
|
||||
first_steps:
|
||||
- 'Open ha.DOMAIN in your browser'
|
||||
- 'Create the owner account during onboarding'
|
||||
- 'Look at the devices it has already found on its own'
|
||||
- 'Install integrations for your smart home devices'
|
||||
- 'Build your first automation'
|
||||
prerequisites:
|
||||
- 'Smart home devices (not required, but worth having before you install)'
|
||||
- 'Passing a Zigbee/Z-Wave USB coordinator through is not supported in Docker mode'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
|
||||
@@ -76,3 +76,32 @@ healthcheck:
|
||||
path: "/api/v1/status"
|
||||
expect:
|
||||
status: 200
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'A home inventory for your things'
|
||||
app_info:
|
||||
tagline: 'A home inventory - keep track of what you own'
|
||||
use_cases:
|
||||
- 'List and keep track of the things in your home'
|
||||
- 'Sort by location, tag and category'
|
||||
- 'Record warranties and what you paid'
|
||||
- 'Scan a barcode to add something quickly'
|
||||
- 'Build an inventory for an insurance claim'
|
||||
first_steps:
|
||||
- 'Open inventory.DOMAIN in your browser'
|
||||
- 'Create your account the first time you open it'
|
||||
- 'Add your locations (living room, kitchen, garage)'
|
||||
- 'Start adding things, with photos'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
- env_var: HBOX_AUTH_API_KEY_PEPPER
|
||||
label: 'API key pepper'
|
||||
|
||||
@@ -59,3 +59,30 @@ healthcheck:
|
||||
checks:
|
||||
- type: http
|
||||
port: 3000
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'A start page you build yourself, with service widgets'
|
||||
app_info:
|
||||
tagline: 'Your own start page - service status and widgets in one place'
|
||||
use_cases:
|
||||
- 'Every service on one page you can take in at a glance'
|
||||
- 'Widgets that show whether a service is up'
|
||||
- 'Docker integration - services are found on their own'
|
||||
- 'Bookmarks and the sites you use most'
|
||||
- 'Weather, system load and other widgets'
|
||||
first_steps:
|
||||
- 'Open home.DOMAIN in your browser'
|
||||
- 'Edit the configuration files in the homepage_config volume'
|
||||
- 'Add your services in services.yaml'
|
||||
- 'Set your widgets up in widgets.yaml'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
|
||||
@@ -70,3 +70,34 @@ healthcheck:
|
||||
path: "/healthz"
|
||||
expect:
|
||||
status: 200
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'Workflow automation with a visual editor'
|
||||
app_info:
|
||||
tagline: 'Visual workflow automation - a Zapier/IFTTT alternative'
|
||||
use_cases:
|
||||
- 'Wire apps together in a visual workflow editor'
|
||||
- 'Automate e-mail, Telegram, webhooks and file handling'
|
||||
- '400+ integrations (Google, Slack, Notion, GitHub and more)'
|
||||
- 'Scheduled jobs (cron) and webhook triggers'
|
||||
- 'AI workflows with an LLM in them'
|
||||
first_steps:
|
||||
- 'Open auto.DOMAIN in your browser'
|
||||
- 'Create the admin account'
|
||||
- 'Try a ready-made workflow from the Template gallery'
|
||||
- 'Build your first workflow of your own'
|
||||
prerequisites:
|
||||
- 'An x86 processor is needed'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
- env_var: N8N_ENCRYPTION_KEY
|
||||
label: 'Encryption key'
|
||||
|
||||
@@ -123,3 +123,49 @@ smtp_mapping:
|
||||
from_var: MAIL_FROM_ADDRESS
|
||||
from_domain_var: MAIL_DOMAIN
|
||||
from_local: nextcloud
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'Your own cloud storage - a Google Drive/Dropbox alternative'
|
||||
app_info:
|
||||
tagline: 'Your own Google Drive - files, calendar and contacts in one place'
|
||||
default_creds: 'You set the admin account details at install time'
|
||||
use_cases:
|
||||
- 'Sync and share files between your devices'
|
||||
- 'Calendar and contact sync (CalDAV/CardDAV)'
|
||||
- 'Work on a document together (with the OnlyOffice integration)'
|
||||
- 'Photos and videos upload themselves from your phone'
|
||||
- 'An app store - more features when you want them (Notes, Tasks, Forms and more)'
|
||||
first_steps:
|
||||
- 'Open cloud.DOMAIN in your browser'
|
||||
- 'Sign in with the admin account you set at install time'
|
||||
- 'Install the Nextcloud desktop app on your computer'
|
||||
- 'Install the Nextcloud mobile app on your phone'
|
||||
- 'Invite the household by creating an account for each of them'
|
||||
prerequisites:
|
||||
- 'An external hard drive is needed to keep the files on'
|
||||
- 'At least 1 GB of free RAM (Nextcloud + MariaDB + Redis)'
|
||||
- 'An x86 processor is recommended for the best speed'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
- env_var: DB_PASSWORD
|
||||
label: 'Database password'
|
||||
- env_var: HDD_PATH
|
||||
label: 'Data storage path'
|
||||
description: 'The path to the external hard drive'
|
||||
placeholder: '/mnt/felhom-drives/hdd_1'
|
||||
- env_var: MYSQL_ROOT_PASSWORD
|
||||
label: 'MariaDB root password'
|
||||
- env_var: NEXTCLOUD_ADMIN_USER
|
||||
label: 'Admin user name'
|
||||
- env_var: NEXTCLOUD_ADMIN_PASSWORD
|
||||
label: 'Admin password'
|
||||
description: 'For the first sign-in. You can change it in the app afterwards.'
|
||||
|
||||
@@ -84,3 +84,40 @@ healthcheck:
|
||||
path: "/_health"
|
||||
expect:
|
||||
status: 200
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'A modern team knowledge base with Markdown'
|
||||
app_info:
|
||||
tagline: 'A modern knowledge base - Markdown, live collaboration and search'
|
||||
use_cases:
|
||||
- 'A knowledge base and documentation for a team'
|
||||
- 'A Markdown editor several people can use at once'
|
||||
- 'Documents in a tree you can follow'
|
||||
- 'Full text search and links between documents'
|
||||
- 'An API and integrations (Slack, webhooks)'
|
||||
first_steps:
|
||||
- 'Open kb.DOMAIN in your browser'
|
||||
- 'Create the first user'
|
||||
- 'Create a Collection for your documents'
|
||||
- 'Start writing in Markdown'
|
||||
- 'Invite the rest of the team'
|
||||
prerequisites:
|
||||
- 'An x86 processor is needed'
|
||||
- 'At least 1 GB of free RAM (Outline + PostgreSQL + Redis)'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
- env_var: DB_PASSWORD
|
||||
label: 'Database password'
|
||||
- env_var: SECRET_KEY
|
||||
label: 'Encryption key'
|
||||
- env_var: UTILS_SECRET
|
||||
label: 'Utility key'
|
||||
|
||||
@@ -68,3 +68,29 @@ healthcheck:
|
||||
checks:
|
||||
- type: http
|
||||
port: 1221
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'A minimalist document store and organiser'
|
||||
app_info:
|
||||
tagline: 'A minimalist document store - simple sorting and search'
|
||||
use_cases:
|
||||
- 'Upload and sort documents without fuss'
|
||||
- 'Search across your documents quickly'
|
||||
- 'A plain interface with nothing extra in the way'
|
||||
- 'A lighter alternative to Paperless-ngx'
|
||||
first_steps:
|
||||
- 'Open papra.DOMAIN in your browser'
|
||||
- 'Create your account'
|
||||
- 'Upload your first document'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
- env_var: AUTH_SECRET
|
||||
label: 'Session signing key'
|
||||
|
||||
@@ -83,3 +83,39 @@ healthcheck:
|
||||
path: "/ping"
|
||||
expect:
|
||||
status: 200
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'Films download and file themselves'
|
||||
app_info:
|
||||
tagline: 'Films download and file themselves'
|
||||
use_cases:
|
||||
- 'Films are downloaded and filed on their own'
|
||||
- 'A wish list - films land in your library when they appear'
|
||||
- 'Quality rules, and an upgrade when a better copy shows up'
|
||||
- 'Works with Jellyfin/Plex and with download clients'
|
||||
- 'Details and cover art are fetched on their own'
|
||||
first_steps:
|
||||
- 'Open radarr.DOMAIN in your browser'
|
||||
- 'Set up a download client (qBittorrent, for example)'
|
||||
- 'Add your indexers (or use Prowlarr)'
|
||||
- 'Set the root folder (/media/movies)'
|
||||
- 'Search for a film and add it to your list'
|
||||
prerequisites:
|
||||
- 'An external hard drive is needed to keep the media files on'
|
||||
- 'A download client is needed (qBittorrent, for example - installed separately)'
|
||||
- 'Access to an indexer is needed for searching'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
- env_var: HDD_PATH
|
||||
label: 'Media library path'
|
||||
description: 'The path to the external hard drive'
|
||||
placeholder: '/mnt/felhom-drives/hdd_1'
|
||||
|
||||
@@ -89,3 +89,40 @@ healthcheck:
|
||||
checks:
|
||||
- type: http
|
||||
port: 80
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'A food and exercise tracker'
|
||||
app_info:
|
||||
tagline: 'A food diary, calorie counter and exercise tracker - on your own server'
|
||||
use_cases:
|
||||
- 'Log what you eat and how many calories it comes to'
|
||||
- 'Track your weight and measurements on a graph'
|
||||
- 'Record workouts and movement'
|
||||
- 'Set nutrition targets (protein, carbohydrate, fat) and follow them'
|
||||
- 'See how you are getting on, over time and in numbers'
|
||||
first_steps:
|
||||
- 'Open sparky.DOMAIN in your browser'
|
||||
- 'Sign up with an e-mail address and a password'
|
||||
- 'Set your profile and your daily targets'
|
||||
- 'Start logging your meals and workouts'
|
||||
prerequisites:
|
||||
- 'On the first start the server runs its database migrations - this can take a minute or two before the app answers'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
- env_var: DB_PASSWORD
|
||||
label: 'Database password'
|
||||
- env_var: API_ENCRYPTION_KEY
|
||||
label: 'Data encryption key'
|
||||
- env_var: APP_DB_PASSWORD
|
||||
label: 'Application database password'
|
||||
- env_var: BETTER_AUTH_SECRET
|
||||
label: 'Session signing key'
|
||||
|
||||
@@ -79,3 +79,37 @@ healthcheck:
|
||||
checks:
|
||||
- type: http
|
||||
port: 3000
|
||||
|
||||
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||
i18n:
|
||||
en:
|
||||
description: 'A hike planner that follows your tracks'
|
||||
app_info:
|
||||
tagline: 'A hike planner - routes, GPX tracks and terrain maps'
|
||||
use_cases:
|
||||
- 'Plan and keep hiking routes'
|
||||
- 'Import and export GPX files'
|
||||
- 'Terrain profiles and statistics'
|
||||
- 'Add photos and notes to a route'
|
||||
- 'Share a route with other people'
|
||||
first_steps:
|
||||
- 'Open hike.DOMAIN in your browser'
|
||||
- 'Create your account'
|
||||
- 'Import a GPX file, or plan a new route'
|
||||
- 'Have a look at the map view'
|
||||
deploy_fields:
|
||||
- env_var: DOMAIN
|
||||
label: 'Domain'
|
||||
description: 'The server domain name'
|
||||
- env_var: SUBDOMAIN
|
||||
label: 'Subdomain'
|
||||
description: 'The subdomain this app answers on'
|
||||
- env_var: MEILI_MASTER_KEY
|
||||
label: 'Search engine key'
|
||||
- env_var: POCKETBASE_ENCRYPTION_KEY
|
||||
label: 'Database encryption key'
|
||||
- env_var: SUBDOMAIN_DB
|
||||
label: 'Database subdomain'
|
||||
description: 'The subdomain of the PocketBase database - the browser calls it DIRECTLY, so it gets a name of its own'
|
||||
|
||||
Reference in New Issue
Block a user