pondělí 25. srpna 2025

Android v Dockeru s Google Play: Jak spustit mobilní aplikace na PC přes webový prohlížeč

🧠 Android v Dockeru s Google Play: Jak spustit mobilní aplikace na PC přes webový prohlížeč

🚀 Úvod

Hledáš způsob, jak spustit Android aplikace přímo na svém PC bez emulátorů jako BlueStacks nebo VirtualBox? V tomto článku ti ukážu, jak pomocí Docker kontejneru s Androidem a Google Play vytvořit plnohodnotné mobilní prostředí dostupné přes webový prohlížeč. Ideální pro vývojáře, testery, YouTubery i běžné uživatele.

🧱 Co je Android v Dockeru?

Docker umožňuje spouštět izolované kontejnery s různými operačními systémy. Díky projektům jako Dockerify Android nebo budtmo/docker-android můžeš spustit Android s GUI, rootem a dokonce i s Google Play Store – vše bez nutnosti instalace emulátorů.

🔧 Jak to funguje?

  • Spustí Android 11 nebo vyšší
  • Automaticky nainstaluje PICO GAPPS (Google služby včetně Play Store)
  • Zpřístupní GUI přes webový prohlížeč (např. http://localhost:8000)
  • Umožní přístup přes ADB nebo scrcpy
  • Může být chráněn heslem pomocí Nginx proxy

🛠 Výhody pro uživatele

✅ Pro vývojáře:

  • Testování aplikací bez fyzického zařízení
  • CI/CD buildy s Android SDK
  • Root + Magisk pro pokročilé ladění

✅ Pro YouTubery:

  • Snadné nahrávání obrazovky Androidu
  • Přístup k mobilním aplikacím přes PC
  • Možnost automatizace pomocí n8n nebo Appium

✅ Pro běžné uživatele:

  • Používání mobilních aplikací bez telefonu
  • Přístup k Play Store bez Google certifikace
  • Ochrana přístupu pomocí loginu

📦 Jak začít?

1. Klonuj repozitář:

git clone https://github.com/shmayro/dockerify-android.git
cd dockerify-android

2. Spusť kontejner:

docker compose up -d

3. Otevři GUI:

http://localhost:8000

🔐 Jak přidat login ochranu?

Použij Nginx jako reverzní proxy s Basic Auth:

location / {
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
    proxy_pass http://localhost:8000;
}

🎯 Závěr

Android v Dockeru je revoluční způsob, jak spouštět mobilní aplikace na PC bez složité konfigurace. Ať už jsi vývojář, tester nebo YouTuber, tato metoda ti ušetří čas, peníze a rozšíří možnosti práce s Androidem.

pátek 22. srpna 2025

Top 5 AI nástrojů pro podnikání v roce 2025

Top 5 AI nástrojů pro podnikání v roce 2025

Jak umělá inteligence mění svět firemních technologií

AI nástroje pro podnikání

Rok 2025 přináší revoluci v oblasti podnikání díky pokročilým nástrojům umělé inteligence. Firmy všech velikostí mohou využít AI k automatizaci procesů, zlepšení zákaznické zkušenosti a zvýšení efektivity. Zde je přehled 5 nejlepších AI nástrojů, které by neměly chybět ve vašem podnikání.

1. ChatGPT Enterprise

Verze ChatGPT pro firmy nabízí bezpečné prostředí, integraci s interními daty a možnost přizpůsobení modelu. Ideální pro zákaznickou podporu, interní asistenty a analýzu dokumentů.

2. DeepSeek Coder

AI nástroj pro generování a analýzu kódu. Pomáhá vývojářům s refaktoringem, dokumentací a návrhem architektury. Vhodný pro startupy i korporace.

3. Jasper AI

Marketingový asistent poháněný AI. Vytváří texty pro weby, reklamy, e-maily a sociální sítě. Umožňuje firmám rychle škálovat obsahovou strategii.

4. Synthesia

Generování videí s AI avatary. Umožňuje vytvářet školení, prezentace a marketingová videa bez potřeby kamerového týmu. Podpora více jazyků a stylů.

5. Ollama + Open WebUI

Lokální AI platforma pro spouštění jazykových modelů s webovým rozhraním. Ideální pro firmy, které chtějí mít kontrolu nad daty a provozovat AI interně.

Doporučení pro firmy

  • Začněte s jedním nástrojem a postupně rozšiřujte integraci.
  • Věnujte pozornost ochraně dat a GDPR.
  • Školte zaměstnance v práci s AI nástroji.
  • Využijte open-source řešení pro flexibilitu a úsporu nákladů.

SEO tipy pro podnikatele

Integrace AI do vašeho webu může zlepšit SEO výkon díky personalizaci obsahu, rychlejší odezvě a lepší analýze klíčových slov. Nezapomeňte optimalizovat metadata, strukturu webu a rychlost načítání.

© 2025 pc1expert | Vše o AI pro podnikání

čtvrtek 21. srpna 2025

Jak zjistit majitele telefonního čísla – Kompletní průvodce

📱 Jak zjistit majitele telefonního čísla – Kompletní průvodce

Vyhledávání telefonního čísla

Obdrželi jste neznámý hovor nebo SMS a chcete zjistit, kdo vám volal? Existuje několik způsobů, jak identifikovat majitele telefonního čísla – od veřejných databází po moderní aplikace. V tomto článku vám představíme všechny dostupné metody.

🔍 1. Zpětné vyhledávání telefonního čísla

Nejjednodušší způsob je zadat číslo do vyhledávače jako Google nebo Seznam. Pokud je číslo veřejně dostupné (např. na webu firmy), zobrazí se relevantní výsledky.

📚 2. Veřejné databáze a online služby

📱 3. Mobilní aplikace

Existují aplikace, které automaticky identifikují volajícího:

  • TrueCaller
  • Hiya
  • CallApp

🌐 4. Sociální sítě

Telefonní čísla jsou často propojena s účty na sociálních sítích. Zkuste zadat číslo do vyhledávání na:

  • Facebook
  • LinkedIn
  • Instagram

⚖️ 5. Právní aspekty

Při vyhledávání majitele čísla je důležité respektovat soukromí a zákony o ochraně osobních údajů (např. GDPR). Informace získané nelegálně mohou být trestné.

✅ Závěr

Identifikace majitele telefonního čísla může být snadná i složitá – záleží na dostupnosti dat. Využijte kombinaci metod a vždy jednejte eticky.

Autor: pc1expert | Publikováno: {date}

Jak nasadit Ollama + Open WebUI pomocí Docker Compose

🧠 Návod: Jak nasadit Ollama + Open WebUI pomocí Docker Compose

📦 Co je Ollama + Open WebUI?

  • Ollama: Lokální nástroj pro spouštění jazykových modelů (např. LLaMA, DeepSeek, Mistral).
  • Open WebUI: Webové rozhraní pro interakci s Ollama API – přehledné, moderní a snadno použitelné.

🛠️ Předpoklady

  • Docker (verze 20.10+)
  • Docker Compose (verze 2.0+)
  • GPU (volitelné, pro akceleraci modelů)
  • Porty: 11434 (Ollama), 3000 (Open WebUI)

📄 docker-compose.yml Stack

version: '3.8'

services:

  ollama:

    image: ollama/ollama:latest

    container_name: ollama

    ports:

      - "11434:11434"

    volumes:

      - ollama_data:/root/.ollama

    restart: unless-stopped

  open-webui:

    image: ghcr.io/open-webui/open-webui:main

    container_name: open-webui

    ports:

      - "3000:8080"

    environment:

      - OLLAMA_API_BASE_URL=http://ollama:11434

    depends_on:

      - ollama

    volumes:

      - open_webui_data:/app/backend/data

    restart: unless-stopped

volumes:

  ollama_data:

  open_webui_data:

🚀 Jak to spustit

  1. Vytvoř složku projektu:
    mkdir ollama-stack && cd ollama-stack
  2. Ulož docker-compose.yml do této složky.
  3. Spusť stack:
    docker compose up -d
  4. Otevři webové rozhraní: http://localhost:3000
  5. Stáhni model (např. DeepSeek):
    docker exec -it ollama ollama pull deepseek-coder

🧩 Tipy pro produkční nasazení

  • Použij Nginx Proxy Manager pro reverzní proxy a SSL.
  • Nastav WEBUI_SECRET_KEY pro zabezpečení přístupu.
  • Pravidelně zálohuj data pomocí Docker volume backup.

N8n

Jak nasadit n8n pomocí Docker Compose

🧠 Jak nasadit n8n pomocí Docker Compose: Kompletní průvodce pro self-hosted automatizaci

Chceš mít pod kontrolou vlastní automatizační platformu bez závislosti na externích službách? n8n je open-source nástroj, který ti umožní vytvářet pokročilé workflow a integrace mezi různými službami. V tomto článku ti ukážu, jak n8n nasadit pomocí Docker Compose, zabezpečit ho pomocí Nginx Proxy Manageru a Let's Encrypt SSL certifikátu.

📦 Docker Compose YML Stack

version: "3.7"

services:
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - DB_TYPE=sqlite
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=supersecurepassword
      - N8N_HOST=n8n.example.com
      - N8N_PORT=5678
      - WEBHOOK_TUNNEL_URL=https://n8n.example.com/
    volumes:
      - ./n8n_data:/home/node/.n8n

🔐 Zabezpečení pomocí Nginx Proxy Manager

  1. Nainstaluj Nginx Proxy Manager pomocí vlastního Docker Compose stacku.
  2. Přidej proxy hosta pro n8n.example.com, který bude směřovat na http://n8n:5678.
  3. Aktivuj SSL certifikát přes Let's Encrypt přímo v Nginx Proxy Manageru.

🛠️ Co budeš potřebovat

  • Server (např. VPS na Linode nebo doma na Raspberry Pi)
  • Docker a Docker Compose
  • Doménu (např. přes IONOS)
  • Základní znalosti práce s Linuxem a Dockerem

🚀 Výhody self-hosted n8n

  • Plná kontrola nad daty a integracemi
  • Možnost napojení na interní systémy (NAS, ESP32, MQTT, apod.)
  • Automatizace bez omezení třetích stran

📌 Tipy od Adama

  • Používat Portainer pro správu kontejnerů
  • Automatizovat zálohování pomocí n8n workflow
  • Vytvořit si vlastní dashboard pro monitoring a správu

úterý 12. srpna 2025

Portainer na Raspberry Pi 5 – Návod + skripty

Portainer CE na Raspberry Pi 5 – Kompletní návod + skripty

Aktualizováno: · Autor: @pc1expert

V tomto článku najdeš krok za krokem instalaci Dockeru, Docker Compose pluginu, a nasazení Portainer CE + Watchtower na Raspberry Pi 5. Všechny skripty jsou níže v kopírovatelných blocích — stačí kliknout na „Kopírovat“ nebo stáhnout soubor.

1) Instalace Dockeru

