Evo kompletnog, visoko osiguranog docker-compose.yml fajla optimizovanog za Windows 11 i WSL2 backend, koji maksimalno izoluje Thunderbird od vašeg host sistema.
docker-compose.yml
YAML
version: '3.8'
services:
thunderbird:
image: jlesage/thunderbird:latest
container_name: thunderbird_secure
restart: unless-stopped
# ------------------------------------------------------------
# 1. MREŽA I PORTI
# Pristup je ograničen isključivo na localhost (127.0.0.1)
# ------------------------------------------------------------
ports:
- "127.0.0.1:5800:5800"
# ------------------------------------------------------------
# 2. VOLUMENI (IZOLACIJA FAJLOVA)
# Koristimo namenski Docker Volume umesto direktnog host foldera,
# čime se fajlovi drže unutar WSL2 virtuelne sredine.
# Ako preuzimate priloge, idu u izolovan privremeni folder (tmpfs).
# ------------------------------------------------------------
volumes:
- thunderbird_config:/config:rw
tmpfs:
- /tmp:exec,mode=1777
- /config/Downloads:rw,noexec,nosuid,nodev
# ------------------------------------------------------------
# 3. KORISNIČKA PRAVA I BEZBEDNOST (CONTAINER HARDENING)
# Aplikacija NE radi kao root korisnik.
# ------------------------------------------------------------
environment:
- USER_ID=1000
- GROUP_ID=1000
- TZ=Europe/Belgrade
- CLEAN_TMP=1
# Opciono: Postavite lozinku za web pristup ako želite dodatni sloj
# - WEB_LISTENER_PASSWORD=VasaJakaLozinka
# Odbacivanje svih nepotrebnih Linux privilegija (Capabilities)
cap_drop:
- ALL
# Onemogućavanje povećenja privilegija unutar kontejnera
security_opt:
- no-new-privileges:true
# Sistem fajlova kontejnera postavljen kao Read-Only
# (samo izričito definisani volumeni/tmpfs imaju upis)
read_only: false # jlesage slike zahtevaju upis u određene sistemske foldere, ali cap_drop blokira zloupotrebu
# ------------------------------------------------------------
# 4. OGRANIČENJE RESURSA
# Sprečava potencijalni DoS/Ransomware da optereti CPU/RAM hosta
# ------------------------------------------------------------
deploy:
resources:
limits:
cpus: '2.0'
memory: 2048M
reservations:
memory: 512M
volumes:
thunderbird_config:
driver: local
Zašto je ovo podešavanje bezbedno?
- Izolovani Docker Volume (
thunderbird_config):Umesto da mapirate folder sa Windows drajva (npr.C:\Users\...), koristite interni Docker volumen. Eventualni zlonamerni softver nema dodirnih tačaka sa vašim Windows fajlovima. - Vezivanje samo za Localhost (
127.0.0.1:5800):Niko sa lokalne mreže (WiFi/LAN) ne može pristupiti web interfejsu Thunderbird-a — pristup je moguć samo sa računara na kom je pokrenut. - Odbacivanje Linux privilegija (
cap_drop: -ALL):Kontejner nema nikakve sistemske administrativne dozvole. Čak i ako napadač preuzme kontrolu nad aplikacijom unutar kontejnera, blokiran je da vrši napredne sistemske pozive. - Onemogućeno povećanje privilegija (
no-new-privileges:true):Sprečava exploite koji pokušavaju da dobijurootprava unutar kontejnera. - Ograničena Downloads zona (
noexecna/config/Downloads):Fajlovi preuzeti unutar Thunderbird-a ne mogu se direktno izvršiti unutar kontejnera.
Kako pokrenuti?
- Otvorite PowerShell ili Terminal u folderu gde ste sačuvali
docker-compose.yml. - Pokrenite komandu:Bash
docker compose up -d - Otvorite vaš pretraživač i idite na:Plaintext
http://127.0.0.1:5800
https://github.com/jlesage
U zvaničnoj
jlesage/thunderbird slici pokreće se Alpine Linux.Zašto baš Alpine Linux?
- Izuzetno mali otisak (Lightweight): Osnovna Alpine distribucija zauzima svega oko 5 MB. Cela Docker slika sa Thunderbird-om i grafičkim okruženjem ostaje veoma kompaktna.
- Bezbednost: Alpine koristi musl libc i BusyBox, kao i kompajliranje sa hardened bezbednosnim opcijama (poput PaX i SSP), što drastično smanjuje površinu za potencijalne napade (attack surface).
- Jednostavnost: Koristi sopstveni, izuzetno brz menadžer paketa — apk (Alpine Package Keeper).
Kako da proverite direktno u kontejneru?
Ako je kontejner pokrenut, možete pročitati informacije o distribuciji pokretanjem sledeće komande u Vašem terminalu / PowerShell-u:
Bash
docker exec -it thunderbird_secure cat /etc/os-release
Dobisaćete izlaz sličan ovome:
Plaintext
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.20.x
PRETTY_NAME="Alpine Linux v3.20"
Ako ikada budete ulazili u kontejner radi instalacije dodatnih alata (npr. fontova ili mrežnih dijagnostičkih alata), umesto
apt ili dnf koristićete Alpine-ov apk paket menadžer:Bash
# Primer: Instalacija dodatnih fontova unutar kontejnera
docker exec -it thunderbird_secure apk add font-noto
Koja je svrha svega ovog?
Jednostavno da Vam malware iz mejlova ne iscuri u Windows 11.