Skip to main content
Open Source Only

This documentation is applicable only for IceHrm Open Source.

Manual IceHrm Update Steps

If you prefer to update manually or the icehrm-update tool is not available, follow these steps.

Prerequisites

  • SSH access to your server
  • unzip installed (apt-get install unzip)
  • Write permissions to the IceHrm directory

Step 1: Download the Update

cd /path/to/icehrm
mkdir -p app/data/updates
cd app/data/updates
wget https://icehrm-public.s3.us-east-1.amazonaws.com/upgrades/latest/icehrm.zip

Step 2: Create Backup (Optional)

cd /path/to/icehrm
mkdir -p app/data/updates/backups
BACKUP_DIR="app/data/updates/backups/backup_$(date +%Y-%m-%d_%H-%M-%S)"
mkdir -p $BACKUP_DIR

cp -r core $BACKUP_DIR/
cp -r web $BACKUP_DIR/
cp -r docs $BACKUP_DIR/
cp -r release-notes $BACKUP_DIR/
cp -r extensions/editor $BACKUP_DIR/
cp -r extensions/marketplace $BACKUP_DIR/

Step 3: Extract the Update

cd /path/to/icehrm/app/data/updates
unzip -o -q icehrm.zip -d extracted

Step 4: Merge Directories (Keep Existing Files)

cd /path/to/icehrm
rsync -a app/data/updates/extracted/icehrm/app/ app/
rsync -a app/data/updates/extracted/icehrm/docs/ docs/
rsync -a app/data/updates/extracted/icehrm/release-notes/ release-notes/

Step 5: Replace Directories (Delete and Copy)

cd /path/to/icehrm
rm -rf core
cp -r app/data/updates/extracted/icehrm/core core

rm -rf web
cp -r app/data/updates/extracted/icehrm/web web

Step 6: Update Extensions

cd /path/to/icehrm
rm -rf extensions/editor
cp -r app/data/updates/extracted/icehrm/extensions/editor extensions/

rm -rf extensions/marketplace
cp -r app/data/updates/extracted/icehrm/extensions/marketplace extensions/

Step 7: Copy Root Files

cd /path/to/icehrm
cp app/data/updates/extracted/icehrm/version.json .
cp app/data/updates/extracted/icehrm/readme.md .
cp app/data/updates/extracted/icehrm/release.md .
cp app/data/updates/extracted/icehrm/RoboFile.php .
cp app/data/updates/extracted/icehrm/Dockerfile* .
cp app/data/updates/extracted/icehrm/docker-compose*.yaml .

Step 8: Fix Permissions

cd /path/to/icehrm
# Get the owner of the installation directory
OWNER=$(stat -c '%U:%G' .)

chown -R $OWNER app core web docs release-notes
chown -R $OWNER extensions/editor extensions/marketplace
chown $OWNER version.json readme.md release.md RoboFile.php

Step 9: Cleanup

rm -rf /path/to/icehrm/app/data/updates/extracted
rm /path/to/icehrm/app/data/updates/icehrm.zip

Step 10: Post-Update

  1. Clear your browser cache
  2. Log in and run database migrations if prompted
  3. Verify the application is working correctly