Troubleshooting

Even with a smooth installation, self-hosted environments can occasionally run into configuration conflicts, permission issues, or dependency mismatches.

This section helps system administrators quickly identify and resolve the most common issues that arise during installation, configuration, and daily operations of Orangescrum Self-Hosted.

Scaling

As your user base grows, Orangescrum can scale flexibly depending on the deployment model.

Vertical Scaling

Upgrade resources on a single host:

  • Increase CPU, RAM, and disk I/O
  • Move database to a dedicated instance
  • Use NVMe or SSD storage for faster query response

Example: Move from 4C/8GB to 8C/32GB to handle 3x user load.

Horizontal Scaling

Distribute load across multiple servers or containers:

  • Deploy multiple app nodes behind a load balancer (HAProxy or Nginx)
  • Use shared storage (NFS/GlusterFS) for uploads
  • Implement MySQL/PostgreSQL replication for database redundancy
  • Run Redis/Memcached for session caching if needed

Scaling in Kubernetes

If using K8s, simply scale pods:

kubectl scale deployment orangescrum –replicas=3 -n orangescrum

Tip: Monitor latency, concurrent sessions, and database performance as leading indicators for scaling decisions.

Summary

Maintaining Orangescrum Self-Hosted is about discipline and consistency:

  • Back up your database and upload regularly.
  • Restore carefully and test before going live.
  • Keep your system patched and Orangescrum version current.
  • Monitor logs proactively to prevent downtime.
  • Scale vertically or horizontally as your teams grow.

These practices ensure that your Orangescrum environment remains secure, resilient, and high-performing — ready for long-term enterprise adoption.

Log Management

Monitoring your Orangescrum instance helps detect issues early and maintain optimal performance.

Application Logs

Located at:

/app/tmp/logs/

Or inside the Docker container:

docker exec -it orangescrum-app tail -f /var/www/html/app/tmp/logs/error.log

Use these logs to troubleshoot errors related to tasks, authentication, or integrations.

Web Server Logs

Apache/Nginx logs are typically found at:

/var/log/apache2/access.log
/var/log/apache2/error.log

Monitoring Tools

For production-grade observability:

  • Prometheus + Grafana → CPU, memory, container metrics
  • Uptime Kuma / Nagios → Service uptime
  • Elastic Stack (ELK) → Centralized log analytics

Recommended Practice: Configure alerts for CPU >80%, memory >75%, or disk >90% utilization.

Upgrading Orangescrum Versions

Orangescrum frequently releases new updates for features, performance, and security. Keeping your instance up-to-date ensures you benefit from the latest improvements.

Before Upgrading

  1. Take a full backup of both database and uploads.
  2. Notify users and schedule downtime.
  3. Note your current version (Settings → About Orangescrum).

Upgrade Steps (Docker Method)

Pull the latest image:

docker pull orangescrum:latest

1. Stop existing containers:


docker compose down

2. Start new containers with updated image:


docker compose up -d –build

3. Verify the version from the web UI.

Upgrade Steps (Manual Installation)

  1. Backup /config and /uploads.
  2. Download the latest release from Orangescrum’s release page or your customer portal.
  3. Replace application files except /config and /webroot/uploads.
  4. Run database migration scripts if included.

Restart web services:


sudo systemctl restart apache2

Version Compatibility: Always check the release notes for required PHP or DB version changes before upgrading.

For enterprise users, staging upgrades are highly recommended.

Restore Procedures

Restoring from a backup is straightforward, but it must be executed carefully to avoid data mismatch or corruption.

Restore Database

MySQL:

mysql -u root -p yourorganization < /backup/yourorganization_backup.sql

PostgreSQL:

psql -U postgres yourorganization< /backup/yourorganization_backup.sql

Restore Files

tar -xzvf /backup/os_files_latest.tar.gz -C /var/www/yourorganization/app/webroot/uploads/

Restart your Orangescrum services or Docker containers afterward:

docker restart orangescrum-app

Pro Tip: Always restore backups in a staging environment first to verify data consistency before applying to production.

Backing Up Database & Files

Installing Orangescrum is only the first step — maintaining it effectively is what ensures consistent uptime, performance, and data integrity.

Regular backups, version upgrades, log management, and scalability planning form the foundation of long-term success for self-hosted deployments.

This section covers essential post-deployment practices to keep your Orangescrum instance secure, optimized, and future-ready.

Astrong backup strategy protects your organization from accidental data loss, hardware failure, or human error.
Orangescrum stores its data in two key locations:

  • The database (MySQL or PostgreSQL)
  • The application file system (uploads, attachments, logs, configuration files)

Step 1: Database Backup

For MySQL / MariaDB:

mysqldump -u root -p yourorganization> /backup/yourorganization_$(date +%F).sql

For PostgreSQL:

pg_dump -U postgres yourorganization > /backup/yourorganization_$(date +%F).sql

Step 2: File Backup

Backup your application and uploaded assets:

tar -czvf /backup/os_files_$(date +%F).tar.gz /var/www/yourorganization/app/webroot/uploads

Step 3: Automate with Cron

Create a daily automated backup job:

crontab -e

Add:

0 2 * * * /usr/bin/mysqldump -u root -p’yourpassword’ yourorganization> /backup/yourorganization_$(date +\%F).sql

Recommended Frequency:

  • Database Backups: Daily
  • File Backups: Weekly
  • Retention: Keep 7 daily + 4 weekly copies