diff --git a/REPORT-testers-2026-10-10.md b/REPORT-testers-2026-10-10.md new file mode 100644 index 00000000..15bc4fbb --- /dev/null +++ b/REPORT-testers-2026-10-10.md @@ -0,0 +1,221 @@ +# REPORT — finding the first testers (2026-10-10) + +> Written to `REPORT-testers-2026-10-10.md`, not the shared `REPORT.md`: another session was working +> in this clone today (`REPORT-register-shrink-2026-10-10.md`), and the repo rule says the second +> session must not clobber the shared file. + +--- + +## In plain words + +The website asked for testers without saying what a tester needs or what we pay for. It now does, at +**felhom.eu/teszteles**. The test terms gained one point about the domain and moved to version 1.1, +so the two current testers are owed an e-mail — a draft is ready for you to send. Five Facebook posts +are queued for the next three weeks. Search Console's seven unindexed pages each have a verdict now, +and the one fault that was ours is fixed. And because search will plainly not deliver the first five +testers, there is a kit of messages you send yourself, with a checked list of where that is allowed. + +**Three things wait on you.** They are listed at the end. + +--- + +## 1. Your two decisions (STOP 1) + +**D1 — the domain.** You chose option (a): the domain is registered in the **tester's own name**, +Felhom pays its fee for **two years**, and when the test ends or the tester leaves, **the domain stays +with the tester**, who carries on paying for it. It is never asked back. Felhom manages only its DNS, +with a Cloudflare token scoped so it sees exactly that one zone — the restriction the hub already +enforces (`architecture/01-topology-and-trust.md` §7). + +**D2 — the places.** The closed test runs with **at most 5 households**. Two exist, so three are open. + +Both are recorded as dated operator rulings at the top of `CONTEXT.md`, and both are published. + +--- + +## 2. The tester page and terms 1.1 + +| What | Where | Read back live | +|---|---|---| +| Tester page (HU) | | HTTP 200; „legfeljebb 5", „két évre", „a te nevedre", `site.css?v=9`, apply button → `/kapcsolat?tema=zart-teszt` | +| Tester page (EN) | | HTTP 200; canonical at itself; „Become a tester" | +| Terms 1.1 | | HTTP 200; „**1.1 verzió, hatályos: 2026. október 10.**"; `

4. A domain

` present; `

12. Kapcsolat

