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
unzipinstalled (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
- Clear your browser cache
- Log in and run database migrations if prompted
- Verify the application is working correctly