Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Matho23

Stran: [1]
1
Server / Re:Decentralizovaný hosting s vysokou dostupností
« kdy: 17. 07. 2024, 11:34:36 »
Riesenie je:
- Docker swarm, minimalne 3 nody (jeden co bude presmerovavat traffic na 2 uzly)
- GlusterFS pre real-time synchronizovanie assetov (napriklad uploadnute subory webu)
- Traefik
- replikovana databaza - pre PostgresSQL existuje Spilo projekt od Zalando, ako je to u MySQL neviem
- HaProxy

2
My v eshope ktory vyvijame sme vlani integrovali Kevin - https://www.kevin.eu Po API integracii sa zakaznikom zobrazi modalne okno, v ktorom si vyberu jednu z bank v danej krajine, ktora je podporovana a po prihlaseni do internet bankingu si vie zakaznik schvalit predvyplneny formular s udajmi o platbe. Eshop je nasledne v radovo desiatok sekund notifikovany o uspesnosti spracovania transakcie.

3
Distribuce / Re:Vhodný Raspberry Pi OS pro RPi 5 4GB
« kdy: 24. 02. 2024, 19:42:44 »
Neviem presne co na tom RPI 5 chces spustat, ale ja mam velmi dobre skusenosti s Ubuntu na RPI v4. Bezi mi to na RPI v4 pod 20.04 v pohode.

Podla https://ubuntu.com/download/raspberry-pi je Ubuntu 23.10 kompatibilne s RPI v5, ale neviem do akej miery. Mozes ked tak skusit.

4
Sítě / Re:AP UniFi a nasazení Network Server
« kdy: 24. 02. 2024, 19:01:10 »
Ja mam doma Unifi asi rok, rozbehal som to na Rasperry Pi 4. Mam do neho pripojeny SSD disk cez USB + PiJuice Hat. V tom Hat-e je bateria, takze v pripade vypadku elektriky to par desiatok minut vydrzi utiahnut to RPI. Mam tam nastaveny aj soft shutdown v pripade, ze stav baterie klesne pod 20 %.

K samotnemu Unifi controlleru: ja velmi odporucam riesenie cez Docker. 

Spisem ti tu postup, ak si to budes chcet rozbehat na RPI s microSD kartou.

1) Nainstaluj do tvojho sucasneho OS RPI Imager nastroj a priprav cez neho bootovatelnu microSD kartu do RPI. Mne sa osvedcilo ako cielove OS Ubuntu OS - tj vyber OS Ubuntu 22.04.03 LTS 64bit server edicia

2) Zapoj RPI do siete a zisti jeho IP, bud v routeri alebo nmapom ( vychadzam z toho, ze RPI bolo pripojene do siete s rozsahom 10.0.3.X )

$ nmap 10.0.3.1-255

3) Dajme tomu, ze IP RPI je 10.0.3.39
Pripoj sa do RPI a nainstaluj Docker

$ ssh ubuntu@10.0.3.39

4) Instalacia dockeru a docker compose

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
   
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
   
$ sudo add-apt-repository \
   "deb [arch=arm64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
   
$ sudo apt-get update

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

5) Test Docker image

$ sudo docker run hello-world

6) Docker compose instalacia

$ sudo apt-get install docker-compose

$ docker-compose --version

7) Rozbehanie Unifi controlleru

$ mkdir -p ~/docker/build/unifi-controller
$ cd ~/docker/build/unifi-controller

$ vim docker-compose.yml

Kód: [Vybrat]
version: "2.1"
services:
  unifi-controller:
    image: lscr.io/linuxserver/unifi-controller:8.0.24
    container_name: unifi-controller
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - MEM_LIMIT=1024 #optional
      - MEM_STARTUP=1024 #optional
    volumes:
      - /data/unifi-controller:/config
    ports:
      - 8443:8443
      - 3478:3478/udp
      - 10001:10001/udp
      - 8080:8080
      - 1900:1900/udp #optional
      - 8843:8843 #optional
      - 8880:8880 #optional
      - 6789:6789 #optional
      - 5514:5514/udp #optional
    restart: unless-stopped

$ sudo mkdir -p /data/unifi-controller


8 Nastav staticku IP pre Raspberry PI (na hodnotu 10.0.3.30/24)

$ sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

a vloz do toho konfigu:
Kód: [Vybrat]
network: {config: disabled}
Potom otvor
$ sudo vim /etc/netplan/50-cloud-init.yaml

a vloz (nahrad) s tymto konfigom:

Kód: [Vybrat]
network:
  ethernets:
    eth0:
      addresses: [10.0.3.30/24]
      routes:
        - to: default
          via: 10.0.3.1
      nameservers:
        addresses: [8.8.8.8]
  version: 2
 
 
