users = { 'seafile': { 'home': '/opt/seafile', }, } directories = { '/opt/seafile': { 'mode': '0755', 'owner': 'seafile', 'group': 'seafile', }, } files = { '/etc/systemd/system/seafile.service': { 'needed_by': { 'svc_systemd:seafile', }, 'triggers': { 'action:systemd-reload', }, }, '/etc/systemd/system/seahub.service': { 'needed_by': { 'svc_systemd:seafile', }, 'triggers': { 'action:systemd-reload', }, }, } svc_systemd = { 'seafile': { 'needs': { 'pkg_pip:', }, }, 'seahub': { 'needs': { 'svc_systemd:seafile', 'pkg_pip:', }, }, } for pkg in ( 'django==3.2.19', 'future==0.18.3', 'mysqlclient==2.1.1', 'pymysql', 'pillow==9.3.0', 'pylibmc', 'captcha==0.4', 'markupsafe==2.0.1', 'jinja2', 'sqlalchemy==1.4.3', 'psd-tools', 'django-pylibmc', 'django_simple_captcha==0.5.17', 'djangosaml2==1.5.7', 'pysaml2==7.2.1', 'pycryptodome==3.16.0', 'cffi==1.15.1', 'lxml', ): if '==' in pkg: pkg, version = pkg.split('==', 1) else: version = None pkg_pip[pkg.replace('_', '-')] = {'version': version}