Skip to main content

Docker Installation

Overview

PACKAGE.broker can be deployed using Docker for easy self-hosting on any platform that supports Docker.

Prerequisites

  • Docker installed (version 20.10 or later)
  • Docker Compose (optional, for multi-container setup)
  • At least 2GB RAM available
  • 10GB disk space for package storage

Quick Start

Pull the Docker image from Docker Hub (recommended):

docker pull packagebroker/server:latest

Or from GitHub Container Registry:

docker pull ghcr.io/package-broker/server:latest

Then run the container:

docker run -d \
-p 8080:8080 \
-v $(pwd)/data:/data \
-e ENCRYPTION_KEY=$(openssl rand -base64 32) \
packagebroker/server:latest

Access Dashboard

After starting the container:

  1. Open your browser to http://localhost:8080
  2. Create an admin account
  3. Start adding repository sources

Next Steps

  1. Review the Docker Quickstart guide for detailed setup instructions
  2. Check the Cloudflare Workers Quickstart for serverless deployment options

SMTP Configuration (Optional)

To enable email sending for user invitations, configure SMTP environment variables:

docker run -d \
-p 8080:8080 \
-v $(pwd)/data:/data \
-e ENCRYPTION_KEY=$(openssl rand -base64 32) \
-e SMTP_HOST=smtp.gmail.com \
-e SMTP_PORT=587 \
-e SMTP_USER=your-email@gmail.com \
-e SMTP_PASS=your-app-password \
-e SMTP_FROM=noreply@example.com \
packagebroker/server:latest

Email Provider Examples

Gmail

-e SMTP_HOST=smtp.gmail.com \
-e SMTP_PORT=587 \
-e SMTP_USER=your-email@gmail.com \
-e SMTP_PASS=your-app-specific-password \
-e SMTP_FROM=your-email@gmail.com

Note: Gmail requires an app-specific password for SMTP authentication.

SendGrid

-e SMTP_HOST=smtp.sendgrid.net \
-e SMTP_PORT=587 \
-e SMTP_USER=apikey \
-e SMTP_PASS=SG.your-sendgrid-api-key \
-e SMTP_FROM=noreply@yourdomain.com

AWS SES

-e SMTP_HOST=email-smtp.us-east-1.amazonaws.com \
-e SMTP_PORT=587 \
-e SMTP_USER=AKIAIOSFODNN7EXAMPLE \
-e SMTP_PASS=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \
-e SMTP_FROM=noreply@yourdomain.com

Note: Email sending is optional. If SMTP is not configured, user creation will still work, but no emails will be sent. See Configuration Reference for complete SMTP documentation.

Production Considerations

For production deployments, see the Docker Compose guide for:

  • PostgreSQL database setup
  • Redis caching
  • S3-compatible storage
  • SSL/TLS configuration
  • Backup procedures
  • SMTP email configuration

Support