Updating

If using the Docker, any actions required by an upgrade will be handled by just updating the image tag and recreating the container.

If using the installation-ubuntu-ansible there is no need to do anything special. Just re-run the role!

For manual installs, see the following steps. Commands might vary depending on your OS.

Check the changelog

When updating the code, make sure you check the Changelog for any notes about the changes. Sometimes extra manual steps might be required or an update could take a long time due to database migrations.

Change to Socialhome user

Change to user socialhome for the rest of the guide.

sudo su - socialhome

Activate virtualenv

workon socialhome

Pull in latest code or release

To pull in a release:

# Replace release tag with the release, for example "v0.3.1"
git fetch && git checkout <release tag>

To pull in master branch head:

git pull

Install Python dependencies

We use the pip-tools command to ensure dependencies are at the correct versions.

Ensure pip-tools are up to date:

# Ensure pip and setuptools are up to date as well
pip install -U pip pip-tools

Then, update dependencies:

pip-sync

Run migrations

python manage.py migrate

Install statics

npm install
node_modules/.bin/bower install
npm run build
python manage.py collectstatic
python manage.py compilemessages

Restart the app

sudo service socialhome restart

Done!

Check the application and have fun!