Nejjednodušší způsob instalace Dockeru na Raspberry Pi je přes oficiální skript.

curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $USER
sudo reboot

2) Instalace Docker Compose pluginu

Doporučený postup pro Raspberry Pi (Debian/Ubuntu/Raspberry OS):

sudo apt update
sudo apt install -y docker-compose-plugin

3) docker-compose soubor (portainer.yml)

Vytvoř si složku (např. docker-admin) a ulož tento soubor jako portainer.yml.

version: "3.8"

services:
  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer
    restart: always
    ports:
      - "8000:8000"
      - "9443:9443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data

  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command: --cleanup --interval 86400
    # --cleanup smaže staré image po aktualizaci
    # --interval 86400 = kontrola jednou denně

volumes:
  portainer_data:

Spuštění:

docker compose -f portainer.yml up -d

4) Přístup do Portaineru

Otevři v prohlížeči:

https://IP_ADRESA_RPI:9443

Při prvním spuštění nastavíš admin uživatele. Portainer umožňuje spravovat kontejnery, sítě, svazky, logy a deployments skrze GUI.

5) Tipy a rozšíření

  • Pro monitoring přidej Glances nebo Netdata — já doporučuju Glances (docker image nicolargo/glances:latest-full).
  • Watchtower automaticky aktualizuje image — ve výchozím nastavení bez notifikací. Pokud chceš notifikace, nastav email nebo Slack webhook přes environment proměnné.
  • Zálohuj data z volume portainer_data pravidelně.
