Skip to content

languageseed/bentobox

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

978 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bentobox

A curated development environment for Ubuntu 24.04 LTS+ with a beautiful GUI installer.

Bentobox is a custom fork of Omakub by DHH, optimized for professional developers with modern tools, AI capabilities, security hardening, and an intuitive graphical installer.

πŸš€ Quick Start

Option 1: GUI Installer (Recommended)

One command to download and launch the visual installer:

wget -qO- https://raw.githubusercontent.com/languageseed/bentobox/master/boot-gui.sh | bash

The GUI provides:

  • πŸ“¦ Visual component selection
  • 🎨 Desktop theme customization
  • πŸ”’ Security configuration
  • πŸ–ΌοΈ Wallpaper browser
  • ▢️ Live installation progress
  • πŸ“Š Status dashboard

Configure your preferences, then click "Start Installation" to begin.

Option 2: Terminal Installation

Complete installation with interactive terminal prompts:

wget -qO- https://raw.githubusercontent.com/languageseed/bentobox/master/boot.sh | bash

This runs the traditional terminal-based installer with text prompts.


✨ What is Bentobox?

Bentobox takes the excellent foundation of Omakub and enhances it for professional developers who need:

  • πŸ–₯️ Beautiful GUI Installer - Point-and-click configuration with live progress
  • πŸ”’ Security Hardening - UFW firewall, Fail2Ban, SSH hardening, automatic updates
  • 🐳 Modern Container Management - Portainer web UI instead of CLI tools
  • πŸ€– Local AI Development - OpenWebUI + Ollama for running LLMs locally
  • 🌐 Secure Remote Access - Tailscale VPN for accessing your dev environment anywhere
  • πŸͺŸ Windows App Integration - WinBoat for running Windows apps seamlessly on Linux
  • 🎨 Beautiful Themes - 10+ curated themes with matching wallpapers
  • 🎯 Python Orchestration - Robust installation with state management and error handling

πŸ–₯️ GUI Installer

Bentobox features a modern GTK-based graphical installer with 7 tabs:

πŸ‘‹ Welcome

  • Overview of features
  • Quick start instructions
  • Direct link to component selection

πŸ“¦ Components

Select from curated applications:

  • Desktop Apps: 1Password, Cursor, Tailscale, Brave, Chrome, GIMP, OBS Studio, RubyMine, Sublime Text, WinBoat, Draw.io, Blender, REAPER, Timeshift, Logseq, Mission Center, Foliate, Warp Terminal, Kooha, Portmaster, Bitwig Studio, Planify, Picture of the Day
  • Additional Desktop Themes: Orchis Theme, WhiteSur Theme/Icons, Tela Icons, GNOME Extensions (Dash2Dock Lite, Open Bar, Coverflow Alt-Tab, Vertical Workspaces, Clipboard Indicator)
  • Languages: Node.js, Python, Ruby on Rails, Go, PHP, Elixir, Rust, Java
  • Containers: Portainer, OpenWebUI, Ollama

🎨 Desktop

Customize your environment:

  • Themes: Tokyo Night, Catppuccin, Everforest, Gruvbox, Kanagawa, Nord, Rose Pine, and more
  • Fonts: Cascadia Code (Nerd Font), iA Writer Mono
  • GNOME Settings: Configure shortcuts, extensions, and appearance
  • Quick Actions: Apply themes and fonts instantly

πŸ”’ Security

Optional security hardening:

  • Firewall: Enable UFW with custom rules
  • System Hardening: Automatic security updates, Fail2Ban, root login restrictions
  • SSH Security: Key-only authentication, custom port
  • Privacy: Disable error reporting and telemetry
  • Security Audit: Check current security status

πŸ–ΌοΈ Wallpapers

  • Browse collection of 67 stunning 4K wallpapers
  • 60 from Unsplash + 7 from Pexels
  • Preview thumbnails in the GUI
  • Apply wallpapers instantly
  • Wallpapers persist across updates (saved to ~/Pictures/Wallpapers/)

▢️ Install

  • Live terminal output
  • Clear completion message
  • No annoying popups

πŸ“Š Status

  • View installation state
  • Component status overview
  • Refresh on demand

βš™οΈ Maintenance

  • Comprehensive uninstall option
  • Triple confirmation for safety
  • Complete system reset

πŸ†š Bentobox vs Omakub

What's Different?

