We have stopped offering self hosted version. Hence this article is not usable unless you already had purchased a spotipo license. Please checkout our cloud offering instead.

Create a backup of database

Spotipo uses MySQL as the DB server to store all its data in a database named spotipo.

mysqldump -uroot -p spotipo > spotipo.sqlmysqldump -uroot -p spotipo > spotipo.sql

Create a backup of files

Backup following directories as well


You can also use the below script which will let you make a full backup in linux.

#!/bin/bashCONFFILE=/usr/share/nginx/spotipo/instance/config.pyUSERNAME=$(grep "SQLALCHEMY" $CONFFILE | sed -r 's/SQLALCHEMY_DATABASE_URI="mysql:\/\/(.+):(.+)@.+\/(.+)"/\1/' )PASSWORD=$(grep "SQLALCHEMY" $CONFFILE | sed -r 's/SQLALCHEMY_DATABASE_URI="mysql:\/\/(.+):(.+)@.+\/(.+)"/\2/' )DBNAME=$(grep "SQLALCHEMY" $CONFFILE | sed -r 's/SQLALCHEMY_DATABASE_URI="mysql:\/\/(.+):(.+)@.+\/(.+)"/\3/' )now=$(date +"%m%d%Y")mysqldump -u$USERNAME -p$PASSWORD $DBNAME > spotipo_$now.sqltar -czvf uploads_$now.tar.gz /usr/share/nginx/spotipo/unifispot/static/uploads/tar -czvf instance_$now.tar.gz /usr/share/nginx/spotipo/instance/tar -czvf guesttemplates_$now.tar.gz /usr/share/nginx/spotipo/unifispot/templates/guest

Restoring from a backup

First step is to intstall a fresh copy of Spotipo on the new server. Make sure to install the same version of spotipo from which backup was created

Copy the contents of uploads folder into /usr/share/nginx/spotipo/unifispot/static/uploads

Copy the contents of guest templates into /usr/share/nginx/spotipo/unifispot/templates/guest

Copy the contents of instance folder into /usr/share/nginx/spotipo/instance

Now restore the database using below command

mysql -u root -p SPOTIPODBNAME < spotipo.sq

After restoring the database, you should reinitialize migrations. Use below commands for the same.

mysql -u root -p -e "DROP TABLE spotipo.alembic_version;"

cd /usr/share/nginx/spotiporm -rf migrationssource .env/bin/activatepython manage.py db initpython manage.py db migratepython manage.py db upgrade

Restart the application

sudo service supervisor restart



Did this answer your question?