Yaml subory su odsadene dvomi medzerami. Nepouzivaj taby, len medzery. Ak ten yaml nebude spravne naformantovany, raisne to chybu.

Vykonaj zmeny:
$ sudo netplan apply

Vypis si aktualne pridelenu IP
$ ip add show

Ale nevypise ti ju, budes kvoli zmene IP odhlaseny z ssh session. Takze sa prihlas znovu na novu staticku IP. Pripadne nasledne restartuj RPI aby si sa presvedcil ze to nastavenie je persistentne.

9) Spustenie Unifi controlleru

$ cd ~/docker/build/unifi-controller

$ sudo docker-compose up -d

Pockat chvilu kym to nastartuje

Webui bude dostupne na https://10.0.3.30:8443 , pokracuj v instalacii. Mozes si vytvorit lokalny "offline" ucet.

10) Ak chces stopnut Docker kontajner, tak
$ sudo docker-compose down

11) Nastavenie Unifi siete
v nastaveniach nastav override Inform host na 10.0.3.30

12) Ak ti nenaskocilo nove Unifi zariadenie v UI, mozes mu trigerovat adaptaciu rucne:

$ ssh ubnt@IP-UNIFI-ZARIADENIA-NA-ADAPTACIU
defaultne heslo vyresetovaneho Unifi je ubnt

$ info

set-inform http:/10.0.3.30:8080/inform

Teraz by ti mala vyskocit v prehliadaci ziadost o adaptaciu zariadenia. 

5
Server / Re:Správa infrastruktury pro webové aplikace
« kdy: 14. 10. 2023, 20:43:00 »
Jaké jsou reálné poklesy rychlosti aplikace s Dockerem? Netvrďte mi, že žádné.

Ja pouzivam Ubuntu, ale ak pouzivas MacOS tak tam bezi Docker pomalsie ako na Linuxe. Ako je to s Windowsom neviem. Ak pogooglis, mozno najdes aj nejake zdroje so statistikami.

Citacia z clanku co som nasiel na webe:
Citace
Docker containers run on top of a Linux kernel; meaning Docker on Linux can use the native kernel and the underlying virtual file system is shared between the host and container.

On Mac, you’re using Docker Desktop. This native MacOS application is bundled with an embedded hypervisor named HyperKit which provides the kernel capabilities of Linux. However, unlike Docker on Linux, any file system changes need to be passed between the host and container via Docker Desktop, which can soon add a lot of additional computational overhead, therefore causing performance problems when dealing with high-throughput applications.

6
Server / Re:Správa infrastruktury pro webové aplikace
« kdy: 14. 10. 2023, 16:12:05 »
Ku tomu Cloudflare:

Pozri ich web - https://www.cloudflare.com  Pricing najdes na linku https://www.cloudflare.com/plans/ Zakladny balik je zdarma.

Ochrana voci DDOS spociva v tom, ze musis zmenit DNS NS (nameserveri) na danej domene na Cloudflare. Tym padom vlastne vsetok traffic na domene bude routovany cez Cloudflare. Vdaka tomu ak zistia mozny DDOS utok na danej domene, vedia prepnut nastavenie uctu do Under Attack modu a zobrazit navstevnikom webu nejaky jednoduchy javascript challenge. Nieco ako recaptcha. To by malo odfiltrovat botov a utocnikov a umoznit beznym navstevnikom webu zobrazit web a tym znizit load servera. Je tam moznost si vyklikat aj nejake pravidla, pripadne si to zapnut rucne, ak zistis sam, ze na teba niekto utoci.

Okrem tejto DDOS ochrany tam maju kopec analytickych reportov ale i moznost vyuzivat ich ssl certifikat, teda nemusis si riesit auto obnovovanie letsencrypt certifikatu na serveri.

Je tam aj moznost status page. Tj ak mam server down (ale ze uplne down) tak to zobrazi ich status page, ze navstevnikova internetova konektivita je v poriadku a ze problem je len s nedostupnostou webu. V platenej verzii sa da ta status page kustomizovat.

Zaroven sa da Cloudflare vyuzit aj ako CDN.

Maju tam vela moznych nastaveni, len neviem uplne co vsetko je for free. Tym free balickom sa ta snazia nalakat aby si casom presiel na paid verziu.

Nie kazdy vsak je ochotny menit DNS NS zaznamy. Ale ak uz budes, pomoze ti tento tool na verifikaciu stavu DNSSEC https://dnsviz.net/


7
Server / Re:Správa infrastruktury pro webové aplikace
« kdy: 13. 10. 2023, 19:43:14 »
Ahoj

Ja bezim uz takmer 3 roky na dvoch kusoch Raspberry PI 4 s 8GB ram. Primarne mi tam bezia nejake  drobne weby napisane v Ruby on Rails. 