Potřebuješ, abych přidal i Glances a ukázal konfiguraci notifikací pro Watchtower? Napiš a doplním.

čtvrtek 7. srpna 2025

Jak začít s ESP32 a DHT22 (měření teploty a vlhkosti) v Arduino IDE

ESP32 + DHT22 Web Server Návod

Jak rozchodit ESP32 a DHT22 jako webserver

Tento návod tě provede krok za krokem, jak změřit teplotu a vlhkost pomocí senzoru DHT22 a vývojové desky ESP32. Na konci budeš mít webovou stránku, kde si tyto hodnoty zobrazíš.

1. Co budeš potřebovat

  • ESP32 desku
  • DHT22 senzor (nebo AM2302)
  • 3 vodiče Dupont
  • Arduino IDE
  • USB kabel

2. Přidání ESP32 do Arduino IDE

  1. Otevři Arduino IDE
  2. Jdi do Soubor → Předvolby
  3. Do pole "Správce dalších desek – URL" vlož:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  4. Potvrď kliknutím na OK
  5. Jdi do Nástroje → Deska → Správce desek, vyhledej esp32 a nainstaluj

3. Instalace knihoven

  • DHT sensor library (od Adafruit)
  • Adafruit Unified Sensor
  • ESPAsyncWebServer
  • AsyncTCP

