Support AnthonyJKenn ❀

Support AnthonyJKenn on Ko-fi While He Resolves His Disability Leave Situation

Ko-fi

Bumping forward again. CRITICAL EMERGENCY!!

#MutualAid #MutualAidBoost #MutualAidVoid #MAV #BIPOCMA #DisabledMutualAid #BlackMutualAid #MABoost #HelpFolksLive2026 #Juneteenth #SettlerSaturday

@nolan_syreeta @shrugdealer @mutualaid @[email protected] @edendestroyer

$1,250 needed RIGHT NOW.

Two days before rent comes due; eviction imminent on Monday if rent is not paid!! Also, some critical past due bills due RIGHT NOW!!

Please help if you can.

💾💕🙏🏿🙏🏿🆘🚹🆘

1/

Still $1,250 needed RIGHT NOW for past due bills now causing service disconnections, rent now coming due on Tuesday, and purchasing food and personal supplies. Still no income until mid-July when retirement
payments start.

All donations and boosts are welcome and appreciated.

💾💕🙏🏿🙏🏿🆘🚹🆘

#MutualAid #MAV #BIPOCMA #DisabledMutualAid #BlackMutualAid #MABoost #HelpFolksLive2026

https://ko-fi.com/anthonyjkenn38399/goal?g=52
https://cash.app/AnthonyJK6319
https://venmo.com/u/AnthonyJK6319
https://paypal.me/anthonyjkenn
https://donate.stripe.com/6oE9BeeJ2c2peyYfYY

Support AnthonyJKenn ❀

Support AnthonyJKenn on Ko-fi While He Resolves His Disability Leave Situation

Ko-fi

RE: https://mastodon.redgarterclub.com/@AnthonyJK/116788653432431432

Still out of funds; critical bills now coming past due with loss of critical services; rent still due June 30th.

Still $1,250 short, though any donation right now would be appreciated and welcomed.

#MutualAid #MutualAidBoost #MutualAidVoid #MAV #BIPOCMA #DisabledMutualAid #BlackMutualAid
#MABoost #HelpFolksLive2026 #Helpsky

💾💕🙏🏿🙏🏿🚹🆘🚹

https://ko-fi.com/anthonyjkenn38399/goal?g=52
https://cash.app/AnthonyJK6319
https://venmo.com/u/AnthonyJK6319
https://paypal.me/anthonyjkenn
https://donate.stripe.com/6oE9BeeJ2c2peyYfYY

@nolan_syreeta @shrugdealer @mutualaid @[email protected] @edendestroyer

Still starving and broke as Hell, and still $1,250 short on past due bills still piling in and rent due on June 30th. Need funds RIGHT NOW if you have it to give.

#MutualAid #MutualAidBoost #MutualAidVoid #MAV #BIPOCMA #DisabledMutualAid #BlackMutualAid
#MABoost #HelpFolksLive2026 #Helpsky

💾💕🙏🏿🙏🏿🚹🆘🚹

https://donate.stripe.com/6oE9BeeJ2c2peyYfYY
https://ko-fi.com/anthonyjkenn38399/goal?g=52
https://cash.app/AnthonyJK6319
https://venmo.com/u/AnthonyJK6319
https://paypal.me/anthonyjkenn

Stripe Checkout

Self-Hosted Google Maps egy Raspberry Pi-n

Mindig is lenyƱgözött az a gondolat, hogy a sajĂĄt nĂ©gy falunk között is fusson egy olyan tĂ©rkĂ©p szolgĂĄltatĂĄs, ami nem fĂŒgg az internetkapcsolattĂłl. Egy olyan „Google Maps”, ami a sajĂĄt gĂ©pemen fut, a sajĂĄt adataimat hasznĂĄlja, Ă©s akkor is mƱködik, ha Ă©pp nincs net. Az inspiration a N.O.M.A.D. (Network of Offline Mapping and Discovery) projektbƑl jött, akik egy teljes offline szolgĂĄltatĂĄs stack-et ĂĄlmodtak meg. Az Ƒ nyomdokaikon haladva Ă©pĂ­tettem meg a sajĂĄt verziĂłmat, ami egy Raspberry Pi-n fut, Docker kontĂ©nerekben, Ă©s teljes MagyarorszĂĄgot lefedi.

A hardver – Mi ez a gĂ©p?

