System requirements
Before installing Joystick IoT platform, ensure your system meets the following requirements:- Docker Engine 20.10 or later
- Docker Compose 2.0 or later
- At least 4GB of available RAM
- 10GB of free disk space
- Linux, macOS, or Windows with WSL2
Prerequisites
Install Docker
Download and install Docker Desktop from docker.com or install Docker Engine on your server.Verify Docker is installed correctly:
Verify Docker is running
Check that Docker daemon is running:You should see an empty list of containers or existing containers without errors.
Configure environment variables
Create a For production deployments, set this to your domain name:See the configuration page for more details on environment variables.
.env file in the root directory or set the HOST environment variable:Installation
Pull Docker images
Pull the latest Docker images from GitHub Container Registry:This will download all required service images:
- Traefik (reverse proxy)
- PocketBase (database)
- MediaMTX (video streaming)
- Joystick API
- Panel UI
- Baker service
- Switcher service
- Whisper service
- Studio UI
- Dozzle (log viewer)
Start the services
Start all services using Docker Compose:The
-d flag runs containers in detached mode (background).Verify services are running
Check that all containers are running:All services should show a “running” status.
Platform-specific installation
Linux
For Linux deployments, use thedocker-compose.linux.yml file which uses host networking for better performance:
network_mode: host for all services, allowing direct network access without Docker’s bridge network overhead.
Development environment
For local development with mounted volumes and live code changes:- Mounts local code directories as volumes
- Exposes additional ports for debugging
- Uses the development PocketBase image with hooks and migrations mounted
Post-installation
After installation:- Create your first admin user in PocketBase at
http://localhost:8090/_/ - Configure authentication and API keys (see security)
- Set up monitoring and logging (see monitoring)
- Review security best practices (see security)