4. Zapojení DHT22

  • VCC → 3.3V nebo 5V na ESP32
  • GND → GND
  • DATA → GPIO4 (nebo jiný dle kódu)

5. Kód pro webový server

#include <WiFi.h>
#include <AsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include "DHT.h"

const char* ssid = "TVOJE_WIFI";
const char* password = "TVOJE_HESLO";

#define DHTPIN 4
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);
AsyncWebServer server(80);

String getSensorReadings() {
  float temperature = dht.readTemperature();
  float humidity = dht.readHumidity();

  if (isnan(temperature) || isnan(humidity)) {
    return "Chyba při čtení ze senzoru!";
  }

  String readings = "

ESP32 - DHT22

"; readings += "

Teplota: " + String(temperature) + " °C

"; readings += "

Vlhkost: " + String(humidity) + " %

"; return readings; } void setup() { Serial.begin(115200); dht.begin(); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); } server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){ request->send(200, "text/html", getSensorReadings()); }); server.begin(); } void loop() { }


🚀 9. Nahrání do ESP32


Klikni na tlačítko ✓ Zkontrolovat (Verify)

Klikni na tlačítko → Nahrát (Upload)

Po úspěšném nahrání otevři Sériový monitor (lupa vpravo nahoře)

Zobrazí se IP adresa ESP32

Tu zadej do webového prohlížeče (např. http://192.168.1.125)

středa 30. dubna 2025

Propojení sítí přes Tailscale, MikroTik a Raspberry Pi VPN bez veřejné IP

 

Úvod

Tailscale je jednoduchý nástroj pro vytvoření bezpečné VPN založené na WireGuard. V tomto projektu jsme využili Tailscale pro propojení dvou sítí:

  • Domácí síť: 192.168.11.0/24

  • Vzdálená síť: 10.0.1.0/24

Cílem je, aby zařízení v jedné síti mohla komunikovat se zařízeními v druhé síti skrze Raspberry Pi s Tailscale a MikroTik router.

Síťová topologie

Síťový diagram


1. Instalace Tailscale na Raspberry Pi

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --advertise-routes=10.0.1.0/24



Povolte route v Tailscale admin rozhraní.
 
 

2. Povolení směrování v Raspberry Pi

echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
 

3. NAT a forwardování přes iptables – Vysvětlení

Aby Raspberry Pi mohlo fungovat jako brána mezi dvěma sítěmi 

(například mezi domácí 192.168.11.0/24 a vzdálenou 10.0.1.0/24),

 je potřeba na něm povolit tzv. packet forwarding a správně nastavit

 iptables – nástroj pro řízení síťového provozu v Linuxu.

 

Co dělají tyto příkazy:

sudo iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -d 10.0.1.0/24 -j MASQUERADE

Tento řádek říká, že když zařízení z domácí sítě (192.168.11.0/24)

  •  komunikuje se zařízeními ve vzdálené síti (10.0.1.0/24),

     má se jejich IP adresa přepsat (tzv. masquerade – maskování).

    Jinými slovy: Raspberry Pi „převleče“ pakety tak, aby vypadaly,

     že pochází přímo od něj – podobně jako NAT v routeru.

  •  

    sudo iptables -A FORWARD -s 192.168.11.0/24 -d 10.0.1.0/24 -j ACCEPT
     

    Toto pravidlo povoluje směr provozu z domácí sítě do vzdálené. 

     

     

    sudo iptables -A FORWARD -s 10.0.1.0/24 -d 192.168.11.0/24 -j ACCEPT

    Toto pravidlo naopak umožňuje odpovědi a další komunikaci zpět

     – ze vzdálené sítě do domácí

    Uložení pravidel

    Ve výchozím stavu se iptables pravidla po restartu ztratí.

     Proto doporučuji nainstalovat a použít nástroj iptables-persistent,

     který umožňuje jejich trvalé uložení:

     

    sudo apt install iptables-persistent
    sudo netfilter-persistent save


    Tím se uloží aktuální stav iptables do souborů a budou znovu načteny po každém restartu. 



     

     

     

     

     

    4. MikroTik směrování

    Otevřete terminál MikroTiku nebo použijte WinBox a vložte:

    /ip route add dst-address=10.0.1.0/24 gateway=192.168.11.2 distance=1

     

    🏁 Výsledek

    Zařízení z jedné sítě mohou komunikovat s druhou přes zabezpečené VPN tunely díky

     Tailscale a jednoduchému nastavení routování.

     

     
     

    pátek 21. března 2025

    Stahování z YouTube videí pomocí Linux WSL2 a yt-dlp

     

    1. Úvod

     

    Je zapotřebí wsl2 subsystem pro linux nebo linux OS 

    yt-dlp je pokročilý nástroj pro stahování videí z YouTube a dalších platforem.

     Tento článek popisuje instalaci, konfiguraci a použití yt-dlp

    včetně stahování videí dostupných pouze pro členy.


    2. Instalace yt-dlp

    2.1 Linux (Debian/Ubuntu)

    sudo apt install yt-dlp

    Nejnovější verzi můžeš stáhnout přímo z GitHubu:

    sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp

     -o /usr/local/bin/yt-dlp

     

    sudo chmod a+rx /usr/local/bin/yt-dlp -nastaví opravnění

    Ověření instalace:

    yt-dlp --version

    2.2 Windows

    Stáhni yt-dlp.exe z GitHubu a umísti ho do složky,

     která je v PATH, nebo ho používej přímo ze staženého umístění.


    3. Výběr umístění stahování

    Pokud chceš určit vlastní složku pro stažená videa, použij -o (output):

    yt-dlp -o "~/Stahování/%(title)s.%(ext)s" "URL_VIDEA"

    Můžeš použít i složku dle názvu playlistu:

    yt-dlp -o "~/Stahování/%(playlist_title)s/%(title)s.%(ext)s" "URL_PLAYLISTU"

     

     

     

     

     

     

     


    4. Stahování videí dostupných pouze pro členy

    4.1 Použití cookies pro autentizaci (doporučený způsob)

    1. Nainstaluj rozšíření pro export cookies:

    2. Přihlas se na YouTube.

    3. Exportuj cookies a ulož soubor např. jako cookies.txt.

    4. Použij cookies při stahování:

    yt-dlp --cookies cookies.txt -o "~/Stahování/%(playlist_title)s/%(title)s.%(ext)s" 

    "URL_PLAYLISTU"

    4.2 Automatický export cookies

    Můžeš získat cookies přímo z prohlížeče (funguje pouze v některých systémech):

    yt-dlp --cookies-from-browser chrome -o "~/Stahování/%(playlist_title)s/%(title)s.%(ext)s" 

    "URL_PLAYLISTU"

    Změň chrome na firefox, pokud používáš Firefox.


    5. Stahování celého seznamu videí (playlistu)

    Stažení celého playlistu je jednoduché:

    yt-dlp -o "~/Stahování/%(playlist_title)s/%(title)s.%(ext)s" "URL_PLAYLISTU"

    Můžeš přidat i parametr -f bestvideo+bestaudio pro nejlepší kvalitu:

    yt-dlp -f bestvideo+bestaudio -o "~/Stahování/%(playlist_title)s/%(title)s.%(ext)s"

     "URL_PLAYLISTU"


    6. Bezpečnostní doporučení

    • Nikdy nezveřejňuj soubor cookies.txt, obsahuje autentizační údaje!

    • Cookies mají omezenou platnost – je nutné je občas znovu exportovat.

    • Pokud stahování nefunguje, zkus cookies znovu exportovat.


    7. Závěr

    Použití yt-dlp umožňuje efektivní stahování videí, včetně těch dostupných pouze pro členy.

     Nejbezpečnější metodou je export cookies z prohlížeče a jejich použití s yt-dlp

    Tím se vyhneš přímému zadávání přihlašovacích údajů.

    Více informací v dokumentaci yt-dlp: https://github.com/yt-dlp/yt-dlp