+from fabric.api import *
+
+env.user = 'portal'
+env.hosts = ['agave5.man.poznan.pl']
+
+
+#################################################
+# server management (remote)
+#################################################
+
+PID_FILE = '/var/run/uwsgi.pid'
+
+
+@task
+def start():
+ with cd('qcg-portal'):
+ run("uwsgi --ini uwsgi.ini")
+
+
+@task
+def stop():
+ run("uwsgi --stop " + PID_FILE)
+
+
+@task
+def restart():
+ run("uwsgi --reload " + PID_FILE)
+
+
+def is_running():
+ with settings(hide('everything'), warn_only=True):
+ return not run("ps -p `cat {}`".format(PID_FILE), shell_escape=False).failed
+
+
+@task
+def status():
+ print "Server is",
+ print "running." if is_running() else "not running."
+
+
+#################################################
+# deployment (remote)
+#################################################
+
+@task
+def git_status():
+ with cd('qcg-portal'):
+ run("git status")
+
+
+@task
+def deploy(load_ex_data=False):
+ with cd('qcg-portal'):
+ run("git pull")
+
+ run("pip install -r requirements.txt")
+ run("python manage.py migrate qcg")
+ run("python manage.py collectstatic --noinput")
+
+ if is_running:
+ run("uwsgi --reload " + PID_FILE)
+ else:
+ run("uwsgi --ini uwsgi.ini")
\ No newline at end of file