From f7098b0d35e7f7de320eda39d085580f879709c4 Mon Sep 17 00:00:00 2001 From: Franziska Kunsmann Date: Thu, 15 Jul 2021 18:40:48 +0200 Subject: [PATCH] bundles/element-web: move to /opt (and zfs, if we have that) --- bundles/element-web/items.py | 10 ++++------ bundles/element-web/metadata.py | 18 ++++++++++++++++-- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/bundles/element-web/items.py b/bundles/element-web/items.py index 42247dd..190bf3e 100644 --- a/bundles/element-web/items.py +++ b/bundles/element-web/items.py @@ -2,14 +2,12 @@ from bundlewrap.metadata import metadata_to_json repo.libs.tools.require_bundle(node, 'nodejs') -element_web_root = '/var/www/{}'.format(node.metadata['element-web']['url']) - directories = { - element_web_root: {} + '/opt/element-web': {} } git_deploy = { - element_web_root: { + '/opt/element-web': { 'rev': node.metadata['element-web']['version'], 'repo': 'https://github.com/vector-im/element-web.git', 'triggers': { @@ -19,7 +17,7 @@ git_deploy = { } files = { - element_web_root + '/webapp/config.json': { + '/opt/element-web/webapp/config.json': { 'content': metadata_to_json(node.metadata['element-web']['config']), 'needs': { 'action:element-web_yarn', @@ -29,7 +27,7 @@ files = { actions = { 'element-web_yarn': { - 'command': 'cd ' + element_web_root + ' && npm install yarn && node_modules/yarn/bin/yarn install && node_modules/yarn/bin/yarn build', + 'command': 'cd /opt/element-web && npm install yarn && node_modules/yarn/bin/yarn install && node_modules/yarn/bin/yarn build', 'needs': { 'pkg_apt:nodejs', }, diff --git a/bundles/element-web/metadata.py b/bundles/element-web/metadata.py index 6b3caf4..c8fb99c 100644 --- a/bundles/element-web/metadata.py +++ b/bundles/element-web/metadata.py @@ -1,3 +1,16 @@ +defaults = { + 'zfs': { + 'datasets': { + 'tank/element-web': { + 'mountpoint': '/opt/element-web', + 'needed_by': { + 'directory:/opt/element-web', + }, + }, + }, + }, +} + @metadata_reactor.provides( 'nginx/vhosts', ) @@ -5,8 +18,9 @@ def nginx_config(metadata): return { 'nginx': { 'vhosts': { - metadata.get('element-web/url'): { - 'webroot': '/var/www/{}/webapp/'.format(metadata.get('element-web/url')), + 'element-web': { + 'domain': metadata.get('element-web/url'), + 'webroot': '/opt/element-web', }, }, },