home.paperless: add proftpd for paperless ingest
This commit is contained in:
parent
40fcaf56ee
commit
3f9f84f230
4 changed files with 119 additions and 0 deletions
13
bundles/proftpd/items.py
Normal file
13
bundles/proftpd/items.py
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
files['/etc/proftpd/proftpd.conf'] = {
|
||||||
|
'source': f'{node.name}.conf',
|
||||||
|
'triggers': {
|
||||||
|
'svc_systemd:proftpd:restart',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
svc_systemd['proftpd'] = {
|
||||||
|
'needs': {
|
||||||
|
'file:/etc/proftpd/proftpd.conf',
|
||||||
|
'pkg_apt:proftpd-core',
|
||||||
|
},
|
||||||
|
}
|
26
bundles/proftpd/metadata.py
Normal file
26
bundles/proftpd/metadata.py
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
from bundlewrap.metadata import atomic
|
||||||
|
|
||||||
|
defaults = {
|
||||||
|
'apt': {
|
||||||
|
'packages': {
|
||||||
|
'proftpd-core': {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@metadata_reactor.provides(
|
||||||
|
'firewall/port_rules',
|
||||||
|
)
|
||||||
|
def firewall(metadata):
|
||||||
|
sources = atomic(metadata.get('mosquitto/restrict-to', set()))
|
||||||
|
|
||||||
|
return {
|
||||||
|
'firewall': {
|
||||||
|
'port_rules': {
|
||||||
|
'20/tcp': sources,
|
||||||
|
'21/tcp': sources,
|
||||||
|
'49152-50192/tcp': sources,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
74
data/proftpd/files/home.paperless.conf
Normal file
74
data/proftpd/files/home.paperless.conf
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
Include /etc/proftpd/modules.conf
|
||||||
|
|
||||||
|
UseIPv6 on
|
||||||
|
<IfModule mod_ident.c>
|
||||||
|
IdentLookups off
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
ServerName "home.paperless"
|
||||||
|
ServerType standalone
|
||||||
|
DeferWelcome off
|
||||||
|
|
||||||
|
DefaultServer on
|
||||||
|
ShowSymlinks on
|
||||||
|
|
||||||
|
TimeoutNoTransfer 600
|
||||||
|
TimeoutStalled 600
|
||||||
|
TimeoutIdle 1200
|
||||||
|
|
||||||
|
DisplayLogin welcome.msg
|
||||||
|
DisplayChdir .message true
|
||||||
|
ListOptions "-l"
|
||||||
|
|
||||||
|
DenyFilter \*.*/
|
||||||
|
|
||||||
|
RequireValidShell off
|
||||||
|
|
||||||
|
Port 21
|
||||||
|
|
||||||
|
PassivePorts 49152 50192
|
||||||
|
|
||||||
|
MaxInstances 30
|
||||||
|
|
||||||
|
User proftpd
|
||||||
|
Group nogroup
|
||||||
|
|
||||||
|
Umask 022 022
|
||||||
|
AllowOverwrite on
|
||||||
|
|
||||||
|
TransferLog /var/log/proftpd/xferlog
|
||||||
|
SystemLog /var/log/proftpd/proftpd.log
|
||||||
|
|
||||||
|
<IfModule mod_quotatab.c>
|
||||||
|
QuotaEngine off
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_ratio.c>
|
||||||
|
Ratios off
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_delay.c>
|
||||||
|
DelayEngine on
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_ctrls.c>
|
||||||
|
ControlsEngine off
|
||||||
|
ControlsMaxClients 2
|
||||||
|
ControlsLog /var/log/proftpd/controls.log
|
||||||
|
ControlsInterval 5
|
||||||
|
ControlsSocket /var/run/proftpd/proftpd.sock
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_ctrls_admin.c>
|
||||||
|
AdminControlsEngine off
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<Anonymous /mnt/paperless/consume/>
|
||||||
|
User nobody
|
||||||
|
Group nogroup
|
||||||
|
UserAlias anonymous ftp
|
||||||
|
|
||||||
|
<Directory *>
|
||||||
|
AllowAll
|
||||||
|
</Directory>
|
||||||
|
</Anonymous>
|
|
@ -6,6 +6,7 @@ nodes['home.paperless'] = {
|
||||||
'redis',
|
'redis',
|
||||||
'postgresql',
|
'postgresql',
|
||||||
'paperless-ng',
|
'paperless-ng',
|
||||||
|
'proftpd',
|
||||||
},
|
},
|
||||||
'groups': {
|
'groups': {
|
||||||
'debian-bookworm',
|
'debian-bookworm',
|
||||||
|
@ -53,6 +54,11 @@ nodes['home.paperless'] = {
|
||||||
'postgresql': {
|
'postgresql': {
|
||||||
'version': 15,
|
'version': 15,
|
||||||
},
|
},
|
||||||
|
'proftpd': {
|
||||||
|
'restrict-to': {
|
||||||
|
'home.fujitsu-n7100',
|
||||||
|
},
|
||||||
|
},
|
||||||
'vm': {
|
'vm': {
|
||||||
'cpu': 2,
|
'cpu': 2,
|
||||||
'ram': 2,
|
'ram': 2,
|
||||||
|
|
Loading…
Reference in a new issue