# 💻 code-server: VS Code v prohlížeči 👉 [[1.1.1 O projektu]] 👉 [[1.1.2 Vlastní digitální svět (přehled článků)]] ## 📌 Úvod: Proč code-server? [code-server](https://github.com/coder/code-server) vám umožní **spustit VS Code na serveru a přistupovat k němu přes prohlížeč**. Kódujte odkudkoliv, na jakémkoliv zařízení. Podporuje: - ✅ **Plnohodnotné VS Code prostředí v prohlížeči** - ✅ **Rozšíření z VS Code Marketplace** - ✅ **Přístup k výkonnému serveru z tabletu nebo Chromebooku** - ✅ **Konzistentní vývojové prostředí pro tým** V tomto článku si ukážeme, jak nasadit code-server v Dockeru a zabezpečit ho. ![[image_codeserver.png]] --- ## 📜 Licence a cena | Aspekt | Detail | |--------|--------| | **Licence** | MIT (plně open-source) | | **Self-hosting** | ✅ Ano, zdarma a bez omezení | | **Komerční použití** | ✅ Ano, bez omezení | | **Cloud verze** | Coder (enterprise platforma) | | **Zdrojový kód** | [github.com/coder/code-server](https://github.com/coder/code-server) | > code-server je **100% open-source pod MIT licencí**. Můžete ho používat kdekoliv, upravovat, prodávat. Firma Coder nabízí enterprise platformu s více funkcemi, ale code-server samotný je a zůstane zdarma. --- ## 🚀 Instalace v Dockeru ```yaml version: '3.8' services: code-server: image: codercom/code-server:latest container_name: code-server restart: always ports: - "8443:8080" environment: - PASSWORD=your_secure_password # nebo pro hash: HASHED_PASSWORD volumes: - code_server_config:/home/coder/.config - code_server_workspace:/home/coder/project networks: - digilifehub_network volumes: code_server_config: code_server_workspace: networks: digilifehub_network: external: true ``` 📌 **code-server je dostupný na `http://IP_ADRESA:8443`** 📌 **Pro produkci používejte HTTPS přes Traefik** --- ## ⚙️ Konfigurace ### Zabezpečení 1. **Silné heslo** – nastavte v environment variable 2. **HTTPS** – povinné pro produkci (Traefik) 3. **Firewall** – omezte přístup na IP adresy ### Nastavení VS Code - Extensions se instalují normálně přes panel - Nastavení se ukládají do `/home/coder/.config` - Workspace je v `/home/coder/project` ### Připojení Git ```bash # V terminálu code-server git config --global user.name "Your Name" git config --global user.email "[email protected]" # SSH klíče pro GitHub/GitLab ssh-keygen -t ed25519 -C "[email protected]" ``` --- ## 💡 Praktické použití ### Use case 1: Digitální nomád s iPadem **Situace:** Pracujete na cestách, máte jen iPad. Lokální vývoj není možný, ale potřebujete plnohodnotné IDE. **Řešení s code-server:** - **Server:** VPS v cloudu (Hetzner €5/měsíc, 2GB RAM stačí) - **Přístup:** Safari/Chrome na iPadu přes HTTPS - **Klávesnice:** Bluetooth klávesnice s trackpadem - **Workflow:** Git push z code-server → GitHub Actions → deploy - **Tailscale:** Bezpečný přístup bez veřejné IP **Výsledek:** Plnohodnotný vývoj na iPadu v kavárně v Bangkoku. ### Use case 2: Jednotné dev prostředí pro tým **Situace:** Tým 10 vývojářů, každý má jiný OS, jiné verze Node.js, "u mě to funguje" syndrom. **Řešení s code-server:** - **Base image:** Docker image s přesně definovanými verzemi - **Per-developer instance:** Každý má svůj code-server container - **Shared volumes:** Přístup ke společné databázi, API - **Onboarding:** Nový vývojář = URL + heslo, ready za 5 minut - **GPU:** Pro ML projekty instance s GPU **Výsledek:** "Works on my machine" = "Works everywhere" ### Use case 3: Coding bootcamp / workshopy **Situace:** Učíte programování. Studenti mají různé počítače, instalace nástrojů zabere polovinu workshopu. **Řešení s code-server:** - **Předpřipravené instance:** Každý student dostane URL - **Pre-installed:** Node.js, Python, Git, všechny dependencies - **Sandbox:** Studenti nemohou rozbít svůj počítač - **Reset:** Jedním příkazem obnovení do výchozího stavu - **Monitoring:** Učitel vidí, kdo má problém **Výsledek:** Workshop začíná kódováním, ne instalací. ### Use case 4: Raspberry Pi development station **Situace:** Vyvíjíte pro Raspberry Pi (Python, IoT). Cross-compile je složitý, testování zdlouhavé. **Řešení s code-server:** - **Instalace:** code-server přímo na Pi 4/5 (4GB+ RAM) - **Native:** Kód běží na stejné architektuře jako produkce - **GPIO:** Přímý přístup k hardware z editoru - **Preview:** Webové aplikace testujete přímo - **Remote:** Přístup k Pi odkudkoliv přes Tailscale **Výsledek:** Vývoj přímo na cílovém hardware, žádné surprisy při deployi. ### Use case 5: Contribution do open-source **Situace:** Chcete přispět do open-source projektu, ale setup lokálního prostředí trvá hodiny. **Řešení s code-server + GitHub Codespaces alternative:** - **Fork:** Projekt na GitHubu - **Clone:** Do code-server workspace - **Devcontainer:** Pokud projekt má `.devcontainer`, použijte - **Rychlost:** Server má rychlejší internet než váš domácí - **Izolace:** Nemusíte instalovat závislosti na svůj počítač **Výsledek:** První PR za hodinu místo za den. --- ## 🆚 Porovnání alternativ | Služba | Licence | Self-hosted | Cena | |--------|---------|-------------|------| | **code-server** | MIT | ✅ | Zdarma | | **GitHub Codespaces** | Proprietary | ❌ | Od $0 (limity) | | **Gitpod** | AGPL | ✅ | Od $0 (limity) | | **AWS Cloud9** | Proprietary | ❌ | Pay-as-you-go | | **Coder** | Enterprise | ✅ | Placené | --- ## 🏁 Závěr a další kroky ✅ **code-server přináší VS Code do prohlížeče.** ✅ **Ideální pro vzdálený vývoj a konzistentní prostředí.** ✅ **Self-hosted = plná kontrola nad daty.** ✅ **MIT licence – 100% open-source, bez omezení.** 👉 **Používáte vzdálené vývojové prostředí?** 🚀 --- ### ⏪ Související články ⏩ > **🔙 Předchozí článek:** > [[2025-05-01 Obsidian.md (znalostní báze a Zettelkasten)|Obsidian.md (znalostní báze a Zettelkasten)]] > > **🔜 Následující článek:** > [[2025-06-01 Gitea (lehký self-hosted Git server)|Gitea (lehký self-hosted Git server)]] #docker #vscode #codeserver #remotedevelopment #opensource #osobniDigitalizace #digilifehub