Moj tech stack je nasledovny:
- Docker - kazda RoR app ma svoj docker container
- Docker Swarm - bezim v Docker swareme, mam master a worker node (lepsie by bolo mat aj treti cisto pre load balancer)
- GlusterFS - distribuovany file system (ak mi umrie jedno Raspberry PI, tak to druhe ma realtime zalohu uplodnutych dokumentov)
- Traefik - proxy, ktora je na vstupnom bode a rozhadzuje prichadzajuce requesty na konkretne docker kontajnery (zjednodusene). Vie sama riesit aj Letsencrypt automaticke obnovovanie certifikatov
- PostgreSQL - databaza, ktora vdaka Patroni vie bezat v High Availability rezime (realne sa mi synchronizuju navzajom, takze ked mi zobrie jedno RPI, mam realtime zalohu na druhom RPI)
- Portainer - GUI manazment pre Docker kontajnery a Docker Swarm
- Zabbix - monitoring infra
- UptimeRobot - externy monitoring dostupnosti webov
- Cloudflare - DDOS ochrana webov

Clanok najdes na https://github.com/Matho/dockerize-pi-2 Len upozornujem ze nie je to tutorial ktory by bol vyladeny pre publikum, skor su to take moje poznamky pre seba, aby som vedel co som si ako nasetupoval ked som to robil.

Verim, ze by ti to mohlo pomoct.

Poznamka: Niesom sysadmin, ale ako odrazovy mostik to stacit bude.

8
Sítě / Re:Dálkový přístup na kamerový systém
« kdy: 16. 09. 2023, 15:40:59 »
Ja mam na chate kamery a tiez tam nemam moznost verejnej IP. Mam tam vsak Raspberry PI a aj doma mam Raspberry PI. Doma mam verejnu IP. Ja vsak na chate nemam NVR hardver.

Setup mam urobeny nasledovne:
- doma mam na RPI Docker stack (Traefik, Docker swarm, Docker compose, Portainer ...)
- na domacom RPI mi bezi Pgrok daemon - https://github.com/jerson/pgrok
- na chate mi bezi Pgrok client
- na chate mam nainstalovany na RPI aj Nginx a ten mi robi proxy pass na Ipecky kamier
- takze na chate na IP 10.0.3.X:Port mi bezi IP kamery, ktoru chcem cez Pgrok pretunelovat domov
- na domacom RPI mi bezi na 10.0.2.X:Port pretunelovana IP vzdialenej kamery na chate
- cez Traefik tomu vystavim Letsencrypt certifikat a hostujem na mojej subdomene
- pokial ti staci pretunelovat https (443) port do administracie kamery (alebo do administracie NVR), potialto ti to staci - vies sa prihlasit do backendu kamery/NVR a pozerat live streaming tam

Pokrocilejsie nastavenie:
- ja mam nastaveny na kamere trigger, ze nahrava len pri detekcii pohybu + v noci mi to posiela email s fotkou z kamery
- na domacom RPI mam nainstalovany open source nastroj Shinobi https://shinobi.video/
- ten ma zabudovane FTPcko, po zadani poctu dni automaticky maze nahravky a vies si ich cez browser prehravat
- zial, ak ti kamera nahrava v h265, tak na Linuxe si ich budes musiet stahovat, nevie ti to prehrat v browseri
- ja mam teda nastavenu kameru tak, ze pri detekcii pohybu nahrava video sekvenciu na FTP v projekte Shinobi (hostovane doma)
- Shinobi vies rozbehat ako Docker image
- Shinobi umoznuje aj prehravanie live streaming-u kamier
- potialto vsak zatial tunelujeme len 443 port kamery
- vies vsak vyuzit projekt https://github.com/TareqAlqutami/rtmp-hls-server
- ten ti vie premapovat komunikaciu z rtmp portu kamery na prehratelny format v browseri
- robi to pomocou ffmpegu, ale pokial to vhodne nastavis, nevytazuje to velmi RPI ( a zaroven nesledujes ten stream 24/7)
- teraz uz mam na chate moznost ze na IP 10.0.3.Y:Port mam hls stream
- ten si opat pretunelujem cez Pgrok, idealne aj spolu s http auth
- na domacom RPI mam ipecku s portom, na ktorej mam live stream kamery
- opat spolu s Traefikom si nastavim subdomenu s certifikatom na ktorej mi bezi stream
- vlozim nastavenie live streamu do Shinobi a okrem video nahravok trigerovanych pohybom si viem zapnut kedykolvek aj live stream
- tj namiesto vzdialeneho NVR hardveru na chate, som si rozbehal na domacom RPI Shinobi

Uznavam, ze je to docela (casovo) narocne to rozbehat, ale ak by si do toho chcel ist, viem ti spisat postup, nejake poznamky z toho mam. Vacsimu mam nainstalovanu cez Docker.

Stran: [1]