Docker (Single-Container Setup)

This is the fastest and most convenient way to get Orangescrum up and running. It bundles the entire application — backend, database, and frontend — into a single portable image.

Step 1: Verify Docker Installation

Ensure Docker is installed on your system:

docker –version

If not installed, follow the official Docker installation guide.

Step 2: Clean Existing Containers and Images

Before loading a new image, remove any existing Orangescrum containers or images:

sudo docker rm $(docker ps -a -q –filter “name=^durango”)
sudo docker rmi $(docker images –filter=reference=”durango*”)

Step 3: Load the Docker Image

Extract the .zip file shared by the Orangescrum team:

unzip orangescrum.zip
cd orangescrum
docker load -i os_durango.tar

This loads the Orangescrum image into Docker.

Step 4: Run the Container

Use Docker Compose to start the container:

docker compose up -d –build
  • -d: Runs in detached mode
  • –build: Rebuilds the image if changes exist

Once up, access Orangescrum at:

http://localhost:8080

Step 5: Complete Installation Wizard

Follow the on-screen steps to:

  • Create the database (MySQL/MariaDB)
  • Configure SMTP settings
  • Set up Admin credentials

Example database credentials (default values):

Database Host: yourhostname

Database User: yourusername

Database Password: yourpassword

Database Name: yourdatabase

Click “Finish Installation” to complete setup.

Result: You now have a working single-container Orangescrum environment — ideal for development, trials, and small internal teams

Installation Methods

Once your infrastructure is ready, you can install Orangescrum using several deployment methods depending on your organization’s needs, preferred tech stack, and scale.

Whether you want a quick Docker setup for testing, a multi-container production deployment, or a manual LAMP/LEMP stack for complete customization — Orangescrum supports it all.

Database & Storage Configuration

If you need to change the database host or full base URL after installation:

Edit Configuration File

1. Access your running container or server: 

 docker exec -it <container-id> bash

2. Navigate to

cd /var/www/html/config

3. Edit

app_local.php:
vim app_local.php

4. Update connection details:

‘Datasources’ => [

    ‘default’ => [

        ‘host’ => ‘yourhostname’,

        ‘username’ => ‘yourusername’,

        ‘password’ => ‘Yourpassword’,

        ‘database’ => ‘Yourdatabase’,

    ],

],

‘App’ => [

    ‘fullBaseUrl’ => ‘https://projects.yourdomain.com’,

],

5. Save and restart:

 docker restart <container-id>

Pro Tip: In production, use a dedicated database service with limited privileges (read/write only).
Avoid embedding credentials in scripts—store them in environment variables where possible.

Summary

Post-installation configuration transforms your raw deployment into a production-ready workspace:

  • Create a secure admin account and update branding.
  • Configure SMTP for notifications and SSL for secure access.
  • Set up external storage and reliable backup directories.
  • Verify your database and domain settings before onboarding users.

External Storage & File Attachments

All uploaded files—attachments, images, and reports—are stored in the /app/webroot/uploads directory by default.
Options for Storage

  • Local Disk (Default): Fastest for small teams or single servers.
  • NFS / NAS: Recommended for multi-node setups or high availability clusters.
  • Object Storage (S3-Compatible): For cloud deployments, integrate with AWS S3 or MinIO using mounted volumes.

Docker Compose Example:

volumes:
– ./uploads:/var/www/html/app/webroot/uploads

Backup Note: Always include /uploads in your backup strategy to retain file attachments alongside the database.

Custom Domain Setup

To secure communication between your users and the Orangescrum server, it’s highly recommended to enable HTTPS.

Option 1: Let’s Encrypt (Recommended)

For production:

sudo apt install certbot python3-certbot-apache -y

sudo certbot –apache -d projects.yourdomain.com

This automatically issues a free SSL certificate and updates your Apache configuration.

Option 2: Self-Signed SSL (for Testing)

For testing or private networks:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/yourdomain.key \
-out /etc/ssl/certs/yourdomain.crt

Then configure Apache/Nginx as a reverse proxy to forward HTTPS traffic to the Orangescrum app (usually running on port 8080):

<VirtualHost *:443>

    ServerName projects.yourdomain.com

    SSLEngine On

    SSLCertificateFile /etc/ssl/certs/yourdomain.crt

    SSLCertificateKeyFile /etc/ssl/private/yourdomain.key

    ProxyPass / http://localhost:8080/

    ProxyPassReverse / http://localhost:8080/

</VirtualHost>

DNS Tip: Ensure an A-record for projects.yourdomain.com points to your server’s IP address before enabling SSL.

SMTP Configuration

To send notifications (task updates, invites, password resets), Orangescrum requires a valid SMTP configuration.
Navigate to:

Settings → Email Configuration

SMTP Parameters

Setting Description Example
SMTP Host Email service host smtp.gmail.com
Port 587 (TLS) or 465 (SSL) 587
Username Your sending email address noreply@yourdomain.com
Password App-specific or standard password ********
Encryption TLS (recommended) or SSL TLS
From Name Display name in email headers Your Organization Notifications

Example configuration snippet:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=noreply@yourdomain.com
MAIL_PASSWORD=your-app-password
MAIL_ENCRYPTION=tls

Test Email: Use the “Send Test Mail” option to verify that SMTP connectivity is working.

Security Note: Always use app-specific passwords or mail relay accounts to avoid exposing corporate credentials.

If SMTP is not ready during setup, you can skip this step and configure it later.