Install Attune

This section describes how to install attune in to a prepared Linux environment.

Sudo

Setup sudo access for Attune, Run this step as root.

echo "attune        ALL=(ALL)       NOPASSWD: ALL" > /etc/sudoers.d/attune

Database

Note

All these steps must be run as the attune user

Create the attune SQL user:

sudo su - postgres -c "createuser -d -r -s attune"

Create the database:

createdb -O attune attune

Set the PostGreSQL attune users password:

psql <<EOF
\password
\q
EOF

# Set the password as "PASSWORD" for development machines
# Set it to a secure password from https://xkpasswd.net/s/ for production

Cleanup traces of the password:

[ ! -e ~/.psql_history ] || rm ~/.psql_history

Bash Profile

Setup the profile for Attune, Edit ~/.profile and append the following lines

cat <<"EOF" >> ~/.bash_profile
export PATH=~/python/bin:$PATH
EOF

Close the shell

exit

Re-open the shell

Config

Create the Attune config file

[ -d ~/attune.home ] || mkdir ~/attune.home
cat <<"EOF" >> ~/attune.home/config.cfg

[disk_storage]
home_path = /home/attune/attune.home
archives_path = %(home_path)s/archives_contents
tmp_path = %(home_path)s/tmp
archives_unlocked_contents = %(home_path)s/archives_unlocked_contents


[alembic]
# path to migration scripts
script_location = /home/attune/python/lib/python2.7/site-packages/attune/alembic
sourceless = true
sqlalchemy.url = postgresql://attune:PASSWORD@localhost/attune

EOF

Note

Replace the PASSWORD with the password set for the postgresql attune user

Set Git User

Run the following command to setup the commit user for git.

git config --global user.email "attune@attune.local"
git config --global user.name "Attune"

Deploy Attune

This section sets up the python virtual environment for Attune and deploys the Attune packages.


Stop Attune if it’s running:

sudo systemctl stop attune

pkill -9 -f run_attune_server

Remove existing releases from the server:

rm -rf ~/synerty-attune-v*

Remove the existing attune virtual environments if required:

rm -rf ~/python

Create a new python virtual environment where all of the Attune packages will be installed. Run the following command:

virtualenv ~/python

Make sure the python virtualenv is in the PATH

which python
[ '/home/attune/python/bin/python' == `which python` ] && echo 'Success' || echo 'FAILED!!!'

Copy the Attune release to the server, to the attune users home directory, as the user attune.

For example: synerty-attune-v3.0.0-release.tar.bz2


Install the latest Attune:

cd

tar xvjf synerty-attune-v*.tar.bz2
pushd synerty-attune-v*-release

# Deploy the software
pip install --upgrade --no-cache --no-index --find-links=py py/attune-*.tar.gz

# Install the init script
sudo cp init/attune.service /lib/systemd/system/

# Return to the last dir
popd

Try running Attune manually:

which run_attune_server
run_attune_server

Kill the server with Control + C


Finally, enable the Attune service and Auto Start:

sudo systemctl enable attune
sudo systemctl start attune

Attune setup is complete.