feat(sftpgo): add TLS support and internal certificate management

This commit is contained in:
2025-05-08 22:36:47 +02:00
parent 4d4f085c3e
commit 9de7d52192
12 changed files with 285 additions and 116 deletions
+46 -40
View File
@@ -3,70 +3,76 @@ locals {
sftpgo_config = {
"common" : {
"defender" : {
"enabled" : false
common = {
defender = {
enabled = false
}
},
"sftpd" : {
"bindings" : [
sftpd = {
bindings = [
{
"port" : 0
port = 0
}
]
},
"webdavd" : {
"bindings" : [
webdavd = {
bindings = [
{
"port" : 8081,
"address" : "0.0.0.0"
port = 8081
address = "0.0.0.0"
enable_https = var.tls_enabled
certificate_file = "/etc/ssl/certs/private/tls.crt"
certificate_key_file = "/etc/ssl/certs/private/tls.key"
}
]
},
"data_provider" : {
"create_default_admin" : true,
"backups_path" : "/var/lib/sftpgo/backup"
data_provider = {
create_default_admin = true
backups_path = "/var/lib/sftpgo/backup"
},
"httpd" : {
"bindings" : [
httpd = {
bindings = [
{
"port" : 8080,
"address" : "0.0.0.0",
"branding" : {
"web_client" : {
"name" : "alexpires.me cloud",
"short_name" : "alexpires.me"
port = 8080
address = "0.0.0.0"
enable_https = var.tls_enabled
certificate_file = "/etc/ssl/certs/private/tls.crt"
certificate_key_file = "/etc/ssl/certs/private/tls.key"
branding = {
web_client = {
name = "alexpires.me cloud"
short_name = "alexpires.me"
},
"web_admin" : {
"name" : "alexpires.me cloud",
"short_name" : "alexpires.me"
web_admin = {
name = "alexpires.me cloud"
short_name = "alexpires.me"
}
}
}
],
"web_root" : "/config/dav",
web_root = "/config/dav",
},
"telemetry" : {
"bind_port" : 10000,
"bind_address" : "0.0.0.0"
telemetry = {
bind_port = 10000
bind_address = "0.0.0.0"
},
"mfa" : {
"totp" : [
mfa = {
totp = [
{
"name" : "Default",
"issuer" : "alexpires.me",
"algo" : "sha1"
name = "Default",
issuer = "alexpires.me"
algo = "sha1"
}
]
},
"smtp" : {
"host" : var.smtp_host,
"port" : var.smtp_port,
"from" : var.from_email
"encryption" : 1,
"domain" : "alexpires.me"
smtp = {
host = var.smtp_host,
port = var.smtp_port,
from = var.from_email
encryption = 1,
domain = "alexpires.me"
},
"plugins" : []
plugins = []
}
config = jsonencode(local.sftpgo_config)