A szolgĂĄltatĂĄs a xorp-archive.xorp.hu nevƱ gĂ©pemen fut, ami nem egy ĂĄtlagos Raspberry Pi. Egy Raspberry Pi ARM64 architektĂșrĂĄjĂș eszköz, 8 GB RAM-mal, NVMe HAT kiegĂ©szĂ­tƑvel Ă©s egy 1 TB-os Crucial CT1000E100SSD8 NVMe SSD-vel. Ez nem a rĂ©gi SD kĂĄrtyĂĄs megoldĂĄs – az NVMe sebessĂ©ge Ă©s megbĂ­zhatĂłsĂĄga nĂ©lkĂŒlözhetetlen egy ilyen adatigĂ©nyes stack mƱködtetĂ©sĂ©hez. A gĂ©p Ubuntu 24.04 LTS-t futtat, a kernel pedig a Raspberry Pi-hez optimalizĂĄlt 6.8.0-1057-raspi.

1. åbra: A Raspberry Pi NVMe HAT-tal és SSD-vel. A képen a Raspberry Pi 5, a råhelyezett M.2 HAT+ és az NVMe SSD låtható.

Az ötlet – MiĂ©rt Ă©pĂ­tsĂŒnk offline tĂ©rkĂ©pet?

A vĂĄlasz egyszerƱ: szabadsĂĄg. Amikor nincs internet, vagy korlĂĄtozott a sĂĄvszĂ©lessĂ©g, a legtöbb tĂ©rkĂ©p szolgĂĄltatĂĄs hasznĂĄlhatatlannĂĄ vĂĄlik. Gondoljunk csak egy kirĂĄndulĂĄsra a Pilisbe, egy kĂŒlföldi utazĂĄsra roaming nĂ©lkĂŒl, vagy Ă©pp egy olyan helyzetre, ahol az adatvĂ©delem miatt nem szeretnĂ©nk kĂŒlsƑ szolgĂĄltatĂłkra bĂ­zni magunkat. Egy offline tĂ©rkĂ©p ezekre mind megoldĂĄst nyĂșjt.

A stack nĂ©gy fƑ komponensbƑl ĂĄll, amelyek Docker kontĂ©nerekben futnak:

  • OSM Tile Server – a tĂ©rkĂ©p csempĂ©k (tile-ok) kiszolgĂĄlĂĄsa
  • Photon – cĂ­mkeresĂ©s, geokĂłdolĂĄs
  • GraphHopper – ĂștvonaltervezĂ©s (autĂł, bicikli, gyalogos)
  • GraphHopper PT – tömegközlekedĂ©si ĂștvonaltervezĂ©s (MÁV, VolĂĄnbusz, BKK)
  • MapLibre GL UI – a webes felĂŒlet, ami összefogja az egĂ©szet

Az architektĂșra ĂĄttekintĂ©se

Minden kĂ©rĂ©s egyetlen belĂ©pĂ©si ponton, a map-ui kontĂ©neren keresztĂŒl törtĂ©nik, ami egy Nginx reverse proxykĂ©nt szolgĂĄl. Ez nemcsak egyszerƱbbĂ© teszi a konfigurĂĄciĂłt, hanem kikĂŒszöböli a CORS problĂ©mĂĄkat is, hiszen a böngĂ©szƑ szĂĄmĂĄra minden kĂ©rĂ©s ugyanarrĂłl az origin-rƑl Ă©rkezik.

BöngĂ©szƑ → port 8090 └── Nginx (map-ui kontĂ©ner) ├── /tile/{z}/{x}/{y}.png → OSM (8081) ├── /photon/api → Photon (2322) ├── /graphhopper/route → GraphHopper (8989) └── /graphhopper-pt/route → GraphHopper PT (8989)

A Docker Compose – Minden egyĂŒtt

A teljes stack egyetlen docker-compose-osm-extended.yml fåjlban van definiålva. Låssuk a lényeget (az IP címeket és elérési utakat természetesen megvåltoztattam a valósågban):

services: osm-import: image: overv/openstreetmap-tile-server container_name: osm-import command: import shm_size: 1gb environment: THREADS: 4 UPDATES: enabled volumes: - /home/osm/data/hungary-latest.osm.pbf:/data/region.osm.pbf - /home/osm/data/hungary.poly:/data/region.poly - osm-db:/data/database - osm-tiles:/data/tiles osm: image: overv/openstreetmap-tile-server container_name: osm command: run shm_size: 1gb ports: - 8081:80 environment: UPDATES: enabled THREADS: 4 REPLICATION_URL: https://planet.openstreetmap.org/replication/minute/ volumes: - osm-db:/data/database - osm-tiles:/data/tiles photon: image: local/photon:1.1.0 container_name: photon command: ["-listen-ip", "0.0.0.0", "-cors-any"] ports: - 2322:2322 volumes: - /home/osm/photon:/data/photon graphhopper: image: local/graphhopper:9.1 container_name: graphhopper ports: - 8989:8989 volumes: - /home/osm/graphhopper:/data - /home/osm/data/hungary-latest.osm.pbf:/data/region.osm.pbf graphhopper-pt: image: local/graphhopper:9.1 container_name: graphhopper-pt ports: - 8991:8989 volumes: - /home/osm/graphhopper-pt:/data - /home/osm/data/hungary-latest.osm.pbf:/data/region.osm.pbf - /home/osm/gtfs:/data/gtfs:ro entrypoint: ["java", "-Xmx6g", "-jar", "/app/graphhopper-web.jar", "server", "/app/config.yml"] map-ui: image: local/osm-ui:1.0 container_name: map-ui ports: - 8090:80 volumes: - /root/osm-ui:/usr/share/nginx/html:ro - /home/osm/map-ui/conf/default.conf:/etc/nginx/conf.d/default.conf:ro

