Skip to main content

Add versions 6.x to an existing SIM server

This document explains how to add versions 6.x to an existing SIM server.

Install versions 6.x​

Login as user simplicite.

Clone the version 6 template Git repository:

cd /var/simplicite/git
git clone --bare https://_your_Git_username_:_your_Git_password_@platform.git.simplicite.io/template-6.git
warning

Make sure to change _your_Git_username_ and _your_Git_password_ by your own Git credentials

Create the version 6.x (current and maintained) minor versions in the SIM database:

sql "insert into versions values ('6.2', '1970-01-01 00:00:00')"
sql "insert into versions values ('6.3', '1970-01-01 00:00:00')"

And optionally their "light" variants:

sql "insert into versions values ('6.2l', '1970-01-01 00:00:00')"
sql "insert into versions values ('6.3l', '1970-01-01 00:00:00')"
note

Versions 6.0 and 6.1 are now outdated, thus not mentioned here any longer.

Add the post receive hook for the template:

vi template-6.git/hooks/post-receive

With the following content:

#!/bin/bash
for branch in 6.2 6.3
# or for branch in 6.2 6.2-light 6.3 6.3-light
do
version=${branch/-light/l}
echo "Updating version $version template (branch $branch)..."
rm -fr /var/simplicite/template-$version
mkdir /var/simplicite/template-$version
git --work-tree=/var/simplicite/template-$version --git-dir=/var/simplicite/git/template-6.git checkout -f $branch
if [ $? = 0 ]
then
chmod +x /var/simplicite/template-$version/tools/*.sh
date=`git --git-dir=/var/simplicite/git/template-6.git log -1 --date=iso | awk '/^Date:/ { print $2" "$3 }'`
echo "Last commit date: $date"
sqlite3 /var/simplicite/data/apps.db "update versions set date = '$date' where version = '$version'"
echo "Done"
else
echo "${branch} not (yet) available in /var/simplicite/git/template-6.git"
fi
done
note

All variants of version 6 may not be required in the above steps; the commands and scripts can be adapted as necessary.

Make it executable:

chmod +x template-6.git/hooks/post-receive

Execute it:

./template-6.git/hooks/post-receive

Edit the post receive hook for the instance manager:

vi apps.git/hooks/post-receive

with the following content (keep the previous versions' parts if needed):

#!/bin/bash
echo "Updating instances manager..."
sudo su simplicite -c "git --work-tree=/var/simplicite/apps --git-dir=/var/simplicite/git/apps.git checkout -f master"
for branch in 6.2 6.3
# or for v in 6.2 6.2-light 6.3 6.3-light
do
version=${branch/-light/l}
cat /var/simplicite/apps/bin/version-6.sh | sed "s/template-6/template-$version/g" > /var/simplicite/apps/bin/version-$version.sh
done
sudo chmod +x /var/simplicite/apps/bin/*.sh
sudo su simplicite -c "touch /var/simplicite/logs/apps.log"
sudo chmod 660 /var/simplicite/logs/apps.log
echo "Done"

Make it executable:

chmod +x apps.git/hooks/post-receive

Execute it:

./apps.git/hooks/post-receive

Verify installation​

At this stage, the version 6 templates should be available in the /var/simplicite/template-6* folders.

And a call to sim versions should display version 6 templates with their latest revision dates, e.g.:

> sim versions
(...)
6.2 2026-01-15 23:21:12
6.3 2026-01-15 23:19:13
(...)

Create new version 6 instances​

Version 6 instances can now be created:

sim add <new instance name> 6.3

Upgrade existing version 5 instances​

Optionally, existing 5 instances may be switched to version 6 with:

sim setversion <instance name> 6.3

or for more selective/specific cases:

sql "update instances set version='6.3' where <condition>"

where <condition> can be, for instance, name like 'myoldinstance%', etc.

Then force an upgrade on all switched instances:

for i in `sim ls 5 | awk '{print $1}`; do echo sim up $i; done
warning

Note that :

  • switching from version 5 to any version 6.x is irreversible
  • switching from version 5 to any version 6.x is impossible if the version 5 is not up-to date on the latest version 5 revision