app = { 'name': 'linkding', 'deps': ['skopeo', 'curl'], 'image': 'docker://sissbruecker/linkding:latest', } undocker = { 'url': 'https://git.sr.ht/~motiejus/undocker/refs/download/v1.0.2/undocker-linux-amd64-v1.0.2', 'sha256': 'b937e69e774c530c080c1f6685763ca7db4dc58520a5a2054d111e1504f47688', 'bin_path': '/usr/local/bin/undocker', 'app_dst': f"/opt/{app['name']}", 'cache': '/var/cache/undocker', } unix_account = { 'user': app['name'], 'group': app['name'], 'home': f"/home/{app['name']}", 'shell': '/bin/false', } data_directories = [ f"{unix_account['home']}/data" ] systemd = { 'Description': app['name'], 'User': unix_account['user'], 'Group': unix_account['group'], 'EnvironmentFile': f"/etc/{app['name']}.env", 'WorkingDirectory': f"/etc/{app['name']}", 'RootDirectory': f"{undocker['app_dst']}", 'ReadWritePaths': [ '+/etc/linkding' ], 'BindPaths': [ f"{data_directories[0]}:/etc/linkding/data" ], 'BindReadOnlyPaths': [ '/etc/resolv.conf', '/etc/hosts', '/proc' ], 'ExecStart': '/etc/linkding/bootstrap.sh', }