diff --git a/README.md b/README.md index 5cf68b35..e5d376cc 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Joplin](https://github.com/laurent22/joplin) - Privacy focused note-taking app - [Kanboard](https://github.com/kanboard/kanboard) - Kanboard is a free and open source Kanban project management software. - [Kapowarr](https://github.com/Casvt/Kapowarr) - Kapowarr is a software to build and manage a comic book library, fitting in the \*arr suite of software. +- [Kasm Workspaces](https://github.com/kasmtech) - Kasm Workspaces is a docker container streaming platform for delivering browser-based access to desktops, applications, and web services - [Kavita](https://github.com/Kareadita/Kavita) - Kavita is a fast, feature rich, cross platform reading server - [Libreddit](https://github.com/spikecodes/libreddit) - Private front-end for Reddit - [LibrePhotos](https://github.com/LibrePhotos/librephotos) - Complete photo management service diff --git a/apps/kasm-workspaces/config.json b/apps/kasm-workspaces/config.json new file mode 100644 index 00000000..cfa0546f --- /dev/null +++ b/apps/kasm-workspaces/config.json @@ -0,0 +1,17 @@ +{ + "name": "Kasm Workspaces", + "available": true, + "port": 8744, + "exposable": true, + "id": "kasm-workspaces", + "description": "Kasm Workspaces is a docker container streaming platform for delivering browser-based access to desktops, applications, and web services.", + "tipi_version": 1, + "version": "1.14.0", + "categories": ["utilities"], + "short_desc": "Container streaming platform.", + "author": "Kasm", + "source": "https://github.com/kasmtech", + "website": "https://www.kasmweb.com/", + "form_fields": [], + "supported_architectures": ["arm64", "amd64"] + } \ No newline at end of file diff --git a/apps/kasm-workspaces/docker-compose.yml b/apps/kasm-workspaces/docker-compose.yml new file mode 100644 index 00000000..5edee56f --- /dev/null +++ b/apps/kasm-workspaces/docker-compose.yml @@ -0,0 +1,41 @@ +version: "3.7" +services: + kasm-workspaces: + image: lscr.io/linuxserver/kasm:1.14.0 + container_name: kasm-workspaces + privileged: true + environment: + - KASM_PORT=8744 + volumes: + - ${APP_DATA_DIR}/data:/opt + ports: + - 8743:3000 + - ${APP_PORT}:8744 + restart: unless-stopped + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.kasm-workspaces-web-redirect.redirectscheme.scheme: https + traefik.http.services.kasm-workspaces.loadbalancer.server.port: 8744 + # Web + traefik.http.routers.kasm-workspaces-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.kasm-workspaces-insecure.entrypoints: web + traefik.http.routers.kasm-workspaces-insecure.service: kasm-workspaces + traefik.http.routers.kasm-workspaces-insecure.middlewares: kasm-workspaces-web-redirect + # Websecure + traefik.http.routers.kasm-workspaces.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.kasm-workspaces.entrypoints: websecure + traefik.http.routers.kasm-workspaces.service: kasm-workspaces + traefik.http.routers.kasm-workspaces.tls.certresolver: myresolver + # Local domain + traefik.http.routers.kasm-workspaces-local-insecure.rule: Host(`kasm-workspaces.${LOCAL_DOMAIN}`) + traefik.http.routers.kasm-workspaces-local-insecure.entrypoints: web + traefik.http.routers.kasm-workspaces-local-insecure.service: kasm-workspaces + traefik.http.routers.kasm-workspaces-local-insecure.middlewares: kasm-workspaces-web-redirect + # Local domain secure + traefik.http.routers.kasm-workspaces-local.rule: Host(`kasm-workspaces.${LOCAL_DOMAIN}`) + traefik.http.routers.kasm-workspaces-local.entrypoints: websecure + traefik.http.routers.kasm-workspaces-local.service: kasm-workspaces + traefik.http.routers.kasm-workspaces-local.tls: true \ No newline at end of file diff --git a/apps/kasm-workspaces/metadata/description.md b/apps/kasm-workspaces/metadata/description.md new file mode 100644 index 00000000..c1c92a68 --- /dev/null +++ b/apps/kasm-workspaces/metadata/description.md @@ -0,0 +1,8 @@ +## Kasm + +Kasm Workspaces is a docker container streaming platform for delivering browser-based access to desktops, applications, and web services. Kasm uses devops-enabled Containerized Desktop Infrastructure (CDI) to create on-demand, disposable, docker containers that are accessible via web browser. Example use-cases include Remote Browser Isolation (RBI), Data Loss Prevention (DLP), Desktop as a Service (DaaS), Secure Remote Access Services (RAS), and Open Source Intelligence (OSINT) collections. + +The rendering of the graphical-based containers is powered by the open-source project KasmVNC + +**Warning:** You will firtly need to access the port 8743 for the initial setup of the container. **If you dont do this the app won't work!**
+**Warning:** The app works with https if you dont access **all the ports** (setup and main) with https in the front you will get an empty response error. diff --git a/apps/kasm-workspaces/metadata/logo.jpg b/apps/kasm-workspaces/metadata/logo.jpg new file mode 100644 index 00000000..09a013fb Binary files /dev/null and b/apps/kasm-workspaces/metadata/logo.jpg differ