Feature Omakub Bentobox
Installer Terminal only GUI + Terminal
Orchestration Pure Bash Python + Bash
Security Options No Yes (UFW, Fail2Ban, SSH hardening)
Focus General purpose Professional development
Container UI lazydocker (CLI) Portainer (Web UI)
Databases MySQL/Redis/PostgreSQL Removed (use containers as needed)
AI Ready No Yes (OpenWebUI + Ollama)
Remote Access No Yes (Tailscale built-in)
Windows Apps No Yes (WinBoat - run Windows apps seamlessly)
Themes 1 (Tokyo Night) 10+ curated themes
State Management No Yes (resume failed installations)

Removed Applications

To maintain focus on development, we removed:

  • Entertainment: Spotify, Steam, Minecraft
  • Redundant tools: WhatsApp, Signal, Zoom, Dropbox
  • Alternative editors: Doom Emacs, Windsurf, Zed
  • Obsidian (note-taking)
  • lazydocker (replaced with Portainer)

Added Applications

  • Barrier - Free, open-source KVM (keyboard/video/mouse) sharing
  • Tailscale - Zero-config VPN for secure remote access
  • WinBoat - Run Windows applications seamlessly on Linux (optional)
  • Sublime Text - Fast, lightweight code editor with Package Control (optional)

Container-First Approach

Instead of database containers (MySQL, Redis, PostgreSQL), Bentobox deploys:

  • Portainer - Web-based Docker management UI

    • Access at http://localhost:9000
    • Manage all containers, images, volumes visually
  • OpenWebUI - ChatGPT-like interface for local AI

    • Access at http://localhost:3000
    • Works with Ollama for privacy-focused AI development
  • Ollama (Optional) - Run LLMs locally

    • Llama, Mistral, CodeLlama, and more
    • No internet required after model download

πŸ“¦ What Gets Installed

Always Installed

Core Development Tools:

  • Docker & Docker Compose
  • Git & GitHub CLI
  • VS Code
  • Neovim (LazyVim)
  • Google Chrome
  • Node.js, Ruby, or your chosen languages (via mise)

Terminal Tools:

  • Alacritty (GPU-accelerated terminal)
  • Zellij (terminal multiplexer)
  • Modern CLI: fzf, ripgrep, bat, eza, zoxide
  • btop (system monitor)
  • fastfetch (system info)

Desktop Applications:

  • LibreOffice (office suite)
  • VLC (media player)
  • Typora (Markdown editor)
  • Pinta (image editor)
  • LocalSend (file sharing)
  • Flameshot (screenshots)

Containers (Default):

  • Portainer - Docker management
  • OpenWebUI - AI chat interface

Optional (User Choice)

During installation, select from:

  • 1Password - Password manager
  • Barrier - Free KVM sharing
  • Tailscale - VPN for remote access
  • WinBoat - Run Windows apps seamlessly (includes virt-manager, Docker, KVM)
  • Sublime Text - Fast, lightweight code editor
  • Windows 10 ISO - Pre-download Windows 10 for VM installations (~5.8 GB)
  • Draw.io - Diagram and flowchart editor
  • Blender - 3D creation suite
  • REAPER - Digital audio workstation
  • Timeshift - System backup and restore
  • Logseq - Knowledge management and note-taking
  • Mission Center - System resource monitor
  • Foliate - Modern ebook reader
  • Warp Terminal - AI-powered terminal
  • Kooha - Screen recorder
  • Portmaster - Application firewall (Safing.io)
  • Bitwig Studio - Music production
  • Planify - Task and project manager
  • Picture of the Day - Daily wallpapers

Additional Desktop Themes & Extensions (all opt-in, Ubuntu GNOME compatible):

  • Orchis Theme - Modern dark GTK theme
  • WhiteSur Theme - macOS-like GTK theme and icons
  • Tela Icons - Beautiful flat icon theme
  • GNOME Extensions: Dash2Dock Lite, Open Bar, Coverflow Alt-Tab, Vertical Workspaces, Clipboard Indicator

Programming Languages:

  • Ruby on Rails
  • Node.js
  • Go
  • PHP
  • Python
  • Elixir
  • Rust
  • Java

Optional Container:

  • Ollama - Local LLM server

🎨 Wallpaper Collection

Bentobox includes 67 professionally curated 4K wallpapers from Unsplash and Pexels:

  • 60 Unsplash wallpapers - Mountains, space, abstract, urban, nature photography
  • 7 Pexels wallpapers - Nature and landscape scenes
  • Default: Mountain landscape with dramatic sky
  • All wallpapers saved to ~/Pictures/Wallpapers/ and persist across updates
  • Licensed under Unsplash License and Pexels License
  • Easy to switch via Bentobox GUI Wallpapers tab or Settings β†’ Appearance β†’ Background

See wallpaper/LICENSE.md for complete photographer credits (50+ photographers) and licensing details.


πŸ’» System Requirements

  • OS: Ubuntu 24.04+ LTS - fresh installation recommended
    • Supported: Ubuntu Desktop, Pop!_OS, Elementary OS, Linux Mint, KDE Neon
  • RAM: 8GB minimum, 16GB recommended (20GB+ if using WinBoat)
  • Disk: 30GB minimum, 50GB+ recommended (80GB+ if using WinBoat with Windows)
  • Network: Internet connection required for installation
  • CPU: Virtualization support (Intel VT-x/AMD-V) required for WinBoat

πŸ“– Installation Guide

1. Fresh Installation

Start with a clean Ubuntu 24.04+ LTS installation (desktop environment).

2. Run Installation Command

wget -qO- https://raw.githubusercontent.com/languageseed/bentobox/master/boot.sh | bash

3. Make Your Selections

The installer will prompt you to choose:

Optional Apps (select what you need):

  • 1Password
  • Barrier
  • Tailscale
  • WinBoat (Windows app integration)
  • Sublime Text (code editor)
  • Windows 10 ISO download

Programming Languages (select your stack):

  • Ruby on Rails, Node.js, Python, Go, etc.

Docker Containers (defaults recommended):

  • βœ… Portainer (Docker management)
  • βœ… OpenWebUI (AI interface)
  • ☐ Ollama (local LLM server)

4. Wait for Installation

Installation takes 15-30 minutes depending on your selections and internet speed.

5. Reboot

When prompted, reboot your system to apply all changes.

6. Access Your Tools

After reboot:


πŸš€ Post-Installation

Download AI Models (if Ollama installed)

# Pull a model (e.g., Llama 3.2)
docker exec -it ollama ollama pull llama3.2

# Smaller model for testing
docker exec -it ollama ollama pull llama3.2:1b

# Code-focused model
docker exec -it ollama ollama pull codellama

# List installed models
docker exec -it ollama ollama list

Set Up Tailscale (if installed)

# Connect to Tailscale network
sudo tailscale up

# Get your Tailscale IP
tailscale ip

# Access your dev environment remotely
# From anywhere: http://YOUR-TAILSCALE-IP:9000 (Portainer)

Configure Barrier (if installed)

  1. Launch Barrier: barrier
  2. Choose Server (computer with keyboard/mouse) or Client
  3. Configure screen layout
  4. Works great with Tailscale for remote KVM!

Set Up WinBoat (if installed)

WinBoat lets you run Windows applications seamlessly on Linux - like "reverse WSL":

# Launch WinBoat GUI
winboat
# or from applications menu: search "WinBoat"

First-Time Setup:

  1. WinBoat will automatically install Windows 10 (takes 20-30 min)
  2. Once complete, the Guest API will show "Online"
  3. Install your Windows apps and they'll appear in the WinBoat interface
  4. Launch Windows apps directly - they integrate with your Linux desktop!

Features:

  • Seamless filesystem integration (access Linux files from Windows)
  • USB device passthrough
  • Shared clipboard
  • Native Linux window management for Windows apps

Optional: If you pre-downloaded the Windows 10 ISO, you can configure WinBoat to use it instead of downloading Windows again. See WinBoat settings.

Tip: Use virt-manager (installed with WinBoat) to manage the underlying Windows VM if needed.


πŸ› οΈ Customization & Extensions

Bentobox is built to be highly extensible. You can easily add your own applications, themes, and customizations!

🎁 Add Your Own Extensions

Bentobox uses a simple metadata-based system that makes it easy to add new packages:

# Copy the template
cp .templates/app-template.sh install/desktop/optional/app-slack.sh

# Edit metadata and installation commands
nano install/desktop/optional/app-slack.sh

# Make executable
chmod +x install/desktop/optional/app-slack.sh

# That's it! Your app will appear in the GUI automatically

πŸ“– Extension Documentation

  • EXTENSION_FORMAT_SPEC.md - Complete technical specification
  • EXTENSION_DEVELOPER_GUIDE.md - Quick start guide with examples
  • .templates/ - Ready-to-use templates for apps and themes

🎨 Create Your Own Themes

# Create theme directory
mkdir themes/your-theme

# Copy template and reference files
cp .templates/theme-metadata.txt themes/your-theme/metadata.txt
cp themes/tokyo-night/* themes/your-theme/

# Customize colors and wallpaper
# Your theme will appear in the GUI automatically

🀝 Share Your Extensions

Created something useful? Share it with the community!

  1. Test your extension thoroughly
  2. Follow the extension format specification
  3. Submit a pull request
  4. Help others build better development environments

πŸ†˜ Troubleshooting

Known Issues

Ulauncher Crashes on First Boot

Symptom: After installation and reboot, you see an error: "The application Ulauncher has closed unexpectedly."

Why: Ulauncher (the app launcher) sometimes crashes on first launch on fresh Ubuntu 24.04 installations. This is a known issue with Ulauncher's PPA package, not with Bentobox.

Impact: Cosmetic only - doesn't affect your system, Docker, or any other applications.

Solution:

  1. Quick Fix: Click "Don't send" and check "Remember this in future". Ulauncher will restart automatically.
  2. If it persists: Reboot the system - Ulauncher should work fine after reboot.
  3. Alternative: Remove Ulauncher if you don't need it:
    sudo apt remove --purge ulauncher
    sudo apt autoremove

Note: Ulauncher is optional. Ubuntu has built-in app search (press Super key). You can safely remove Ulauncher without affecting other functionality.

GDM Login Screen Background

Symptom: Lock screen shows custom wallpaper, but GDM login screen (first boot/logout) shows default Ubuntu background.

Why: Ubuntu 24.04 uses compiled gresource files for GDM themes, making background customization complex. The dconf settings apply to lock screen but not the GDM greeter.

Impact: Minor cosmetic issue - lock screen and desktop wallpaper work correctly, only the initial login screen differs.

Status: Known limitation. We're working on a solution for Ubuntu 24.04's new GDM structure.

Workaround: Manually set using third-party tools after installation, or accept that login screen differs from desktop wallpaper.


Installation Issues

# Check Docker is running
sudo systemctl status docker

# Check containers
docker ps

# View container logs
docker logs portainer
docker logs open-webui

Portainer Not Accessible

# Check if port is listening
netstat -tlnp | grep 9000

# Restart container
docker restart portainer

Wallpaper Not Set

# Check wallpapers exist
ls ~/.local/share/backgrounds/omakub/

# Manually set wallpaper
gsettings set org.gnome.desktop.background picture-uri "file://$HOME/.local/share/backgrounds/omakub/pexels-pok-rie-33563-2049422.jpg"

πŸ“š Documentation

Comprehensive documentation is available in the docs/ directory:

Quick Links

Feature Documentation

WinBoat Documentation

Project-Specific Documentation


🀝 Contributing

Bentobox is open source and contributions are welcome! Feel free to:

  • Report issues
  • Suggest improvements
  • Submit pull requests
  • Share your customizations

πŸ“œ License

Bentobox is released under the MIT License (inherited from Omakub).

Wallpapers: Licensed under the Unsplash License and Pexels License - free to use, modify, and distribute. See wallpaper/LICENSE.md for full details and credits for 50+ photographers.


πŸ™ Credits

Original Project

This Fork

  • Bentobox by languageseed
  • Customized for professional development workflows
  • Focus on containers, AI, and remote work

Wallpapers

  • All wallpapers from Pexels and Unsplash
  • 60 photographers from Unsplash + 4 photographers from Pexels
  • Thank you to the Pexels and Unsplash communities for making beautiful photography freely available

🌟 Why Bentobox?

The name "Bentobox" reflects our philosophy: a carefully curated selection of tools, each serving a specific purpose, arranged thoughtfully in a beautiful container. Like a Japanese bento box, we've chosen quality over quantity, creating a balanced and professional development environment.


πŸ”— Links


Ready to get started?

wget -qO- https://raw.githubusercontent.com/languageseed/bentobox/master/boot.sh | bash

Enjoy your perfectly curated Ubuntu 24.04 LTS development environment! πŸŽ‰

About

Opinionated Ubuntu Setup

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Shell 57.5%
  • Python 39.1%
  • CSS 2.2%
  • Lua 1.2%