From 8b0c0361d8807d9ae1ef29747480b07232f94411 Mon Sep 17 00:00:00 2001 From: bnewbold Date: Sun, 10 Apr 2016 03:16:36 -0400 Subject: mediagoblin: lots of little fixes; bugs prevent final deployment --- roles/mediagoblin/tasks/mediagoblin.yml | 98 +++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 roles/mediagoblin/tasks/mediagoblin.yml (limited to 'roles/mediagoblin/tasks/mediagoblin.yml') diff --git a/roles/mediagoblin/tasks/mediagoblin.yml b/roles/mediagoblin/tasks/mediagoblin.yml new file mode 100644 index 0000000..b7df031 --- /dev/null +++ b/roles/mediagoblin/tasks/mediagoblin.yml @@ -0,0 +1,98 @@ +- name: Install mediagoblin dependencies + apt: name={{item}} state=installed + with_items: + - python3-dev + - python3-lxml + - python3-pil + - python3-virtualenv + - python3-babel + - virtualenv + - automake + - npm # XXX: really? UGH + - nodejs-legacy + tags: + - dependencies + +- name: Create mediagoblin user + user: name={{ mediagoblin_user }} + createhome=yes + groups=www-data + system=yes + home=/var/lib/mediagoblin + state=present + +- name: Create mediagoblin base directory + file: name={{ mediagoblin_basedir }} + state=directory + owner={{ mediagoblin_user }} + +- name: Create user data directory + file: name={{ mediagoblin_basedir }}/data + state=directory + mode=0750 + owner={{ mediagoblin_user }} + +- name: Checkout git + git: repo={{ mediagoblin_git_uri }} + dest={{ mediagoblin_basedir }}/src + version={{ mediagoblin_git_ref }} + recursive=yes + accept_hostkey=yes + sudo: yes + sudo_user: "{{ mediagoblin_user }}" + +- name: Create mediagoblin user_dev directory + file: name={{ mediagoblin_basedir }}/src/user_dev + state=directory + owner={{ mediagoblin_user }} + +- name: Create virtualenv + shell: + virtualenv --python=python3 --system-site-packages . + chdir="{{mediagoblin_basedir}}/src" + creates="{{mediagoblin_basedir}}/src/bin/python" + sudo: yes + sudo_user: "{{ mediagoblin_user }}" + +- name: Build mediagoblin + shell: + ./bootstrap.sh && ./configure -with-python3 && make + chdir="{{mediagoblin_basedir }}/src" + creates="{{mediagoblin_basedir}}/src/mediagoblin.egg-info" + sudo: yes + sudo_user: "{{ mediagoblin_user }}" + +- name: Install flup in virtualenv + easy_install: + name=flup + virtualenv="{{ mediagoblin_basedir }}"/src + sudo: yes + sudo_user: "{{ mediagoblin_user }}" + +- name: Update DB + shell: + ./bin/gmg dbupdate + chdir="{{ mediagoblin_basedir }}/src" + sudo: yes + sudo_user: "{{ mediagoblin_user }}" + +- name: Copy mediagoblin config + template: src=mediagoblin_local.ini.j2 + dest=/srv/mediagoblin/src/mediagoblin_local.ini + +- name: Copy mediagoblin paste config + template: src=paste_local.ini.j2 + dest=/srv/mediagoblin/src/paste_local.ini + +- name: Copy generic mediagoblin nginx site configuration + template: src=etc_nginx_sites-available_mediagoblin.j2 + dest=/etc/nginx/sites-available/mediagoblin + +# XXX: TODO: how to create a systemd unit? + +- name: Create nginx symlink for default + file: state=link + src=/etc/nginx/sites-available/mediagoblin + dest=/etc/nginx/sites-enabled/mediagoblin + notify: nginx restart # reload not sufficient? + -- cgit v1.2.3