1. OpenStreetMap Tile Server – A tĂ©rkĂ©p alapja

Az overv/openstreetmap-tile-server Docker image egy elƑre összeĂĄllĂ­tott környezet, ami tartalmazza az Apache webszervert, a renderd-et (a csempe renderelƑ dĂ©mont), a PostgreSQL-t PostGIS kiegĂ©szĂ­tƑvel, Ă©s a mod_tile-t, ami a csempe kiszolgĂĄlĂĄsĂ©rt felel. Ez a nĂ©gy komponens egyĂŒtt teszi lehetƑvĂ©, hogy a nyers OpenStreetMap adatokbĂłl szĂ©p, böngĂ©szhetƑ tĂ©rkĂ©pi csempĂ©ket (tile-okat) kapjunk.

Az import folyamat

Minden egy PBF fĂĄjllal kezdƑdik – ez a Protocol Buffer Binary Format, az OpenStreetMap adatok tömörĂ­tett formĂĄtuma. NekĂŒnk a MagyarorszĂĄgra vonatkozĂł kivonatra van szĂŒksĂ©gĂŒnk, ami a geofabrik.de-rĂłl szerezhetƑ be. Ez a fĂĄjl a /home/osm/data/hungary-latest.osm.pbf elĂ©rĂ©si Ășton talĂĄlhatĂł.

Az import az osm-import konténer egyszeri futtatåsåval történik:

# ElsƑ importĂĄlĂĄs (csak egyszer kell) docker compose -f docker-compose-osm-extended.yml run --rm osm-import # Ha frissĂ­teni kell a PBF-et, töröljĂŒk a rĂ©gi adatbĂĄzist Ă©s ĂșjraimportĂĄlunk docker compose -f docker-compose-osm-extended.yml down # ... Ășj PBF letöltĂ©se ... docker compose -f docker-compose-osm-extended.yml run --rm osm-import docker compose -f docker-compose-osm-extended.yml up -d osm

A kontĂ©ner a shm_size: 1gb beĂĄllĂ­tĂĄssal fut, mert az importĂĄlĂĄs Ă©s a renderelĂ©s sorĂĄn rengeteg megosztott memĂłriĂĄra van szĂŒksĂ©g a gyorsĂ­tĂłtĂĄrazĂĄshoz. Ez egy kritikus beĂĄllĂ­tĂĄs – ha kicsi a shared memory, a renderelĂ©s rendkĂ­vĂŒl lassĂș lesz.

3. ĂĄbra: Az OSM tile server folyamatos frissĂ­tĂ©se – a docker compose logs kimenete mutatja az osm2pgsql importĂĄlĂĄst Ă©s a percenkĂ©nti diff letöltĂ©st.

Folyamatos frissítés

A legmenƑbb funkciĂł a beĂ©pĂ­tett incrementĂĄlis frissĂ­tĂ©s. Az UPDATES: enabled környezeti vĂĄltozĂł hatĂĄsĂĄra a kontĂ©ner percenkĂ©nt letölti a minute diff fĂĄjlokat a planet.openstreetmap.org-rĂłl. Ez azt jelenti, hogy a tĂ©rkĂ©pĂŒnk gyakorlatilag valĂłs idƑben frissĂŒl – ha valaki mĂłdosĂ­t egy utat az OSM-ben, az pĂĄr percen belĂŒl megjelenik a sajĂĄt szerverĂŒnkön is. TermĂ©szetesen ha nincs internet, a script egyszerƱen csendben meghibĂĄsodik, Ă©s a kontĂ©ner tovĂĄbb szolgĂĄlja a mĂĄr meglĂ©vƑ csempĂ©ket.

2. Photon – CĂ­mkeresĂ©s geokĂłdolĂĄssal

A Photon egy nyĂ­lt forrĂĄskĂłdĂș geokĂłdolĂł motor, ami az OpenStreetMap adatokra Ă©pĂŒl. A mi stackĂŒnkben a local/photon:1.1.0 image fut, ami egy MagyarorszĂĄgra szabott adatbĂĄzissal dolgozik. Ez nem a teljes vilĂĄg – csak MagyarorszĂĄg, ami jelentƑsen csökkenti a keresĂ©si idƑt Ă©s a tĂĄrhely igĂ©nyt.

