docker.recipes

Kasm Workspaces

advanced

Container streaming platform for browser-based access to desktops and applications.

Overview

Kasm Workspaces is an enterprise-grade container streaming platform that delivers browser-based access to desktops and applications through containerized environments. Originally developed to address the security and accessibility challenges of remote work, Kasm revolutionizes how organizations provide isolated computing environments by streaming full desktop experiences or individual applications directly to web browsers without requiring client-side installations or VPN connections. This approach eliminates the traditional attack vectors associated with endpoint devices while providing pixel-perfect streaming through modern web technologies. This production-grade deployment combines Kasm Workspaces with PostgreSQL for comprehensive workspace management, session tracking, and user authentication data, while Redis handles high-speed caching of session states, real-time messaging between streaming components, and temporary data for active workspace connections. PostgreSQL's ACID compliance ensures data integrity for user accounts and workspace configurations, while Redis's sub-millisecond response times enable smooth real-time interactions between users and their streamed environments. IT administrators managing remote workforces, security-conscious organizations requiring zero-trust computing environments, and development teams needing isolated testing environments will find this stack invaluable. The combination delivers enterprise-scale container streaming with the reliability of PostgreSQL's proven data management and Redis's performance optimization for concurrent user sessions, making it ideal for organizations transitioning from traditional VDI solutions to modern browser-based workspace delivery.

Key Features

  • Browser-based desktop streaming with no client software requirements
  • Container isolation providing complete workspace separation between users
  • PostgreSQL-backed user management with role-based access controls and session tracking
  • Redis-powered real-time session state management for instant workspace resume
  • Multi-architecture container support for diverse application deployment
  • Built-in workspace templates for common development and productivity environments
  • Advanced streaming protocols optimized for low-latency remote desktop performance
  • Comprehensive audit logging stored in PostgreSQL for compliance requirements

Common Use Cases

  • 1Remote workforce enablement with secure browser-based desktop access
  • 2Development environment standardization across distributed teams
  • 3Secure contractor access to internal applications without VPN requirements
  • 4Educational institutions providing students with consistent computing environments
  • 5Financial services requiring isolated trading or analysis workstations
  • 6Healthcare organizations needing HIPAA-compliant remote workstation access
  • 7Software companies delivering SaaS applications through containerized environments

Prerequisites

  • Docker host with minimum 8GB RAM (Kasm Workspaces requires 4GB+ for core services)
  • PostgreSQL requires minimum 1GB RAM for production user management workloads
  • Redis needs 512MB+ RAM for session caching and real-time messaging
  • Port 443 available for HTTPS access to Kasm web interface
  • Valid SSL certificate for production deployment (self-signed acceptable for testing)
  • Understanding of container orchestration for workspace template management

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 kasm:
3 image: kasmweb/kasm-workspaces:latest
4 ports:
5 - "443:443"
6 volumes:
7 - kasm_data:/opt
8 environment:
9 KASM_PORT: 443
10 privileged: true
11 networks:
12 - kasm-net
13 restart: unless-stopped
14
15volumes:
16 kasm_data:
17
18networks:
19 kasm-net:
20 driver: bridge

.env Template

.env
1# Kasm Workspaces
2# Default credentials provided during install wizard

Usage Notes

  1. 1Web UI at https://localhost:443
  2. 2Complete initial setup wizard
  3. 3Supports desktop and application streaming
  4. 4Isolated browser environments

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 kasm:
5 image: kasmweb/kasm-workspaces:latest
6 ports:
7 - "443:443"
8 volumes:
9 - kasm_data:/opt
10 environment:
11 KASM_PORT: 443
12 privileged: true
13 networks:
14 - kasm-net
15 restart: unless-stopped
16
17volumes:
18 kasm_data:
19
20networks:
21 kasm-net:
22 driver: bridge
23EOF
24
25# 2. Create the .env file
26cat > .env << 'EOF'
27# Kasm Workspaces
28# Default credentials provided during install wizard
29EOF
30
31# 3. Start the services
32docker compose up -d
33
34# 4. View logs
35docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/kasm-workspaces/run | bash

Troubleshooting

  • Failed to connect to database: Ensure PostgreSQL container is fully initialized before Kasm starts, add depends_on with health checks
  • Redis connection timeout errors: Increase Redis memory limits and check network connectivity between containers
  • Workspace streaming performance issues: Allocate additional CPU cores and verify Docker daemon has sufficient resources
  • SSL certificate errors on login: Verify certificate validity and ensure proper volume mounting for SSL files
  • User sessions not persisting: Check Redis persistence configuration and ensure adequate disk space for session storage
  • Workspace containers failing to start: Verify privileged mode is enabled and Docker socket access is properly configured

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space