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": '/etc/linkding/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"{list(data_directories.items())[0][0]}:{list(data_directories.items())[0][1]}"
'BindReadOnlyPaths': [
'/etc/resolv.conf',
'/etc/hosts',
'/proc'
'ExecStart': '/etc/linkding/bootstrap.sh',