Ostatnio znalazłem i uruchomiłem u siebie nowy docker Kasm Workspaces. Jest to dość ciekawe rozwiązanie aby mieć dostęp przez przeglądarkę do komunikatorów lub nawet pełnego systemu zdalnie.

Znalazłem fajną instrukcję jak skonfigurować sobie Kasm Workspaces w swoim dockerze używając docker compose.
Poniżej mój gotowy yaml do uruchomienia:
# source https://docs.linuxserver.io/images/docker-kasm
services:
kasm:
image: lscr.io/linuxserver/kasm:latest
container_name: kasm
privileged: true
#security_opt:
#- apparmor:rootlesskit #optional
environment:
- KASM_PORT=8443
- NVIDIA_VISIBLE_DEVICES=all
volumes:
- /mnt/dane/container/kasm/opt:/opt
- /mnt/dane/container/kasm/profiles:/profiles #optional
#- /dev/input:/dev/input #optional
#- /run/udev/data:/run/udev/data #optional
ports:
- 3000:3000
- 8443:8443
restart: unless-stopped
Po uruchomieniu przechodzimy na stronę swojego serwera z portem 3000 (należy pamiętać aby wywołać ją na protokole https)
Po przejściu przez prosty i intuicyjny instalator uruchamiamy już nasz docelowy system:

Po zalogowaniu i wybraniu co chcemy zainstalować należy skonfigurować dwie rzeczy.
Pierwszą jest ustawienie w każdej aplikacji w ustawieniach persistent storage aby nasze zmiany i pliki były zapisywane:
1. Wchodzimy w Admin > Workspaces > zaznaczamy wybraną aplikację i klikamy Edit:

2. Przewijamy w dół aż znajdziemy pole Persistent Profile Path gdzie wpisujemy poniższą linijkę (dla innych aplikacji zmień fragment signal na nazwę tej aplikacji):
/profiles/signal/{username}/

Jeśli używasz tak jak ja Nginx Proxy Manager to po przekierowaniu portu 8443 na zewnątrz bedziesz domyślnie miał problem z uruchamianiem aplikacji które będą „wisiały” na login screenie.
Aby rozwiązać ten problem przechodzimy w Admin > Infrastructure > Zones i edytujemy swoją domyślną strefę:

Przewijamy ustawienia do sekcji Proxy Connections w której ustawiamy wartość Proxy Port na 0 (domyślnie jest nasz ustawiony port 8443):

Gotowe 🙂
Teraz nasze aplikacje będą zapamiętywać ustawienia oraz działać przez nasze reverse proxy nginx.

Linkografia: