| .. | ||
| docker-install.sh | ||
| install.sh | ||
| README.md | ||
| start_bambuddy.bat | ||
BamBuddy Installation Scripts
Interactive installation scripts for BamBuddy with support for both native and Docker deployments.
Quick Start
Docker Installation (Recommended)
Linux/macOS:
curl -fsSL https://raw.githubusercontent.com/maziggy/bambuddy/main/install/docker-install.sh -o docker-install.sh && chmod +x docker-install.sh && ./docker-install.sh
Native Installation
Linux/macOS:
curl -fsSL https://raw.githubusercontent.com/maziggy/bambuddy/main/install/install.sh -o install.sh && chmod +x install.sh && ./install.sh
Scripts Overview
| Script | Platform | Method |
|---|---|---|
install.sh |
Linux, macOS | Native (Python venv) |
docker-install.sh |
Linux, macOS | Docker |
Native Installation Scripts
install.sh (Linux/macOS)
Installs BamBuddy with Python virtual environment and optional systemd/launchd service.
Supported Systems:
- Debian/Ubuntu (apt)
- RHEL/Fedora/CentOS (dnf/yum)
- Arch Linux (pacman)
- openSUSE (zypper)
- macOS (Homebrew)
Options:
--path PATH Installation directory (default: /opt/bambuddy)
--port PORT Port to listen on (default: 8000)
--tz TIMEZONE Timezone (default: system timezone)
--data-dir PATH Data directory (default: INSTALL_PATH/data)
--log-dir PATH Log directory (default: INSTALL_PATH/logs)
--debug Enable debug mode
--log-level LEVEL Log level: DEBUG, INFO, WARNING, ERROR (default: INFO)
--no-service Skip systemd/launchd service setup
--yes, -y Non-interactive mode, accept defaults
Examples:
# Interactive installation
./install.sh
# Unattended with custom settings
./install.sh --path /srv/bambuddy --port 3000 --tz America/New_York --yes
# Minimal unattended
./install.sh -y
# Skip service setup
./install.sh --no-service -y
Docker Installation Scripts
docker-install.sh (Linux/macOS)
Installs BamBuddy using Docker containers.
Options:
--path PATH Installation directory (default: ~/bambuddy)
--port PORT Port to expose (default: 8000)
--tz TIMEZONE Timezone (default: system timezone)
--build Build from source instead of using pre-built image
--yes, -y Non-interactive mode, accept defaults
Examples:
# Interactive installation
./docker-install.sh
# Unattended with custom settings
./docker-install.sh --path /srv/bambuddy --port 3000 --tz Europe/Berlin --yes
# Build from source
./docker-install.sh --build --yes
Configuration Options
All scripts support these configuration options:
| Option | Description | Default |
|---|---|---|
| Install Path | Where BamBuddy is installed | /opt/bambuddy (Linux/Docker) |
| Port | HTTP port for web interface | 8000 |
| Timezone | Server timezone | System timezone or UTC |
| Data Directory | Database and archives | INSTALL_PATH/data |
| Log Directory | Application logs | INSTALL_PATH/logs |
| Debug Mode | Enable verbose logging | false |
| Log Level | INFO, WARNING, ERROR, DEBUG | INFO |
Post-Installation
Accessing BamBuddy
After installation, open your browser to:
http://localhost:8000
Or use the port you specified during installation.
Service Management
Linux (systemd):
sudo systemctl status bambuddy # Check status
sudo systemctl start bambuddy # Start
sudo systemctl stop bambuddy # Stop
sudo systemctl restart bambuddy # Restart
sudo journalctl -u bambuddy -f # View logs
macOS (launchd):
launchctl list | grep bambuddy # Check status
launchctl load ~/Library/LaunchAgents/com.bambuddy.app.plist # Start
launchctl unload ~/Library/LaunchAgents/com.bambuddy.app.plist # Stop
Docker:
docker compose ps # Check status
docker compose up -d # Start
docker compose down # Stop
docker compose restart # Restart
docker compose logs -f # View logs
Updating
Native installation:
cd /opt/bambuddy
git pull
source venv/bin/activate
pip install -r requirements.txt
cd frontend && npm ci && npm run build
sudo systemctl restart bambuddy # Linux
Docker (pre-built image):
cd ~/bambuddy
docker compose pull
docker compose up -d
Docker (from source):
cd ~/bambuddy
git pull
docker compose up -d --build
Troubleshooting
Permission Denied (Linux)
Run with sudo or ensure your user has appropriate permissions:
sudo ./install.sh
Docker: Printer Discovery Not Working
Docker Desktop for macOS doesn't support host networking. Add printers manually by IP address in the BamBuddy web interface.
Service Won't Start
Check logs for errors:
# Linux
sudo journalctl -u bambuddy -n 50
# Docker
docker compose logs bambuddy
Port Already in Use
Choose a different port during installation or stop the conflicting service:
# Find what's using port 8000
sudo lsof -i :8000 # Linux/macOS
Requirements
Native Installation
- Python 3.10+ (automatically installed if missing)
- Node.js 18+ (automatically installed if missing)
- Git (automatically installed if missing)
- ~500MB disk space
Docker Installation
- Docker Engine 20+ or Docker Desktop
- ~1GB disk space (includes image)
Support
- Documentation: https://wiki.bambuddy.cool
- Discord: https://discord.gg/aFS3ZfScHM
- Issues: https://github.com/maziggy/bambuddy/issues