A Photon adatbåzis frissítése egy /root/photon-import.sh script segítségével történik, ami hetente egyszer fut (vasårnap 11:30-kor a cron-ban).

A script mƱködése:

  • Letölti a legĂșjabb MagyarorszĂĄg Photon dump fĂĄjlt(zst tömörĂ­tĂ©sben) a graphhopper.com-rĂłl
  • EllenƑrzi a metaadatokat (ETag, last-modified) – ha nem vĂĄltozott, kihagyja a letöltĂ©st
  • LeĂĄllĂ­tja a Photon kontĂ©nert
  • Egy ideiglenes Docker kontĂ©nerben dekompresszĂĄlja Ă©s importĂĄlja az adatbĂĄzist
  • FrissĂ­ti a szimbolikus linket az Ășj import könyvtĂĄrra
  • ÚjraindĂ­tja a Photon kontĂ©nert
  • EllenƑrzi a szolgĂĄltatĂĄs ĂĄllapotĂĄt egy egyszerƱ API hĂ­vĂĄssal
  • # A Photon import script lĂ©nyege (egyszerƱsĂ­tve): docker run --rm \ --entrypoint sh \ -v /home/osm/photon:/data/photon \ -v /home/osm/photon-dumps:/data/dumps \ local/photon:1.1.0 \ -lc "zstd -d --stdout /data/dumps/photon-dump-hungary.jsonl.zst \ | java -Xms2g -Xmx4g -jar /app/photon.jar import \ -import-file - -data-dir /data/photon/imports/20260603200523" # A szimbolikus link frissĂ­tĂ©se: ln -sfn /home/osm/photon/imports/20260603200523 /home/osm/photon/photon_data

    Az importĂĄlt adatbĂĄzisok verziĂłzott könyvtĂĄrakba kerĂŒlnek (/home/osm/photon/imports/20260603200523/), Ă­gy mindig vissza lehet tĂ©rni egy rĂ©gebbi verziĂłhoz, ha valami elromlana. Egy szimbolikus link (photon_data -> imports/20260603200523/) mutat az aktuĂĄlis verziĂłra.

    4. ĂĄbra: CĂ­mkeresĂ©s a Photon segĂ­tsĂ©gĂ©vel – „Eger, DobĂł tĂ©r” keresĂ©se Ă©s megjelenĂ­tĂ©se a tĂ©rkĂ©pen.

    3. GraphHopper – ÚtvonaltervezĂ©s (autĂł, bicikli, gyalogos)

    A GraphHopper egy nagy teljesĂ­tmĂ©nyƱ, nyĂ­lt forrĂĄskĂłdĂș ĂștvonaltervezƑ motor, ami az OpenStreetMap ĂșthĂĄlĂłzatĂĄra Ă©pĂŒl. A mi stackĂŒnkben a local/graphhopper:9.1 image fut, 4 GB RAM allokĂĄciĂłval.

    A GraphHopper hĂĄrom Ăștvonal profilt tĂĄmogat:

    • car – autĂłs közlekedĂ©s, figyelembe veszi az egyirĂĄnyĂș utcĂĄkat, sebessĂ©gkorlĂĄtozĂĄsokat, Ășt tĂ­pusokat
    • bike – biciklis közlekedĂ©s, preferĂĄlja a kerĂ©kpĂĄrutakat, kerĂŒli a fƑĂștvonalakat
    • foot – gyalogos közlekedĂ©s, hasznĂĄlja a jĂĄrdĂĄkat, gyalogutakat, lĂ©pcsƑket

    A konfigurĂĄciĂł /home/osm/graphhopper/config.yml-ban talĂĄlhatĂł:

    graphhopper: datareader.file: /data/region.osm.pbf graph.location: /data/graph-cache profiles: - name: car - name: bike - name: foot profiles_ch: - profile: car - profile: bike - profile: foot graph.dataaccess.default_type: RAM_STORE server: application_connectors: - type: http port: 8989 bind_host: 0.0.0.0

    A Contraction Hierarchies (CH) egy elƑfeldolgozĂĄsi technika, ami drĂĄmaian felgyorsĂ­tja az Ăștvonal keresĂ©st. Az autĂł Ă©s bicikli profilokhoz CH-t hasznĂĄlunk, ami az elsƑ indulĂĄskor 5-10 perc elƑfeldolgozĂĄst igĂ©nyel, de utĂĄna a lekĂ©rĂ©sek ezredmĂĄsodpercek alatt teljesĂŒlnek.

    5. ĂĄbra: AutĂłs ĂștvonaltervezĂ©s a GraphHopper segĂ­tsĂ©gĂ©vel – BudapestrƑl Debrecenbe (231,5 km, 2 Ăłra 12 perc).

    4. GraphHopper PT – TömegközlekedĂ©si ĂștvonaltervezĂ©s

    Ez a stack talĂĄn legmenƑbb komponense. A GraphHopper PT (Public Transport) egy speciĂĄlis konfigurĂĄciĂłja a GraphHopper-nak, ami nemcsak az OSM ĂșthĂĄlĂłzatot, hanem a menetrendi adatokat (GTFS) is felhasznĂĄlja a tömegközlekedĂ©si ĂștvonaltervezĂ©shez.

    GTFS adatforrĂĄsok

    Hårom GTFS adatforråst hasznålunk, amelyek Magyarorszåg teljes tömegközlekedését lefedik:

    SzolgåltatóForråsMéretFrissítésMÁV (Magyar Államvasutak)mavcsoport.hu (Basic Auth)~5 MBNapontaVolånbusz (Helyközi buszok)opendata.utas.hu~110 MBNapontaBKK (Budapesti Közlekedési Központ)go.bkk.hu~55 MBHetente

    A MÁV regisztråciós kålvåria

    A MÁV GTFS elĂ©rĂ©se sajnos nem nyilvĂĄnos – a mavcsoport.hu/gtfs oldalon kell regisztrĂĄlni, ahol egy rövid adatkezelĂ©si hozzĂĄjĂĄrulĂĄs utĂĄn kapunk Basic Auth felhasznĂĄlĂłnevet Ă©s jelszĂłt. A regisztrĂĄciĂł egyszerƱ, de a mai napig nem Ă©rtem, miĂ©rt kell ez egy nyĂ­lt GTFS adatfolyamhoz – a MÁV indoklĂĄsa szerint azĂ©rt, hogy „tudjĂĄk, hĂĄnyan Ă©s milyen cĂ©lra hasznĂĄljĂĄk az adataikat”. Nos, a mi cĂ©lunk egyĂ©rtelmƱ: jobb tömegközlekedĂ©si informĂĄciĂłt adni a felhasznĂĄlĂłknak.

    A VolĂĄnbusz Ă©s a BKK szerencsĂ©re nyĂ­ltan, mindenfĂ©le regisztrĂĄciĂł nĂ©lkĂŒl elĂ©rhetƑ – köszönet Ă©rte!

    A GTFS szinkronizĂĄlĂł script

    A /root/gtfs-sync.sh script naponta (hajnali 3:30-kor) letölti mindhĂĄrom GTFS fĂĄjlt, majd ĂșjraindĂ­tja a graphhopper-pt kontĂ©nert, hogy az Ășj menetrend alapjĂĄn ĂșjraĂ©pĂ­tse a grĂĄfot. Ez a folyamat 2-5 percet vesz igĂ©nybe – ezalatt a tömegközlekedĂ©si ĂștvonaltervezĂ©s nem elĂ©rhetƑ.

    # A GTFS szinkronizĂĄlĂł script lĂ©nyege (egyszerƱsĂ­tve): # MÁV letöltĂ©s (Basic Auth-val) curl -sSf -u "user:password" \ -o /home/osm/gtfs/mav_gtfs.zip \ "https://www.mavcsoport.hu/gtfs/gtfsMavMenetrend.zip" # VolĂĄnbusz letöltĂ©s curl -sSf -o /home/osm/gtfs/volanbusz_gtfs.zip \ "https://opendata.utas.hu/public-gtfs/volanbusz_gtfs.zip" # BKK letöltĂ©s curl -sSf -o /home/osm/gtfs/bkk_gtfs.zip \ "https://go.bkk.hu/api/static/v1/public-gtfs/budapest_gtfs.zip" # GraphHopper PT ĂșjraindĂ­tĂĄsa az Ășj menetrendek betöltĂ©sĂ©hez docker restart graphhopper-pt

    ÉrdekessĂ©g, hogy a GraphHopper PT konfigurĂĄciĂłja egyszerre hĂĄrom GTFS fĂĄjlt is be tud tölteni – a gtfs.file paramĂ©terben vesszƑvel felsorolva:

    graphhopper: gtfs.file: /data/gtfs/mav_gtfs.zip,/data/gtfs/volanbusz_gtfs.zip,/data/gtfs/bkk_gtfs.zip # ...és az OSM fåjl a gyalogos kapcsolatokhoz

    Ez azĂ©rt fontos, mert a tömegközlekedĂ©si ĂștvonaltervezĂ©snĂ©l nem elĂ©g a menetrend – tudni kell, hogyan jutok el a buszmegĂĄllĂłhoz gyalog, amihez pontosan az OSM adataira van szĂŒksĂ©g.

    6. ĂĄbra: TömegközlekedĂ©si ĂștvonaltervezĂ©s a GraphHopper PT segĂ­tsĂ©gĂ©vel – EgerbƑl a Budapest-Keleti pĂĄlyaudvarra, ĂĄtszĂĄllĂĄs nĂ©lkĂŒl, 2 Ăłra 33 perc alatt.

    5. A Webes FelĂŒlet – MapLibre GL UI

    A felhasznĂĄlĂłi felĂŒlet MapLibre GL JS-re Ă©pĂŒl, ami a Mapbox GL JS nyĂ­lt forrĂĄskĂłdĂș tovĂĄbbfejlesztett vĂĄltozata. A map-ui kontĂ©ner egy Nginx Alpine image, ami a statikus fĂĄjlokat szolgĂĄlja ki Ă©s proxy-zik a hĂĄttĂ©rszolgĂĄltatĂĄsok felĂ©.

    Ami kĂŒlönösen fontos: minden JavaScript Ă©s CSS fĂĄjl lokĂĄlisan van tĂĄrolva a /root/osm-ui/vendor/ könyvtĂĄrban. Nincs CDN fĂŒggƑsĂ©g, nincs Google Fonts, nincs unpkg – ha elmegy az internet, a felĂŒlet tovĂĄbbra is teljesen mƱködƑkĂ©pes marad.

    A UI funkciĂłi

    • TĂ©rkĂ©p nĂ©zet – raszteres csempĂ©k MapLibre GL-lel, teljes kĂ©pernyƑs interakciĂł
    • KeresĂ©s – autocomplete cĂ­mkeresĂ©s a Photon segĂ­tsĂ©gĂ©vel, kattintĂĄsra odarepĂŒlĂ©s
    • ÚtvonaltervezĂ©s – A→B Ăștvonal nĂ©gy mĂłdban: autĂł, bicikli, gyalogos, tömegközlekedĂ©s
    • KanyarrĂłl-kanyarra navigĂĄciĂł – összecsukhatĂł lista az Ăștvonal panelen, bĂĄrmelyik kanyarra kattintva odarepĂŒl a tĂ©rkĂ©p
    • Több alternatĂ­va – tömegközlekedĂ©snĂ©l több Ăștvonal közĂŒl vĂĄlaszthatunk indulĂĄsi/idƑ szerint
    • JĂĄrat jelvĂ©nyek – szĂ­nkĂłdolt jelvĂ©nyek a kĂŒlönbözƑ jĂĄratokhoz (busz=kĂ©k, villamos=sĂĄrga, metrĂł=piros, vasĂșt=lila, stb.)
    • RĂ©tegek vĂĄltĂĄsa – OSM (alap) Ă©s MƱhold (ESRI World Imagery) között
    • Offline Ă©rzĂ©kelĂ©s – a mƱhold rĂ©teg automatikusan letiltĂłdik, ha nincs internet

    7. ĂĄbra: A teljes webes felĂŒlet – a tĂ©rkĂ©p, keresĂ©s Ă©s ĂștvonaltervezĂ©s hasznĂĄlata lĂ©pĂ©srƑl lĂ©pĂ©sre.

    Offline audit – Mi mƱködik internet nĂ©lkĂŒl?

    Ez a projekt egyik legfontosabb szempontja. LĂĄssuk, mi a helyzet:

    Teljesen offline (nincs szĂŒksĂ©g internetre)

    • ✅ TĂ©rkĂ©pi csempĂ©k – a PostgreSQL adatbĂĄzisbĂłl renderelve (MagyarorszĂĄg OSM PBF)
    • ✅ CĂ­mkeresĂ©s – Photon a lokĂĄlis MagyarorszĂĄg dump-ot hasznĂĄlja
    • ✅ ÚtvonaltervezĂ©s – GraphHopper ugyanazt a lokĂĄlis PBF-et olvassa
    • ✅ TömegközlekedĂ©s – GraphHopper PT a lokĂĄlisan szinkronizĂĄlt GTFS menetrendekkel
    • ✅ MapLibre GL JS/CSS – /root/osm-ui/vendor/ könyvtĂĄrbĂłl (nincs CDN)
    • ✅ Összes HTML/JS/CSS – nincs kĂŒlsƑ font, nincs Google Fonts, nincs kĂŒlsƑ API hĂ­vĂĄs
    • ✅ Nginx proxy – minden upstream cĂ©l localhost vagy kontĂ©ner nĂ©v

    Internetet igényel

    • ❌ MƱhold rĂ©teg (ESRI World Imagery) – opcionĂĄlis, kikapcsolhatĂł
    • ❌ OSM tile frissĂ­tĂ©sek – minute diff letöltĂ©sek (ha elĂ©rhetƑ a net, kĂŒlönben csendben hibĂĄzik)
    • ❌ Photon adatfrissĂ­tĂ©s – heti dump letöltĂ©s graphhopper.com-rĂłl
    • ❌ GTFS adatok – napi menetrend letöltĂ©s

    ÜzemeltetĂ©s – Cron feladatok

    A rendszer ĂŒzemeltetĂ©se nagyrĂ©szt automatizĂĄlt. HĂĄrom cron job gondoskodik a frissĂ­tĂ©sekrƑl:

    # Heti Photon adatbåzis frissítés (vasårnap 11:30) 30 11 * * 0 /root/photon-import.sh >> /var/log/photon-import.log 2>&1 # Napi GTFS szinkronizåció (hajnali 3:30) 30 3 * * * /root/gtfs-sync.sh >> /var/log/gtfs-sync.log 2>&1

    Az OSM kontĂ©ner beĂ©pĂ­tett frissĂ­tĂ©se percenkĂ©nt fut a kontĂ©neren belĂŒl, nem cron-on keresztĂŒl.

    Ismert korlĂĄtok

    • HiĂĄnyzĂł hĂĄzszĂĄmok a Photon keresĂ©sben – a MagyarorszĂĄg Photon dump nem tartalmazza az OSM hĂĄzszintƱ cĂ­mkĂ©it. Ez nem hiba, hanem adatkorlĂĄt.
    • Street View nem elĂ©rhetƑ – nincs gyakorlati, önĂĄllĂłan ĂŒzemeltethetƑ alternatĂ­va (a Mapillary internetet igĂ©nyel, a Google Street View pedig API kulcsot Ă©s internetet).
    • GraphHopper frissĂ­tĂ©se kĂ©zi – amikor az OSM PBF frissĂŒl, a GraphHopper graph cache-t manuĂĄlisan kell törölni (vagy ĂșjraindĂ­tani a kontĂ©nert).
    • Transit grĂĄf ĂșjraĂ©pĂ­tĂ©s – GTFS frissĂ­tĂ©skor 2-5 percig nem elĂ©rhetƑ a tömegközlekedĂ©si ĂștvonaltervezĂ©s.
    • GTFS adatok idƑszerƱsĂ©ge – a menetrendek olyan frissek, amilyen friss az utolsĂł szinkronizĂĄciĂł (maximum 24 Ăłra kĂ©sĂ©s).

    ZĂĄrszĂł

    Ez a projekt szĂĄmomra a szoftveres szabadsĂĄg egyik legszebb pĂ©ldĂĄja. Egy olcsĂł, kis fogyasztĂĄsĂș Raspberry Pi-n fut egy teljes Ă©rtĂ©kƱ tĂ©rkĂ©p szolgĂĄltatĂĄs, ami semmilyen kĂŒlsƑ fĂŒggƑsĂ©ggel nem rendelkezik. A nyĂ­lt forrĂĄskĂłdĂș OpenStreetMap közössĂ©g munkĂĄja, a Photon, a GraphHopper Ă©s a MapLibre projectek lehetƑvĂ© teszik, hogy bĂĄrki a sajĂĄt kezĂ©be vegye a tĂ©rkĂ©pezĂ©st.

    A forrĂĄskĂłd Ă©s a konfigurĂĄciĂłk termĂ©szetesen elĂ©rhetƑk a sajĂĄt infrastruktĂșrĂĄmon. Ha bĂĄrki szeretne egy hasonlĂł rendszert Ă©pĂ­teni, a N.O.M.A.D. projekt remek kiindulĂĄsi alap, Ă©s az itt leĂ­rt konfigurĂĄciĂłk is szabadon felhasznĂĄlhatĂłk.

    KövetkezƑ lĂ©pĂ©skĂ©nt szeretnĂ©m kiterjeszteni a szolgĂĄltatĂĄst SzlovĂĄkiĂĄra, RomĂĄniĂĄra, AusztriĂĄra, SzlovĂ©niĂĄra Ă©s HorvĂĄtorszĂĄgra is – a KĂĄrpĂĄt-medence teljes lefedĂ©sĂ©re. TovĂĄbbĂĄ tervben van egy ĂștnyitĂĄs (road closure) tĂĄmogatĂĄs is, ahol a felhasznĂĄlĂłk jelezhetik az aktuĂĄlis lezĂĄrĂĄsokat, terelĂ©seket, ami aztĂĄn az összes felhasznĂĄlĂł szĂĄmĂĄra megjelenne.

    Ha kérdésetek van, vagy kipróbåltåtok a megoldåst és elakadtatok, nyugodtan szóljatok!

    #ĂștvonaltervezĂ©s #BKK #Docker #GraphHopper #GTFS #MapLibre #MÁV #offline #OpenStreetMap #OSM #Photon #RaspberryPi #tĂ©rkĂ©p #tömegközlekedĂ©s #VolĂĄnbusz

    @fxneumann
    Die neue Folge kenne ich noch nicht. Die erste Runde zum Thema war aber schon eine absolute Hörempfehlung und hat mir gute Impulse fĂŒr unsere MAV-Arbeit gegeben. 🙏

    #MAV #Datenschutz

    Wobei Ungarn kein Vorbild ist. Die von #ÖBB betriebenen FernverkehrszĂŒge zwischen Wien und Budapest benötigen keine Reservierung. Die von #MÁV schon. War soeben am Ticketschalter, die Person dort weiss nicht wie man eine Reservierung ausstellt und kann nur Ticket+Reservierung verkaufen đŸ€·â€â™‚ïž. Dann halt selbst via MÁV+ App. 841Ft = 2.17CHF. #Interrail

    Wien – ÖttevĂ©ny
    134km, 496hm

    Man soll­te fĂŒr den genau­en Fahr­plan die MÁV kon­sul­tie­ren, nicht nur Scot­ty. Die MÁV weiss selbst­ver­stĂ€nd­lich, wenn ihnen zwi­schen Hegy­es­ha­lom und Nickels­dorf der Fahr­plan aus dem Takt gerĂ€t, aber sie ver­rĂ€t es den Kol­le­gen jen­seits der Gren­ze nicht unbe­dingt. Wir hĂ€t­ten den 20 Minu­ten ver­spÀ­te­ten 17:46 in GyƑr erwischt, den pĂŒnkt­li­chen aber nicht. Doch sicher ist sicher, also kĂŒrzen [
]

    Gudrun in Radausflug

    More: https://le-chat-a-velo.at/2026/05/wien-oetteveny/

    #AUT #BelsƑÉszaknyugatiKĂĄrpĂĄtok #BratislavskĂœKraj #BratislavskĂœRegiĂłn #Burgenland #Donau #DonauAuenNemzetiPark #Donauradweg #Donautiefland #Duna #Dunaj #DunĂĄntĂșl #EisernerVorhangRoute #ÉszaknyugatiKĂĄrpĂĄtok #Eurovelo13 #Eurovelo6 #GyƑrMosonSopronVĂĄrmegye #HUN #Industrieviertel #InnereWestkarpaten #IronCurtainTrail #JohlerArm #JubilĂ€umsradwegR1 #Karpaten #KĂĄrpĂĄtok #Karpaty #KisKĂĄrpĂĄtok #KleineKarpaten #KleineSchĂŒttinsel #KomitatGyƑrMosonSopron #Lajta #Leitha #Litava #LonginusRadweg #MagyarorszĂĄg #MalĂ©Karpaty #MalĂœĆœitnĂœOstrov #Marchfeld #MAV #MosonDonau #MosoniDuna #MosonmagyarĂłvĂĄr #MoĆĄonskĂ©Rameno #NĂĄrodnĂœParkDonauAuen #NationalparkDonauAuen #Niederösterreich #ÖBB #ÖttevĂ©ny #PodunajskĂĄNĂ­ĆŸina #Rennrad #Slovensko #Slowakei #Standert #SVK #Szigetköz #Transdanubien #Ungarn #VnĂștornĂ©ZĂĄpadnĂ©Karpaty #Weinviertel #Westkarpaten #Wien #WieselburgUngarischAltenburg #ZĂĄpadnĂ©Karpaty

    @nolan_syreeta @shrugdealer @mutualaid @[email protected] @edendestroyer

    #MutualAid EMERGENCY 💾💕🙏🏿🙏🏿🚹🆘🚹

    I still need $675 RIGHT NOW to pay rent due Friday, bills, & purchasing food.

    Additional $1,250 covers rest through June.

    #MutualAid #MutualAidBoost #MutualAidVoid #MAV #BIPOCMA #DisabledMutualAid #BlackMutualAid
    #MABoost #HelpFolksLive2026 #Helpsky

    💾💕🙏🏿🙏🏿

    https://ko-fi.com/anthonyjkenn38399/goal?g=52
    https://cash.app/AnthonyJK6319
    https://venmo.com/u/AnthonyJK6319
    https://paypal.me/anthonyjkenn
    https://donate.stripe.com/6oE9BeeJ2c2peyYfYY

    Support AnthonyJKenn ❀

    Support AnthonyJKenn on Ko-fi While He Resolves His Disability Leave Situation

    Ko-fi