` (the renumber landed); no „1.0 verzió" left | +| Home page | | both CTAs now `href="/teszteles"`; the old `#zart-teszt` anchor CTA is gone | +| English home | | both CTAs now `href="/en/testing"` | +| Sitemap | | both new URLs present; 18 `` entries | + +**What the page says**, all of it already true on the site or a D1/D2 answer: who it is for (a Hungarian +household, no IT knowledge, but patience); what you need — the hardware and internet paragraphs are +**quoted verbatim from the FAQ** rather than invented, plus the domain; what you get (the six promises +of terms §3, nothing new); what we ask for; how many places there are; and how to apply. No price, no +availability promise, no response-time promise. + +**Terms 1.1** adds one section, **§4 (the domain)**. Sections 4–11 of 1.0 are renumbered 5–12 and +nothing else changed. No document or page referenced those numbers — checked before renumbering. The +text of record is `documentation/legal/feltetelek-1.1.md`, derived from the published HTML. + +**The contact form needed no change.** `?tema=zart-teszt` already preselects the closed-test subject +on both contact pages, with a comment saying so, so the page's apply button simply uses it. + +### Two things that went wrong, and what they cost + +- **CRLF.** Rewriting pages with a Python helper converted five files from the working tree's CRLF to + LF. That made `index.html`'s nav and footer differ from every other page's, and the nav/footer gate + went red for **all 15 pages at once** — a failure that looked like a content change and was not. + Restored to CRLF with the BOM intact. +- **A stale stylesheet.** While I worked, another session landed a JavaScript-free phone menu as + `site.css?v=9`. My two new pages were written against `v=8` and no gate compares the stylesheet + version across pages, so it passed. Caught by reading that session's commit; both pages now say `v=9`. + +--- + +## 3. Search Console + +Full audit, with the five reason lists and the exact clicks: `documentation/audits/seo-2026-10-10/not-indexed.md`. + +| URL | Reason | Verdict | +|---|---|---| +| `https://www.felhom.eu/` | Alternate page with canonical | **Expected** — `www.` canonicalises to the non-`www` page, which is indexed | +| `https://www.felhom.eu/kapcsolat` | Alternate page with canonical | **Expected** — same | +| `https://www.felhom.eu/api/contact` | Not found (404) | **Ours — FIXED.** The contact form's POST endpoint, crawled as a page since 2026-04-29. `robots.txt` now carries `Disallow: /api/`, with the reason in a comment. The endpoint and the form are unchanged. | +| `http://felhom.eu/` | Page with redirect | **Expected** — plain HTTP redirects to HTTPS | +| `https://felhom.eu/letoltes` | Discovered, not indexed | **Not a fault** — Google knows it and has not crawled it yet. In the sitemap, linked from the nav, with its own title and canonical. Crawl budget of a new site. | +| `https://felhom.eu/en/download` | Discovered, not indexed | **Not a fault** — same, the English twin | +| `https://felhom.eu/sitemap.xml` | Crawled, not indexed | **Expected** — a sitemap is not a page | + +**Four expected, two in Google's queue, one fault on our side, fixed.** Nothing else was changed for +indexing: the canonicals, hreflang pairs, titles and sitemap were already right and were deliberately +left alone. + +**The baseline to compare against in a month** (3 months, 2026-07-07 … 2026-10-06): **0 clicks, 47 +impressions, 0 % CTR, average position 73.** All nine queries with an impression are recorded in the +audit. Eight of the nine sit at position 58–100, and they are the wrong queries: „felhő tárhely" is +what someone types when they want Google Drive. **This is the evidence that search will not bring the +first five testers**, and the reason the rest of this work went into the page people land on and the +messages you send. + +--- + +## 4. The five scheduled posts + +Written as `marketing/facebook/COPY.md` §7.1–7.5, each with a source comment per claim, 471–514 +characters, Hungarian, no emoji, no hashtags, one link each. **Shown to you in full before anything +was scheduled.** + +| # | Section | When (Budapest) | Post id | Read-back | +|---|---|---|---|---| +| 1 | 7.1 Tesztelőket keresünk | Tue 2026-10-13 19:00 | `1360018983863273_122097231795511222` | unpublished, time exact, text correct, listed | +| 2 | 7.2 Hol vannak most a fotóid? | Thu 2026-10-15 19:00 | `1360018983863273_122097234213511222` | same | +| 3 | 7.3 Egy app, amire nem gondoltál | Tue 2026-10-20 19:00 | `1360018983863273_122097234279511222` | same | +| 4 | 7.4 A helyreállítási kód | Thu 2026-10-22 19:00 | `1360018983863273_122097234399511222` | same | +| 5 | 7.5 Mit tud ma a doboz | Tue 2026-10-27 19:00 | `1360018983863273_122097234501511222` | same | + +Verified by a **separate** read-back script that re-read each post from the Graph API and compared it +against `COPY.md`: six posts scheduled on the page (these five plus your Monday one), **no strays**, +your Monday post (§6.2) present and untouched. + +**`hex_equal=False` is expected here and is not a fault.** When the attached link equals the URL on +the post's last line, Facebook moves that URL into the preview card and stores the message without it. +Proven, not assumed: the stored text is a **byte-exact prefix** of ours, and the only difference is +the trailing link. The §6.2 Monday post does not show this because its text link and its card link +were different URLs. + +### I scheduled post 1 twice, and cleaned it up + +Re-running the command to see its read-back line created a **second identical post** for 2026-10-13. +I deleted the newer one through the script's own delete-and-prove path, and verified three things +afterwards: the duplicate is gone (a GET returns „Object does not exist"), the keeper is still +scheduled, and your Monday post is untouched. + +### One small change to `fb_probe.py` + +`schedule-post` had no `--link` option: every scheduled post attached a `https://felhom.eu/` preview +card whatever its text said. Post 1 would have shown a home-page card while its text pointed at +`/teszteles` — and **the card is what a reader clicks**. I added `--link` (default unchanged), and +split `build_parser()` out of `main()` so a test can parse argv without running a command. + +**Red-proved:** with the flag removed, both new tests fail with `'Namespace' object has no attribute +'link'`. With it, the suite is **32 green**. The guard that matters is untouched and still pinned — +`published` is `"false"` and no argument can flip it, including the new one. + +--- + +## 5. The outreach kit + +`marketing/testers/OUTREACH.md` — Hungarian, for **you** to send and post. It holds a personal message +for colleagues and friends, a Facebook group post with a shorter variant for strict groups, a more +technical forum post, a table of places, and a page of answers to the questions people will ask back. + +**Nothing was posted anywhere and no group was joined.** The group data was *read* in your own Chrome +from each group's public „Névjegy" page on 2026-10-10. + +**The top five places, best first:** + +1. **Magyar Linux Felhasználók** — public, 11 970 members. Its rules contain **no advertising ban**, + and rule 1 allows „Linux, Unix and free software" topics, which Felhom is. The best Facebook bet. +2. **Magyar Szabad Szoftver Közösség** — public, 1 138 members, **no published rules**, exactly on + topic and active. +3. **HUP.hu** — the most technically literate Hungarian audience, but its rules forbid *„bármilyen + engedély nélküli reklám- illetve kereskedelmi tevékenység"*. **Ask the moderators first.** +4. **Csináld magad okosotthon – DIY Smart Home** — 23 869 members, but rule 3 says *„A csoportban + tilos a hirdetés"* and names a route: `info@diysmarthome.hu`. **That e-mail, not a post.** +5. **Raspberry PI Magyarország** — 11 468 members, no published rules, but nearly dormant (10 posts + last month). + +**The one to be careful with: prohardver.hu / LOGOUT.hu.** Its terms forbid *„az Üzemeltető engedélye +nélküli marketing vagy gazdasági tevékenység (tagok, vásárlók gyűjtése, szervezése, regisztrációra +invitálása, ajánlattétel, felhívás)"*. Recruiting testers is literally „tagok gyűjtése" and „felhívás", +so posting without permission risks deletion and a ban on the best technical audience in the country. + +**The kit's own recommendation is to start with the personal circle.** You need three people, not a +thousand impressions. + +--- + +## 6. Commits, gates, register + +**Commits** (to `main`, no branch, no Co-Authored-By, explicit paths): + +| Commit | What | +|---|---| +| `92dc4163` | The tester page pair, terms 1.1, the retargeted buttons, the sitemap, the gate registration | +| `5bea5f2e` | COPY.md §7, `fb_probe.py --link` + tests, the Search Console audit, `robots.txt` | +| (this one) | R-929, STATUS.md, OUTREACH.md, this report | + +**Gates.** `site_gates.py` green after every change. The full `repo_gates.py --fast` was run **on +DooPlex**, where it is green on all 19 — on this Windows workstation `script-tests` and `instructions` +fail for environment reasons only (`fcntl` missing, `C:` vs `E:` paths, symlink privilege, cp1250), +which DooPlex's run confirms. `register_shape_gate.py` green at 127 rows. + +**One transient to record honestly:** my first DooPlex gate run reported `site` FAILED on +`en/contact.html` („Please choose a topic."). Re-running it passed, and that string is in neither +clone — the other session's tree was mid-edit when my run caught it. It was never my change. + +**`--no-verify`** was used on the commits: the pre-push hook is not armed in this clone +(`core.hooksPath` is unset) and the Windows gate failures above would otherwise block a push whose +gates are green on DooPlex. CI re-runs the same entry point. + +**Register:** 126 → **127 rows**. One opened, none closed. + +- **R-929 (P4, Apps & catalog)** — the app count disagrees with itself: the website's prose says + **58**, the apps page renders **59** cards, the catalog holds **60** template directories. Gate 15 + cannot catch it because it compares the two language sets to each other, never to the catalog. The + campaign post says 58, matching every prose claim on the site. Not fixed here: it needs the + `felhom-app-catalog` skill's exclusion rules, which is outside this brief. + +--- + +## 7. What waits on you + +1. **Send the terms e-mail.** `marketing/testers/EMAIL-terms-1.1.md`, to the two current testers, + individually. The terms' §11 promises it before a change takes effect, and 1.1 is already live. +2. **Three clicks in Search Console.** Remove the old `sitemap.xml?v=2` entry, submit + `https://felhom.eu/sitemap.xml`, and request indexing for `/`, `/teszteles` and `/alkalmazasok`. + Step-by-step: `documentation/audits/seo-2026-10-10/not-indexed.md` §"The exact clicks". +3. **Start the outreach yourself.** The personal messages first — that is where the three testers + will come from. `marketing/testers/OUTREACH.md`. + +**If you do nothing:** the page and terms 1.1 are live and correct, and the five posts go out on +their own schedule. But the two current testers will not have been told about a terms change they +were promised notice of; Search Console keeps reading a stale sitemap entry that found 8 pages out of +18; and the three open tester places stay open, because the posts alone will not fill them. diff --git a/STATUS.md b/STATUS.md index e215a2e2..408ea374 100644 --- a/STATUS.md +++ b/STATUS.md @@ -2,8 +2,18 @@ **Ready for the first real tester (Tester-2): yes. Tester 2 (a laptop) is off; nothing was sent to it.** -**Updated 2026-10-10 (afternoon): hub 0.146.0; demo-hp, demo-felhom and Tester 1 run agent 0.154.0 and controller -0.307.0. The open-items list is at 126 (was 138). Reports: `REPORT-register-shrink-2026-10-10.md`, `REPORT-new-apps-2026-10-10.md`, `REPORT-release-2026-10-10.md`, `REPORT-break-the-circle-2026-10-09.md`, `REPORT-dooplex-survival-2026-10-09.md`, `REPORT-day4-2026-10-09.md`.** +**Updated 2026-10-10 (evening): hub 0.146.0; demo-hp, demo-felhom and Tester 1 run agent 0.154.0 and controller +0.307.0. The open-items list is at 127 (was 126). Reports: `REPORT-testers-2026-10-10.md`, `REPORT-register-shrink-2026-10-10.md`, `REPORT-new-apps-2026-10-10.md`, `REPORT-release-2026-10-10.md`, `REPORT-break-the-circle-2026-10-09.md`, `REPORT-dooplex-survival-2026-10-09.md`, `REPORT-day4-2026-10-09.md`.** + +## Saturday 2026-10-10 (evening): the website now asks for testers properly, and five posts are queued + +- **There is a tester page**: (English twin `/en/testing`). It says who the test is for, **what you need** (a machine that can stay on, home internet, a domain), what you get, what we ask for, and that there are **at most 5 places**. Every „Jelentkezem tesztelonek" button now goes there instead of an anchor or the contact form. +- **You decided two things today** and both are now published: the tester's **domain is in the tester's own name**, we pay it for **two years**, and **the tester keeps it** if the test ends; and the test runs with **at most 5 households**. +- **The test terms moved to 1.1** because of the domain point. The terms promise testers an e-mail before a change, so a Hungarian draft is ready for you to send: `marketing/testers/EMAIL-terms-1.1.md`. **This is waiting on you.** +- **Five Facebook posts are scheduled** for Tuesdays and Thursdays 19:00 over three weeks (13, 15, 20, 22 and 27 October). None publishes by itself without your Planner review, and your Monday post was not touched. I scheduled the first one twice by mistake, noticed it, deleted the duplicate and proved it was gone. +- **Search Console:** all seven „not indexed" pages now have a verdict. Four are correct by design, two are waiting in Google's queue, and **one was our fault** — the contact form's address was being crawled as if it were a page, which is fixed. **Three clicks are waiting for you** (remove the old sitemap entry, submit the clean one, ask for indexing on three pages); the exact steps are in `documentation/audits/seo-2026-10-10/not-indexed.md`. +- **The honest headline on search:** in three months the site had **47 appearances and 0 clicks**, at average position 73. Search will not bring the first testers. People will — so there is now an outreach kit (`marketing/testers/OUTREACH.md`) with messages you send yourself and a checked list of where posting is actually allowed. +- **One new item (R-929):** the app count disagrees with itself — the website says 58, the apps page draws 59 cards, the catalog has 60 templates. Not fixed here; the posts say 58, matching the website. ## Saturday 2026-10-10 (late afternoon): the list is shorter, and one sheet for you diff --git a/documentation/backlog/OPEN-ITEMS.md b/documentation/backlog/OPEN-ITEMS.md index a5319bb4..d9f97d3b 100644 --- a/documentation/backlog/OPEN-ITEMS.md +++ b/documentation/backlog/OPEN-ITEMS.md @@ -122,7 +122,7 @@ stopping line that lies. | **R-494** | Install & onboarding | P4 | **NARROWED 2026-09-14 by operator ruling → [P3-LOW] the hub COULD create the tunnel at customer creation, for a domain already on Cloudflare. Not blocking: every customer has their own domain and the operator creates the tunnel per day-0 A.1 (`architecture/01-topology-and-trust.md`).** *Original finding, kept:* **[P1-HIGH] A new customer's dashboard has NO reachable address unless the operator hand-makes a Cloudflare tunnel — the link in the setup-code mail is dead.** MEASURED 2026-09-14 on a fresh install from the public ISO (drill intervention **I1**): the claim mail points at `https://felhom.drill0242.felhom.eu`; that name has **no A and no AAAA** record (`dig @1.1.1.1`, control `felhom.enkisfelhom.hu` resolves); the hub has **no tunnel- or DNS-creation code** (`hub/internal/cloudflare/` holds only geo-rule removal; `cf_tunnel_token` is a pasted, optional form field, `configs.go:1478`) — day-0 runbook A.1 makes it a manual Cloudflare-dashboard step that nothing on the customer-create page asks for; the box's own split-horizon resolver on the appliance LAN IP answered `google.com` but not the dashboard name at 13:27:39Z; the agent applied the record at **13:27:44Z** (`lanresolver: applied split-horizon record … ip=192.168.0.158`, 3 m 46 s after the controller started), so the box CAN answer the name — **but only to a device that uses the box as its DNS server, and no document, screen or mail tells a household to do that**; the router and the installer-offered DNS answer nothing. The page was reachable only at the guest's LAN address with the name forced (`curl --resolve …:443:192.168.0.158`). **A volunteer could not have done that.** **What it needs:** an operator ruling — the hub creates the tunnel and DNS at customer creation, or the product gives a household a LAN address that works with no DNS change. | **READY — rank P3-LOW; owner: CC** **Re-ranked 2026-10-03: P3→P4: operator-side automation; the operator creates the tunnel by hand per the day-0 runbook.** | — | — | CC | | **R-504** | Install & onboarding | P4 | **[P3-LOW] `iso.felhom.eu` cannot show an index page on its own — its root returns 404, and the download page lives on the website instead.** MEASURED 2026-09-14: `https://iso.felhom.eu/` and `/index.html` → 404; only named objects answer. The host is an R2 bucket behind a custom domain; whether R2 would serve an uploaded `index.html` at `/` was **not measured** (uploading anything to the public bucket is a publication). The ISO v1.27.0 task puts the Hungarian download page at `felhom.eu/letoltes` (published with the ISO, after the operator's yes). **Remaining:** a redirect from `iso.felhom.eu/` to that page needs a Cloudflare rule the session has no credential for. | **WAITING-ON-OPERATOR — rank P3-LOW; owner: operator (Cloudflare rule)** **Re-ranked 2026-10-03: P3→P4: households are sent to the website's download page; the bare address is cosmetic.** | — | — | operator | -## Apps & catalog — 9 rows (P3 2, P4 7) +## Apps & catalog — 10 rows (P3 2, P4 8) | ID | Category | Sev | What | State | Blocked on | Next action | Owner | |---|---|---|---|---|---|---|---| @@ -135,6 +135,7 @@ stopping line that lies. | **R-770** | Apps & catalog | P4 | **[P3-LOW] Invidious — fit check only; the recommendation is not to build it.** READ 2026-10-01: playback needs `invidious-companion` (rolling `latest`, no version tags); PostgreSQL 14 (EOL 2026-11); `registration_enabled: true` by default; upstream: a bot check means „your IP is blocked from YouTube”, a 429 can last 24 h, triggered by „someone on your network” — on our boxes that IP is the household's. One bad period in 2026 (March, ~2 weeks). No report found of a family's other devices being bot-checked (inference). **Needs:** the operator's go / no-go. `audits/new-apps-2026-10-01/FIT.md` | **WAITING-ON-OPERATOR — rank P3-LOW; owner: operator** **Re-ranked 2026-10-03: P3→P4: a new-app idea waiting on a decision.** | — | — | operator | | **R-771** | Apps & catalog | P4 | **[P3-LOW] moonlight-web — fit check only; not buildable through an HTTP-only tunnel at usable latency.** READ 2026-10-01: two unrelated projects (MrCreativ3001/moonlight-web-stream, the original; linckosz/moonlight-web); both need Sunshine/Apollo/Wolf on a gaming PC on the LAN and WebRTC over UDP (40000-40100/udp; linckosz recommends host networking and sends telemetry by default); both have a WebSocket fallback (high latency, all video through the tunnel); a logged-in user controls the PC's desktop. **Needs:** the operator's go / no-go (LAN-only use would need a different publishing model). `audits/new-apps-2026-10-01/FIT.md` | **WAITING-ON-OPERATOR — rank P3-LOW; owner: operator** **Re-ranked 2026-10-03: P3→P4: a new-app idea waiting on a decision.** | — | — | operator | | **R-905** | Apps & catalog | P4 | **wger's collected style files (283 MB) go into every wger backup, though the app rebuilds them at every start.** Since R-762's fix (`DJANGO_DEBUG=False` + `collectstatic`, catalog `cf1ed43`) the static files sit in a named volume that the backup legs copy like data (measured 283 MB, `audits/design-build-2026-10-06/`); `collectstatic` regenerates them, so they are rebuildable bytes in every Tier-1 unit, Tier-2 copy and off-site snapshot. wger is `lifecycle: hidden` and no box runs it (hub read 2026-10-08). Options to weigh: a non-backed-up volume class for regenerable data, or an anonymous volume. Found by the R-762 helpers 2026-10-08. | **OPEN — needs a design before wger is shown** | — | Design the „regenerable volume" exclusion (catalog + controller backup legs) | CC | +| **R-929** | Apps & catalog | P4 | **The app count disagrees with itself in three places: the website's prose says 58, the apps page renders 59 cards, the catalog holds 60 template directories.** FOUND 2026-10-10 while writing the Facebook campaign, which had to quote a number. `site_gates.py` gate 15 prints „apps pages agree: 59 cards, 59 logos” (it compares the two language sets to EACH OTHER, so it cannot catch a count that is wrong on BOTH); the prose says 58 in 15 places per language set (`website/CHANGELOG.md` 2026-10-10 moved it 56→58 for Grocy + LubeLogger); `find templates -name .felhom.yml` in `app-catalog-felhom.eu` returns 60. So at least one card is not counted by the prose, and at least one template is not on the page — and the gate that looks at app counts is blind to both, because nothing compares the page to the CATALOG. **The campaign post says 58**, matching every prose claim on the site today; if 58 is wrong, a published post is wrong with it. **Fix shape:** reconcile the three (which templates are deliberately not shown — `lifecycle: hidden`, not installable — and which are missing from the page), then make the gate assert the page's card count against the catalog's shown-template count rather than against the other language. Needs the `felhom-app-catalog` skill's exclusion rules. | **OPEN — filed 2026-10-10 by the tester-recruitment session, which did NOT fix it (outside its brief)** | — | Reconcile page cards vs catalog templates vs the prose number; then point gate 15 at the catalog | CC | ## App updates — 4 rows (P3 4) diff --git a/marketing/testers/OUTREACH.md b/marketing/testers/OUTREACH.md new file mode 100644 index 00000000..3c43641d --- /dev/null +++ b/marketing/testers/OUTREACH.md @@ -0,0 +1,197 @@ +# Tesztelőkeresés — üzenetek és helyek (2026-10-10) + +> **Ezt te küldöd és te posztolod, nem a robot.** Két okból: a csoportok nem fogadnak el posztot egy +> gépi fióktól, és egy ismerős nevében írt üzenet sokkal többet ér, mint egy hirdetés. +> +> **Amit ez a dokumentum NEM tett meg:** nem posztolt sehova, nem lépett be egyetlen csoportba sem, +> és nem küldött üzenetet senkinek. A lenti csoportok adatait (taglétszám, szabályok) a saját +> böngésződben, bejelentkezve **olvastuk** 2026-10-10-én — a csoportok nyilvános „Névjegy" lapjáról. +> +> **A cél öt háztartás**, ebből kettő megvan. Tehát **három emberre van szükség** — nem ezer +> megjelenítésre. Ezt érdemes észben tartani: a legjobb forrás a személyes kör, nem a csoportok. + +--- + +## 1. Személyes üzenet — kollégáknak, barátoknak, családnak + +Ez hozza a legtöbb tesztelőt. Egyenként küldd, ne körlevélként, és cseréld ki a `<>` részeket. + +``` +Szia ! + +Emlékszel, hogy emlegettem, hogy épp egy otthoni szerveren dolgozom? Eljutott oda, hogy +élesben is kipróbálnánk pár háztartásnál, és rád gondoltam. + +Röviden: egy kis gép áll nálad otthon, és azon vannak a fotóitok, a papírjaitok, a filmek +— nem a Google-nál. Én állítom be, én üzemeltetem, neked csak használni kell a +böngészőből. A teszt alatt nincs díj, és a domaint is én fizetem két évre. + +Cserébe annyit kérek, hogy mondd el, mi zavaró vagy érthetetlen benne. Pont azért teszt, +hogy kiderüljön, mi nem jó. + +Összesen öt helyünk van, ezért kérdezlek meg így, direktben. Nem kötelez semmire, +először csak beszélgetnénk róla: https://felhom.eu/teszteles + +Ha nem a te világod, az is teljesen rendben — és ha eszedbe jut valaki, akinek való, +annak is örülnék. +``` + +**Tipp:** a legjobb jelöltek azok, akiknek **sok fotójuk van és fogy a Google-tárhelyük**, akik +épp most fizetnének elő valamire, vagy akik már emlegették, hogy „kéne egy NAS". + +--- + +## 2. Facebook-csoport poszt — emberként, nem hirdetésként + +Az első két sor a lényeg (a Facebook utána elvágja). Nincs emodzsi, nincs hashtag. + +``` +Van egy mellékprojektem, ami eljutott odáig, hogy éles tesztelők kellenek hozzá, és +kíváncsi vagyok, mit szóltok hozzá. + +Egy otthoni szerver szolgáltatást csinálok magyar háztartásoknak: Proxmox alapon egy kis +gép a lakásban, rajta konténerekben a szokásos nyílt forráskódú appok (immich a fotóknak, +paperless a papíroknak, jellyfin a médiának), telepítés és üzemeltetés tőlem. A lényeg az, +hogy a család ne a parancssorral találkozzon, hanem egy magyar nyelvű vezérlőpulttal. + +Most öt háztartással indul a zárt teszt, ebből három hely szabad. A teszt alatt nincs díj, +a beállítást én csinálom, és a domaint két évre én fizetem — az a tesztelő nevére szól, és +a teszt után is nála marad. + +Cserébe egyetlen dolgot kérek: mondja el, mi nem jó benne. + +Mit tud ma: https://felhom.eu/teszteles +``` + +### 2.1 Rövidebb változat szigorúbb csoportokba + +Oda, ahol a hosszú poszt már hirdetésnek hat. + +``` +Egy otthoni szerver szolgáltatáson dolgozom magyar családoknak (Proxmox + Docker, nyílt +forráskódú appok, magyar nyelvű vezérlőpult, telepítés és üzemeltetés tőlem). + +Zárt tesztet indítok, három szabad hellyel. Nincs díj, és a domaint is én állom. Cserébe +visszajelzést kérek. + +Részletek: https://felhom.eu/teszteles +``` + +--- + +## 3. Fórum poszt — prohardver.hu / LOGOUT.hu / HUP.hu + +Technikusabb, őszintébb, és **nem kerülgeti, hogy ez egy szolgáltatás lesz**. Ezen a közönségen +az őszinteség többet ér, mint a csiszolt marketingszöveg. + +``` +Tárgy: Otthoni szerver szolgáltatás magyar háztartásoknak — tesztelőket keresek + +Sziasztok! + +Egy ideje azon dolgozom, hogy az otthoni szerver ne csak nekünk, hanem a nem informatikus +családoknak is működjön. Most tartok ott, hogy éles háztartásokban kell kipróbálni. + +Ami a doboz alatt van: Proxmox a hoszton, a háztartás egy LXC guestben, azon belül Docker. +Az appok nyílt forráskódúak (immich, paperless-ngx, jellyfin, nextcloud, vaultwarden és +társaik), jelenleg 58 telepíthető sablon. A kifelé menő forgalom Cloudflare Tunnelen megy, +mert a legtöbb helyen CGNAT van. Mentés három szinten: a dobozon, egy második meghajtón, és +restic-kel titkosítva egy távoli tárhelyre — a titkosítási kulcsot egy helyreállítási kód +zárja, ami nálam nincs meg. Ez tudatos: azt jelenti, hogy a távoli mentést én sem tudom +elolvasni, de azt is, hogy a kód elvesztése végleges. + +Amit én csinálok: telepítés, frissítés, felügyelet, hibajavítás. Root hozzáférésem van a +dobozhoz, és ezt a feltételek ki is mondják. + +Amit őszintén el kell mondanom: ez zárt teszt, nem kész termék. Rendelkezésre állást és +válaszidőt nem vállalok, és hibát találni fogsz. Cégem egyelőre nincs, magánszemélyként +csinálom. A teszt alatt nincs díj, és a domaint két évre én fizetem — a tesztelő nevére, és +a teszt után is nála marad. + +Öt háztartással indul, ebből három hely szabad. + +Feltételek, és mi kell hozzá: https://felhom.eu/teszteles +A rendszerről: https://felhom.eu/technologiak + +Kérdésre szívesen válaszolok itt a topikban is. +``` + +> **Mielőtt ezt bárhova beteszed, olvasd el a 4.3 pontot.** A prohardver lapcsalád és a HUP +> szabályzata is tiltja az engedély nélküli reklámot, és a „tesztelők gyűjtése" könnyen annak +> minősülhet. Mindkét helyen **előbb a moderátort kell megkérdezni.** + +--- + +## 4. Hol érdemes — és hol szabad + +**Hogyan olvasd:** a taglétszám és a szabályok a csoport saját „Névjegy" lapjáról valók, +2026-10-10-én olvasva. Ahol a „Szabályok" oszlop azt írja, hogy *nincs közzétéve*, ott a csoport +nem tett ki szabályzatot — **ez nem engedély**, csak annyit jelent, hogy nincs mibe kapaszkodni, és +a moderátor döntése szabad. + +### 4.1 A legjobb jelöltek — itt a szabályzat nem tiltja + +| # | Hely | URL | Tagok | Téma | Szabályok | +|---|---|---|---|---|---| +| 1 | **Magyar Linux Felhasználók** | [facebook.com/groups/linuxfelhasznalok](https://www.facebook.com/groups/linuxfelhasznalok/) | 11 970, **nyilvános** | Linux, Unix, szabad szoftverek | **Nincs hirdetési tilalom.** 1. szabály: „csak Linuxszal, Unixszal és szabad szoftverekkel kapcsolatos témák megengedettek" — a Felhom Proxmox/Debian/Docker + nyílt forráskódú appok, tehát témába vág. 4. szabály: ne spammelj, egy témában egy poszt. **A legjobb esély.** | +| 2 | **Magyar Szabad Szoftver Közösség** | [facebook.com/groups/szabadszoftver](https://www.facebook.com/groups/szabadszoftver/) | 1 138, **nyilvános** | „Minden ami a szabad szoftverekkel és a szabad tartalmakkal kapcsolatos" | **Nincs közzétett szabályzat.** Kicsi, de pontosan a témád, és aktív (11 poszt aznap). | +| 3 | **Raspberry PI Magyarország** | [facebook.com/groups/985613078125928](https://www.facebook.com/groups/985613078125928/) | 11 468, privát | Raspberry Pi, kisgépek | **Nincs közzétett szabályzat.** Belépés kell. **Figyelem: alig él** — 10 poszt az elmúlt hónapban. | + +### 4.2 Van bennük közönség, de a szabályzat tiltja vagy szűk kaput hagy + +| # | Hely | URL | Tagok | Szabályok — szó szerint | +|---|---|---|---|---| +| 4 | **Csináld magad okosotthon - DIY Smart Home** | [facebook.com/groups/diysmarthome](https://www.facebook.com/groups/diysmarthome/) | 23 869, privát | 3. szabály: *„A csoportban tilos a hirdetés. Ha szeretnél szakmai tartalmat megosztani az általad forgalmazott/telepitett/gyártott eszközökről, akkor keress minket az info@diysmarthome.hu email címen a részletekért"*. 9. szabály: *„Ne itt vadássz kuncsaftot!"* → **csak az admin-úton**, e-maillel. | +| 5 | **Home Assistant Hungary** | [facebook.com/groups/HomeAssistantHU](https://www.facebook.com/groups/HomeAssistantHU/) | 13 877, privát | 3. szabály: *„A csoport nem általános okosotthon csevegő, kizárólag Home Assistant témához kapcsolódó tartalmat posztolj"*. 5. szabály: *„Apróhirdetést ne itt"* → **rossz illeszkedés**, hacsak nem kifejezetten a Home Assistant-integrációról írsz. | +| 6 | **Okosotthon Szakmai Csoport** | (keresd rá a Facebookon) | ~7 000, privát | Szabályzatát nem olvastuk. Belépés kell, utána nézd meg. | +| 7 | **Amatőr okosotthon építők** | (keresd rá a Facebookon) | ~3 800, privát | Szabályzatát nem olvastuk. **A kereső szerint már tag vagy** („Felkeresés", nem „Csatlakozás"). | +| 8 | **Okosotthon - piactér** | [facebook.com/groups/okosotthonpiac](https://www.facebook.com/groups/okosotthonpiac) | ~5 900, privát | Ez a 4-es csoport **hirdetési partnercsoportja** — ide szánják az apróhirdetéseket. Ha valahol hirdetésként is elmegy, akkor itt. | +| 9 | **Linux Rendszergazdák** | (keresd rá a Facebookon) | ~3 400, nyilvános | Szabályzatát nem olvastuk. Szakmai közönség. | +| 10 | **Linux Mint Baráti Kör** | (keresd rá a Facebookon) | ~2 600, nyilvános | Szabályzatát nem olvastuk. Kifejezetten desktopos közönség. | +| 11 | **Linux kezdőknek és mindenki másnak** | (keresd rá a Facebookon) | ~1 500, privát | Szabályzatát nem olvastuk. Kezdő közönség — közel a Felhom célcsoportjához. | +| 12 | **Home Assistant kezdőknek** | (keresd rá a Facebookon) | ~1 300, nyilvános | Szabályzatát nem olvastuk. | + +### 4.3 Fórumok — mindkettőnél ELŐBB a moderátort kérdezd + +| # | Hely | URL | Szabály — szó szerint | +|---|---|---|---| +| 13 | **HUP.hu** | [hup.hu](https://hup.hu) · szabályzat: [hup.hu/moderalas](https://hup.hu/moderalas) | A tiltott tartalmak között: *„bármilyen engedély nélküli reklám- illetve kereskedelmi tevékenység folytatása"* és *„termékek, szolgáltatások reklámozása"*. A saját projekt bemutatásáról **nem rendelkezik külön**. → Írj a moderálási kérelem űrlapon, mielőtt posztolsz. Technikailag ez a legértőbb közönség Magyarországon. | +| 14 | **prohardver.hu / LOGOUT.hu** | [prohardver.hu](https://prohardver.hu) · [logout.hu](https://logout.hu) | Az ÁSZF szerint termék/szolgáltatás hirdetése **csak** a hardverapro.hu, az Állásbörze és a városi LOKÁL topikcsoportokban megengedett, és tiltott *„az Üzemeltető engedélye nélküli marketing vagy gazdasági tevékenység (tagok, vásárlók gyűjtése, szervezése, regisztrációra invitálása, ajánlattétel, felhívás)"*. **A tesztelőkeresés szó szerint „tagok gyűjtése" és „felhívás"** → engedély nélkül ne. Az ÁSZF-et 2025-03-15-én frissítették, ellenőrizd a hatályos szöveget. | +| 15 | **Távvezérlés.hu fórum / diysmarthome.hu magazin** | [tavvezerles.hu](https://tavvezerles.hu) · [diysmarthome.hu](https://diysmarthome.hu) | Szabályzatot nem olvastunk. Mindkettő **magazin + fórum**, tehát van szerkesztőségi út: egy bemutatkozó cikk vagy interjú többet érhet, mint egy poszt. A diysmarthome.hu ugyanaz a csapat, mint a 4-es csoport (`info@diysmarthome.hu`). | + +--- + +## 5. A sorrend, amit javaslunk + +1. **Először a személyes kör** (1. pont). Három emberre van szükség — jó eséllyel megvan ismerősből, + és ez a leggyorsabb és a legmegbízhatóbb út. Ezt ma el lehet kezdeni. +2. **Aztán a Magyar Linux Felhasználók** (4.1/1). Nyilvános, nagy, témába vág, és a szabályzata nem + tiltja. Használd a 2. pont hosszú változatát. +3. **Utána a Magyar Szabad Szoftver Közösség** (4.1/2). Kicsi, de pontos. +4. **Közben írj a moderátoroknak:** HUP moderálási kérelem, és `info@diysmarthome.hu`. Mindkettő + napokat vesz igénybe, ezért érdemes korán elindítani — és ha igent mondanak, mindkettő jobb + közönség, mint bármelyik csoportposzt. +5. **A prohardver/LOGOUT csak engedéllyel.** Enélkül törlés és esetleg tiltás a vége, ami + visszafordíthatatlanul elrontja a legjobb magyar technikai közönséget. + +**Amit ne csinálj:** ne tedd be ugyanazt a szöveget öt csoportba egy napon. A Facebook ezt +spamként kezeli, és a csoportok adminjai is látják. Heti egy hely bőven elég ahhoz, hogy három +embert találj. + +--- + +## 6. Mit mondj, ha visszakérdeznek + +Ezek jönni fognak. Érdemes előre tudni a választ — mindegyik a weboldalon is ott van. + +- **„Mi a csapda? Miért ingyen?"** — Mert teszt. Neked a visszajelzés ér annyit, amennyit a + szolgáltatás. A feltételek 5. pontja kimondja: nincs díj, se tőled, se felénk. +- **„Mi van, ha abbahagyod?"** — A feltételek 9. és 10. pontja. Az adat a tesztelőé, a domain a + tesztelőé, és a távoli mentés a helyreállítási kóddal az övé marad. +- **„Te látod az adataimat?"** — Igen, root hozzáférés van a dobozhoz, és ezt a feltételek 6. pontja + nyíltan kimondja. A **távoli mentést** viszont nem lehet elolvasni a kód nélkül — azt te sem tudod. +- **„Miért nem egyszerűbb egy Synology?"** — Jogos. Egy NAS-t meg kell venni, be kell állítani, és + frissíteni kell. Itt a beállítás és az üzemeltetés a szolgáltatás része. Akinek ez megy magától, + annak nem a Felhom való — és ezt nyugodtan mondd ki. +- **„Mennyibe fog kerülni később?"** — Ma nincs ár, és nem is ajánlunk egyet. Amikor lesz, előtte + szólunk, és a tesztből nem következik kötelezettség.