Compare commits
2 commits
effded149a
...
1a1121e010
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1a1121e010 | ||
![]() |
2ecef5446a |
5 changed files with 120 additions and 4 deletions
61
bundles/gollum/items.py
Normal file
61
bundles/gollum/items.py
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
from shlex import quote
|
||||||
|
|
||||||
|
users = {
|
||||||
|
'gollum': {
|
||||||
|
'home': '/var/lib/gollum',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
directories = {
|
||||||
|
'/opt/gollum': {
|
||||||
|
'owner': 'gollum',
|
||||||
|
},
|
||||||
|
'/opt/gollum/.bundle': {
|
||||||
|
'owner': 'gollum',
|
||||||
|
},
|
||||||
|
'/var/lib/gollum': {
|
||||||
|
'owner': 'gollum',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
files = {
|
||||||
|
'/opt/gollum/.bundle/config': {
|
||||||
|
'content': 'BUNDLE_PATH: ".bundle/gems"',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
git_deploy = {
|
||||||
|
'/opt/gollum': {
|
||||||
|
'repo': 'https://github.com/gollum/gollum.git',
|
||||||
|
'rev': f"v{node.metadata.get('gollum/version')}",
|
||||||
|
},
|
||||||
|
'/var/lib/gollum': {
|
||||||
|
'repo': node.metadata.get('gollum/wiki'),
|
||||||
|
'rev': 'main',
|
||||||
|
'unless': 'test -e /var/lib/gollum/.git',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
def run(cmd):
|
||||||
|
return f"su gollum -c " + quote(f"cd /opt/gollum && {cmd}")
|
||||||
|
|
||||||
|
actions = {
|
||||||
|
'gollum_install_bundler': {
|
||||||
|
'command': run("gem install bundler --user"),
|
||||||
|
'unless': run("gem list -i bundler"),
|
||||||
|
'needs': [
|
||||||
|
'file:/opt/gollum/.bundle/config',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
'gollum_bundle_install': {
|
||||||
|
'command': run("$(ruby -e 'puts Gem.user_dir')/bin/bundle install"),
|
||||||
|
'unless': run("$(ruby -e 'puts Gem.user_dir')/bin/bundle check"),
|
||||||
|
'needs': [
|
||||||
|
'git_deploy:/opt/gollum',
|
||||||
|
'action:gollum_install_bundler',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
# TODO: AUTH
|
||||||
|
#https://github.com/bjoernalbers/gollum-auth
|
49
bundles/gollum/metadata.py
Normal file
49
bundles/gollum/metadata.py
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
defaults = {
|
||||||
|
'apt': {
|
||||||
|
'packages': {
|
||||||
|
'libgit2-dev': {},
|
||||||
|
'libssl-dev': {},
|
||||||
|
'cmake': {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'systemd': {
|
||||||
|
'units': {
|
||||||
|
'gollum.service': {
|
||||||
|
'Unit': {
|
||||||
|
'Description': 'gollum',
|
||||||
|
'After': 'syslog.target',
|
||||||
|
'After': 'network.target',
|
||||||
|
'Requires': 'postgresql.service',
|
||||||
|
},
|
||||||
|
'Service': {
|
||||||
|
'User': 'gollum',
|
||||||
|
'Group': 'gollum',
|
||||||
|
'WorkingDirectory': '/opt/gollum',
|
||||||
|
'ExecStart': 'true',
|
||||||
|
'Restart': 'always',
|
||||||
|
},
|
||||||
|
'Install': {
|
||||||
|
'WantedBy': {'multi-user.target'},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@metadata_reactor.provides(
|
||||||
|
'nginx/vhosts',
|
||||||
|
)
|
||||||
|
def nginx(metadata):
|
||||||
|
return {
|
||||||
|
'nginx': {
|
||||||
|
'vhosts': {
|
||||||
|
metadata.get('gollum/domain'): {
|
||||||
|
'content': 'nginx/proxy_pass.conf',
|
||||||
|
'context': {
|
||||||
|
'target': 'http://127.0.0.1:3600',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
|
@ -42,8 +42,8 @@ if [ "$SCAN" == "TRUE" ]; then
|
||||||
# find "$SOURCEPATH/"* -type d -empty -delete >> /var/echo/nc-picsort.echo # nextcloud app bug when deleting folders
|
# find "$SOURCEPATH/"* -type d -empty -delete >> /var/echo/nc-picsort.echo # nextcloud app bug when deleting folders
|
||||||
chown -R www-data:www-data "$DESTINATIONPATH"
|
chown -R www-data:www-data "$DESTINATIONPATH"
|
||||||
chmod -R 777 "$DESTINATIONPATH"
|
chmod -R 777 "$DESTINATIONPATH"
|
||||||
sudo -u www-data php /var/www/nextcloud/occ files:scan $USER
|
sudo -u www-data php /opt/nextcloud/occ files:scan $USER
|
||||||
sudo -u www-data php /var/www/nextcloud/occ preview:generate-all $USER
|
sudo -u www-data php /opt/nextcloud/occ preview:generate-all $USER
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "FINISH."
|
echo "FINISH."
|
||||||
|
|
|
@ -9,7 +9,7 @@ def systemd_timers(metadata):
|
||||||
'systemd-timers': {
|
'systemd-timers': {
|
||||||
f'nextcloud-picsort-{user}': {
|
f'nextcloud-picsort-{user}': {
|
||||||
'command': f'/opt/nextcloud-picsort {q(user)} {q(paths["source"])} {q(paths["destination"])}',
|
'command': f'/opt/nextcloud-picsort {q(user)} {q(paths["source"])} {q(paths["destination"])}',
|
||||||
'when': '*:0/5',
|
'when': '*:0/10',
|
||||||
}
|
}
|
||||||
for user, paths in metadata.get('nextcloud-picsort').items()
|
for user, paths in metadata.get('nextcloud-picsort').items()
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
'redis',
|
'redis',
|
||||||
'wireguard',
|
'wireguard',
|
||||||
'zfs',
|
'zfs',
|
||||||
|
'gollum',
|
||||||
],
|
],
|
||||||
'metadata': {
|
'metadata': {
|
||||||
'id': 'af96709e-b13f-4965-a588-ef2cd476437a',
|
'id': 'af96709e-b13f-4965-a588-ef2cd476437a',
|
||||||
|
@ -27,10 +28,15 @@
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'gitea': {
|
'gitea': {
|
||||||
'version': '1.14.2',
|
'version': '1.15.5',
|
||||||
'sha256': '0d11d87ce60d5d98e22fc52f2c8c6ba2b54b14f9c26c767a46bf102c381ad128',
|
'sha256': '0d11d87ce60d5d98e22fc52f2c8c6ba2b54b14f9c26c767a46bf102c381ad128',
|
||||||
'domain': 'git.sublimity.de',
|
'domain': 'git.sublimity.de',
|
||||||
},
|
},
|
||||||
|
'gollum': {
|
||||||
|
'domain': 'wiki.sublimity.de',
|
||||||
|
'wiki': 'https://git.sublimity.de/cronekorkn/wiki.git',
|
||||||
|
'version': '5.2.3',
|
||||||
|
},
|
||||||
'grafana': {
|
'grafana': {
|
||||||
'hostname': 'grafana.sublimity.de',
|
'hostname': 'grafana.sublimity.de',
|
||||||
'influxdb_node': 'home.server',
|
'influxdb_node': 'home.server',
|
||||||
|
|
Loading…
Reference in a new issue