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)