From 289be7890c97e34799b43f4dba4926c03e5a7a0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Barrob=C3=A9s?= Date: Tue, 16 Apr 2013 00:54:29 +0100 Subject: [PATCH] Add scripts and settings for deployment to txels.com --- deploy-requirements.txt | 1 + deploy/lighttpd.pretenders | 22 ++++++++++++++++++++++ deploy/pretenders.fcgi | 10 ++++++++++ fabfile.py | 23 +++++++++++++++++++++++ live-requirements.txt | 1 + 5 files changed, 57 insertions(+) create mode 100644 deploy-requirements.txt create mode 100644 deploy/lighttpd.pretenders create mode 100755 deploy/pretenders.fcgi create mode 100644 fabfile.py create mode 100644 live-requirements.txt diff --git a/deploy-requirements.txt b/deploy-requirements.txt new file mode 100644 index 0000000..2610efb --- /dev/null +++ b/deploy-requirements.txt @@ -0,0 +1 @@ +fabric diff --git a/deploy/lighttpd.pretenders b/deploy/lighttpd.pretenders new file mode 100644 index 0000000..6eb3db4 --- /dev/null +++ b/deploy/lighttpd.pretenders @@ -0,0 +1,22 @@ +# Serve bottle app via fast cgi + +$HTTP["host"] =~ "^pretenders\.txels\.com$" { + fastcgi.server = ("/pretenders.fcgi" => + (( + "socket" => env.HOME + "/srv/pretenders/pretenders.sock", + "bin-path" => env.HOME + "/srv/pretenders/deploy/pretenders.fcgi", + "check-local" => "disable", + "max-procs" => 1 + )) + ) + + alias.url = ( + "/static" => env.HOME + "/srv/pretenders/pretenders/server/static", + ) + + url.rewrite-once = ( + "^(/static($|/.*))$" => "$1", + # "^/favicon\.ico$" => "/media/favicon.ico", + "^(/.*)$" => "/pretenders.fcgi$1", + ) +} diff --git a/deploy/pretenders.fcgi b/deploy/pretenders.fcgi new file mode 100755 index 0000000..2979d43 --- /dev/null +++ b/deploy/pretenders.fcgi @@ -0,0 +1,10 @@ +#!/usr/bin/env python +import sys +import os + +sys.path.insert(0, os.path.dirname(os.path.dirname(__file__))) + +if __name__ == '__main__': + from pretenders.server import pretender_app + from flup.server.fcgi import WSGIServer + WSGIServer(pretender_app).run() diff --git a/fabfile.py b/fabfile.py new file mode 100644 index 0000000..0aa1e91 --- /dev/null +++ b/fabfile.py @@ -0,0 +1,23 @@ +from fabric.api import task, put, run, get, local +from fabric.contrib.project import rsync_project + + +#DAEMON = '~/init/wishlist' +LIGHTTPD = '~/init/lighttpd' +LIGHTTPD_CONF = '~/lighttpd/pretenders.conf' +SRV_HOME = '~/srv/pretenders' +ENV_HOME = '~/env/pretenders' +PYTHON = ENV_HOME + '/bin/python' +# MANAGE = '{0} {1}'.format(PYTHON, SRV_HOME + '/manage.py') + + +@task +def deploy(): + """Copy project to txels.com""" + rsync_project( + local_dir='.', + remote_dir=SRV_HOME, + exclude=['test', '.*', '*~', '*.pyc'], + extra_opts='--omit-dir-times') + put('deploy/lighttpd.pretenders', LIGHTTPD_CONF) + run(LIGHTTPD + ' restart') diff --git a/live-requirements.txt b/live-requirements.txt new file mode 100644 index 0000000..7fc4611 --- /dev/null +++ b/live-requirements.txt @@ -0,0 +1 @@ +flup