# 💻 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