Run Ulaa Browser in a Docker container with web-based access via noVNC!
- Features
- Quick Start
- Configuration
- Environment Variables
- Volume Mounts
- Advanced Usage
- Accessing the Browser
- Troubleshooting
- Version History
- 🌐 Web-based Access - Access browser via noVNC directly from your web browser
- 🔒 No Password Required - Auto-connect enabled for seamless experience
- 📱 Responsive Design - Auto-scales to fit your browser window
- 🔄 Auto-Restart - Browser automatically restarts if closed
- 🖥️ Maximized Mode - Browser opens in full maximized mode
- 🎵 Audio Support - PulseAudio enabled for sound playback
- 📁 File Management - Persistent downloads and uploads directories
- ⚙️ Configurable Resolution - Set custom screen resolution
- 🌍 Timezone Support - Configure timezone for your location
- 🎨 Enhanced Fonts - Includes Liberation, Noto, and Emoji fonts
- 🏥 Health Monitoring - Built-in Docker health checks
- 💾 Persistent Browser Data - User preferences and settings saved
- 🛠️ Utilities Included - htop, nano, vim for debugging
docker pull siddhmistry/ulaa-browser:0.0.2
docker run -d \
-p 8080:8080 \
--name ulaa-browser \
siddhmistry/ulaa-browser:0.0.2Then open your browser and navigate to:
http://localhost:8080
That's it! The browser will auto-connect and open automatically! 🎉
git clone https://github.com/mrfoxie/ulaa-browser-docker.git
cd ulaa-browser-docker
docker build -t ulaa-browser:latest .
docker run -d -p 8080:8080 --name ulaa-browser ulaa-browser:latestdocker run -d \
-p 8080:8080 \
-p 5900:5900 \
--name ulaa-browser \
siddhmistry/ulaa-browser:0.0.2docker run -d \
-p 8080:8080 \
-p 5900:5900 \
-v ~/Downloads:/downloads \
-v ~/Uploads:/uploads \
-e RESOLUTION=2560x1440x24 \
-e START_URL=https://github.com \
-e TZ=Asia/Kolkata \
--shm-size=2g \
--memory=4g \
--cpus=2 \
--name ulaa-browser \
siddhmistry/ulaa-browser:0.0.2| Variable | Default | Description |
|---|---|---|
RESOLUTION |
1920x1080x24 |
Screen resolution (WIDTHxHEIGHTxDEPTH) |
START_URL |
https://www.google.com |
URL to open on browser start |
TZ |
UTC |
Timezone (e.g., Asia/Kolkata, America/New_York) |
VNC_PORT |
5900 |
VNC server port |
NOVNC_PORT |
8080 |
noVNC web interface port |
# 4K Resolution
-e RESOLUTION=3840x2160x24
# Full HD
-e RESOLUTION=1920x1080x24
# HD
-e RESOLUTION=1280x720x24# Open YouTube
-e START_URL=https://youtube.com
# Open your website
-e START_URL=https://example.com| Path | Description |
|---|---|
/downloads |
Browser download directory |
/uploads |
Upload files to container |
docker run -d \
-v ~/MyDownloads:/downloads \
-v ~/MyUploads:/uploads \
-p 8080:8080 \
--name ulaa-browser \
siddhmistry/ulaa-browser:0.0.2Now all browser downloads will be saved to ~/MyDownloads on your host machine!
- Open your browser
- Navigate to:
http://localhost:8080 - Browser will auto-connect and open automatically!
If you prefer using a VNC client:
- Connect to:
localhost:5900 - No password required
- Recommended clients: RealVNC, TigerVNC, TightVNC
Replace localhost with your server IP:
http://YOUR_SERVER_IP:8080
Create a docker-compose.yml file:
version: '3.8'
services:
ulaa-browser:
image: siddhmistry/ulaa-browser:0.0.2
container_name: ulaa-browser
ports:
- "8080:8080"
- "5900:5900"
volumes:
- ./downloads:/downloads
- ./uploads:/uploads
environment:
- RESOLUTION=1920x1080x24
- START_URL=https://www.google.com
- TZ=Asia/Kolkata
shm_size: 2g
mem_limit: 4g
cpus: 2
restart: unless-stoppedRun with:
docker-compose up -dLimit CPU and memory usage:
docker run -d \
--cpus=2 \
--memory=4g \
--shm-size=2g \
-p 8080:8080 \
--name ulaa-browser \
siddhmistry/ulaa-browser:0.0.2View logs:
docker logs ulaa-browserFollow logs in real-time:
docker logs -f ulaa-browserCheck container status:
docker ps
docker stats ulaa-browser# Open a shell
docker exec -it ulaa-browser bash
# Check running processes
docker exec ulaa-browser ps aux
# View htop
docker exec -it ulaa-browser htop-
Check if container is running:
docker ps
-
View logs:
docker logs ulaa-browser
-
Restart container:
docker restart ulaa-browser
Make sure you're using a modern browser that supports WebRTC audio.
Try different resolutions:
docker stop ulaa-browser
docker rm ulaa-browser
docker run -d \
-e RESOLUTION=1280x720x24 \
-p 8080:8080 \
--name ulaa-browser \
siddhmistry/ulaa-browser:0.0.2Increase shared memory and resources:
docker run -d \
--shm-size=4g \
--memory=8g \
--cpus=4 \
-p 8080:8080 \
--name ulaa-browser \
siddhmistry/ulaa-browser:0.0.2- ✅ Added audio support with PulseAudio
- ✅ Persistent downloads and uploads volumes
- ✅ Configurable screen resolution
- ✅ Custom start URL support
- ✅ Timezone configuration
- ✅ Enhanced fonts (Liberation, Noto, Emoji)
- ✅ Docker health checks
- ✅ Pre-configured browser preferences
- ✅ Improved startup logs
- ✅ Better resource management
- ✅ Utilities included (htop, nano, vim)
- ✅ Basic Ulaa Browser in Docker
- ✅ noVNC web interface
- ✅ Auto-connect enabled
- ✅ Auto-restart on close
- ✅ Maximized mode
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Ulaa Browser - Privacy-focused browser by Zoho
- noVNC - HTML5 VNC client
- Ubuntu - Base image
- Issues: GitHub Issues
- Docker Hub: siddhmistry/ulaa-browser
If you find this project useful, please consider giving it a star on GitHub!
Made with ❤️ by Siddh Mistry
