Caution
This project is still in development and is not yet ready for production use. We do not currently support upgrading from older versions. Please use with caution.
Flowcase is a free and completely open-source alternative to Kasm Workspaces, enabling secure container streaming for your applications. Stream desktop applications, development environments, and more through your web browser using Docker containers.
| Open-Source | Secure Streaming | User-Friendly | Customizable | Multi-Platform |
|---|---|---|---|---|
| Completely free and community-driven | Stream applications securely using Docker | Easy to deploy and manage | Supports customization for various use cases | Supports Windows, Linux, and macOS |
Windows (PowerShell):
.\install.ps1Linux/Mac:
chmod +x install.sh
./install.shThe installation script will:
- ✅ Check prerequisites
- ✅ Generate secure passwords
- ✅ Create configuration files
- ✅ Start all services
- ✅ Display access information
-
Clone the repository:
git clone https://github.com/flowcase/flowcase.git cd flowcase -
Create
.envfile:cp .env.example .env # Edit .env with your configuration -
Start Flowcase:
docker compose up -d
-
View logs for credentials:
docker compose logs -f
-
Access Flowcase:
- Open
http://localhostorhttps://localhost - Use the default admin credentials shown in the logs
- Open
Before installing Flowcase, ensure you have:
-
Docker (version 20.10 or later)
- Download Docker Desktop
- Verify:
docker --version
-
Docker Compose (version 2.0 or later)
- Usually included with Docker Desktop
- Verify:
docker compose version
-
System Requirements:
- At least 2GB RAM
- 10GB free disk space
- Network access for downloading images
-
Permissions:
- Linux/Mac: User in
dockergroup orsudoaccess - Windows: Docker Desktop running with WSL2
- Linux/Mac: User in
-
SETUP.md - Comprehensive setup guide with detailed instructions
- Configuration options
- Authentik integration
- Troubleshooting
- Production deployment
-
SECURITY.md - Security information and reporting
Create a .env file with the following variables:
| Variable | Description | Example | Required |
|---|---|---|---|
DOMAIN |
Your domain name | localhost or flowcase.example.com |
Yes |
ADMIN_EMAIL |
Email for Let's Encrypt notifications | [email protected] |
Yes |
CA_SERVER |
ACME certificate authority | Staging: https://acme-staging-v02.api.letsencrypt.org/directoryProduction: https://acme-v02.api.letsencrypt.org/directory |
Yes |
PG_PASS |
PostgreSQL database password | Secure random string | Yes |
AUTHENTIK_SECRET_KEY |
Authentik secret key | Secure random string (min 32 chars) | Yes |
Generate secure values:
# Generate PostgreSQL password
openssl rand -base64 24
# Generate Authentik secret key
openssl rand -base64 32For local development, use these settings:
DOMAIN=localhost
ADMIN_EMAIL=[email protected]
CA_SERVER=https://acme-staging-v02.api.letsencrypt.org/directory
PG_PASS=<generate-secure-password>
AUTHENTIK_SECRET_KEY=<generate-secure-key>For production deployment:
DOMAIN=flowcase.yourdomain.com
ADMIN_EMAIL=[email protected]
CA_SERVER=https://acme-v02.api.letsencrypt.org/directory
PG_PASS=<strong-random-password-32-chars>
AUTHENTIK_SECRET_KEY=<strong-random-key-50-chars>- Navigate to
http://localhostorhttps://localhost - Use the default credentials displayed in the terminal logs:
- Username:
admin - Password:
<random-generated-password>
- Username:
Authentik integration is disabled by default. To enable it:
-
Configure Authentik (see SETUP.md for detailed steps):
- Access Authentik Admin:
https://authentik.localhost - Create a Proxy Provider
- Create an Application
- Configure the Outpost
- Access Authentik Admin:
-
Enable Authentik in docker-compose.yml:
- Uncomment the middleware line (line 41):
- traefik.http.routers.flowcase.middlewares=authentik@file - Uncomment the flag (line 24):
--traefik-authentik - Restart:
docker compose restart web nginx traefik
- Uncomment the middleware line (line 41):
-
Access Flowcase:
https://localhost(will redirect to Authentik for login)
Note
Authentik is disabled by default for easier initial setup. Follow the complete setup guide in SETUP.md to enable it.
# Start Flowcase
docker compose up -d
# View logs
docker compose logs -f
# View logs for specific service
docker compose logs -f web
# Stop Flowcase
docker compose down
# Restart services
docker compose restart
# Check service status
docker compose psFlowcase consists of the following components:
- Flowcase Web: Main application server (Flask)
- Nginx: Reverse proxy for Flowcase
- Traefik: Reverse proxy and load balancer with automatic HTTPS
- Authentik: Identity provider (optional, for authentication)
- PostgreSQL: Database for Authentik
- Redis: Cache for Authentik
# Check logs
docker compose logs
# Check service status
docker compose ps- Ensure containers are running:
docker compose ps - Check nginx logs:
docker compose logs nginx - Try
http://localhostinstead ofhttps://localhost
For localhost development, certificate warnings are expected. For production:
- Use a proper domain name
- Update
DOMAINin.env - Ensure DNS points to your server
docker compose down -v
docker compose up -dFor more troubleshooting help, see SETUP.md.
Contributions are welcome! Please feel free to:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
Please read our contributing guidelines and code of conduct before submitting.
- Security Issues: Please report security vulnerabilities to the maintainers privately (see SECURITY.md)
- Updates: Keep your installation updated with the latest releases
- Credentials: Always use strong, randomly generated passwords
- Production: Follow the production deployment checklist in SETUP.md
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: Check SETUP.md for detailed guides
- Issues: Open an issue on GitHub
- Discussions: Join discussions on GitHub Discussions
- Production-ready release
- Upgrade/migration support
- Additional authentication providers
- Enhanced container management
- Performance optimizations
- Additional documentation