Final commit
This commit is contained in:
parent
f8762e703a
commit
39dce803e1
2
main.tf
2
main.tf
|
@ -25,6 +25,6 @@ module "docker" {
|
||||||
}
|
}
|
||||||
|
|
||||||
module "radicale" {
|
module "radicale" {
|
||||||
source ="radicale"
|
source = "radicale"
|
||||||
domain = "radicale.bb8.fun"
|
domain = "radicale.bb8.fun"
|
||||||
}
|
}
|
||||||
|
|
144
radicale/config
144
radicale/config
|
@ -1,160 +1,32 @@
|
||||||
# vim:ft=cfg
|
# See radicale.org/configuration/
|
||||||
|
|
||||||
# Config file for Radicale - A simple calendar server
|
|
||||||
#
|
|
||||||
# Place it into /etc/radicale/config (global)
|
|
||||||
# or ~/.config/radicale/config (user)
|
|
||||||
#
|
|
||||||
# The current values are the default ones
|
|
||||||
|
|
||||||
|
|
||||||
[server]
|
[server]
|
||||||
|
|
||||||
# CalDAV server hostnames separated by a comma
|
|
||||||
# IPv4 syntax: address:port
|
|
||||||
# IPv6 syntax: [address]:port
|
|
||||||
# For example: 0.0.0.0:9999, [::]:9999
|
|
||||||
#hosts = 127.0.0.1:5232
|
|
||||||
hosts = 0.0.0.0:5232
|
hosts = 0.0.0.0:5232
|
||||||
|
|
||||||
# Daemon flag
|
|
||||||
#daemon = False
|
|
||||||
|
|
||||||
# File storing the PID in daemon mode
|
|
||||||
#pid =
|
|
||||||
|
|
||||||
# Max parallel connections
|
# Max parallel connections
|
||||||
#max_connections = 20
|
max_connections = 10
|
||||||
|
|
||||||
# Max size of request body (bytes)
|
|
||||||
#max_content_length = 10000000
|
|
||||||
|
|
||||||
# Socket timeout (seconds)
|
|
||||||
#timeout = 10
|
|
||||||
|
|
||||||
# SSL flag, enable HTTPS protocol
|
|
||||||
ssl = False
|
|
||||||
|
|
||||||
# SSL certificate path
|
|
||||||
#certificate = /etc/ssl/radicale.cert.pem
|
|
||||||
|
|
||||||
# SSL private key
|
|
||||||
#key = /etc/ssl/radicale.key.pem
|
|
||||||
|
|
||||||
# CA certificate for validating clients. This can be used to secure
|
|
||||||
# TCP traffic between Radicale and a reverse proxy
|
|
||||||
#certificate_authority =
|
|
||||||
|
|
||||||
# SSL Protocol used. See python's ssl module for available values
|
|
||||||
#protocol = PROTOCOL_TLSv1_2
|
|
||||||
|
|
||||||
# Available ciphers. See python's ssl module for available ciphers
|
|
||||||
#ciphers =
|
|
||||||
|
|
||||||
# Reverse DNS to resolve client address in logs
|
|
||||||
dns_lookup = False
|
|
||||||
|
|
||||||
# Message displayed in the client when a password is needed
|
# Message displayed in the client when a password is needed
|
||||||
#realm = Radicale - Password Required
|
realm = Authentication required
|
||||||
|
|
||||||
|
|
||||||
[encoding]
|
|
||||||
|
|
||||||
# Encoding for responding requests
|
|
||||||
request = utf-8
|
|
||||||
|
|
||||||
# Encoding for storing local collections
|
|
||||||
stock = utf-8
|
|
||||||
|
|
||||||
|
|
||||||
[auth]
|
[auth]
|
||||||
|
|
||||||
# Authentication method
|
# Authentication method
|
||||||
# Value: none | htpasswd | remote_user | http_x_remote_user
|
# Value: none | htpasswd | remote_user | http_x_remote_user
|
||||||
#type = none
|
type = htpasswd
|
||||||
|
htpasswd_filename = /config/users
|
||||||
# Htpasswd filename
|
|
||||||
#htpasswd_filename = /etc/radicale/users
|
|
||||||
|
|
||||||
# Htpasswd encryption method
|
|
||||||
# Value: plain | sha1 | ssha | crypt | bcrypt | md5
|
|
||||||
# Only bcrypt can be considered secure.
|
|
||||||
# bcrypt and md5 require the passlib library to be installed.
|
|
||||||
#htpasswd_encryption = bcrypt
|
|
||||||
|
|
||||||
# Incorrect authentication delay (seconds)
|
|
||||||
delay = 1
|
|
||||||
|
|
||||||
|
|
||||||
[rights]
|
|
||||||
|
|
||||||
# Rights backend
|
|
||||||
# Value: none | authenticated | owner_only | owner_write | from_file
|
|
||||||
#type = owner_only
|
|
||||||
|
|
||||||
# File for rights management from_file
|
|
||||||
# file = /etc/radicale/rights
|
|
||||||
|
|
||||||
|
|
||||||
[storage]
|
[storage]
|
||||||
|
|
||||||
# Storage backend
|
|
||||||
# Value: multifilesystem
|
|
||||||
#type = multifilesystem
|
|
||||||
|
|
||||||
# Folder for storing local collections, created if not present
|
|
||||||
#filesystem_folder = /var/lib/radicale/collections
|
|
||||||
filesystem_folder = /data/collections
|
filesystem_folder = /data/collections
|
||||||
|
|
||||||
# Lock the storage. Never start multiple instances of Radicale or edit the
|
|
||||||
# storage externally while Radicale is running if disabled.
|
|
||||||
#filesystem_locking = True
|
|
||||||
|
|
||||||
# Sync all changes to disk during requests. (This can impair performance.)
|
|
||||||
# Disabling it increases the risk of data loss, when the system crashes or
|
|
||||||
# power fails!
|
|
||||||
#filesystem_fsync = True
|
|
||||||
|
|
||||||
# Delete sync token that are older (seconds)
|
|
||||||
#max_sync_token_age = 2592000
|
|
||||||
|
|
||||||
# Close the lock file when no more clients are waiting.
|
|
||||||
# This option is not very useful in general, but on Windows files that are
|
|
||||||
# opened cannot be deleted.
|
|
||||||
#filesystem_close_lock_file = False
|
|
||||||
|
|
||||||
# Command that is run after changes to storage
|
|
||||||
# Example: ([ -d .git ] || git init) && git add -A && (git diff --cached --quiet || git commit -m "Changes by "%(user)s)
|
|
||||||
#hook =
|
|
||||||
|
|
||||||
|
|
||||||
[web]
|
|
||||||
|
|
||||||
# Web interface backend
|
|
||||||
# Value: none | internal | radicale_infcloud
|
|
||||||
# (See also https://github.com/Unrud/RadicaleInfCloud)
|
|
||||||
#type = internal
|
|
||||||
|
|
||||||
|
|
||||||
[logging]
|
[logging]
|
||||||
|
|
||||||
# Logging configuration file
|
|
||||||
# If no config is given, simple information is printed on the standard output
|
|
||||||
# For more information about the syntax of the configuration file, see:
|
# For more information about the syntax of the configuration file, see:
|
||||||
# http://docs.python.org/library/logging.config.html
|
# http://docs.python.org/library/logging.config.html
|
||||||
#config =
|
# config = /config/logging
|
||||||
|
|
||||||
# Set the default logging level to debug
|
|
||||||
#debug = False
|
|
||||||
|
|
||||||
# Store all environment variables (including those set in the shell)
|
|
||||||
#full_environment = False
|
|
||||||
|
|
||||||
# Don't include passwords in logs
|
|
||||||
#mask_passwords = True
|
|
||||||
|
|
||||||
|
|
||||||
[headers]
|
[headers]
|
||||||
|
|
||||||
# Additional HTTP headers
|
# Additional HTTP headers
|
||||||
#Access-Control-Allow-Origin = *
|
X-Powered-By: Allomancy
|
||||||
|
Server: Blackbox
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
[loggers]
|
||||||
|
keys = root
|
||||||
|
|
||||||
|
[handlers]
|
||||||
|
keys = file
|
||||||
|
|
||||||
|
[formatters]
|
||||||
|
keys = full
|
||||||
|
|
||||||
|
[logger_root]
|
||||||
|
# Change this to DEBUG or INFO for higher verbosity.
|
||||||
|
level = WARNING
|
||||||
|
handlers = file
|
||||||
|
|
||||||
|
[handler_file]
|
||||||
|
class = FileHandler
|
||||||
|
# Specify the output file here.
|
||||||
|
args = ('/var/log/radicale/log',)
|
||||||
|
formatter = full
|
||||||
|
|
||||||
|
[formatter_full]
|
||||||
|
format = %(asctime)s - [%(thread)x] %(levelname)s: %(message)s
|
|
@ -12,15 +12,15 @@ resource docker_container "radicale" {
|
||||||
image = "${docker_image.radicale.latest}"
|
image = "${docker_image.radicale.latest}"
|
||||||
|
|
||||||
labels {
|
labels {
|
||||||
"traefik.port" = 5232
|
"traefik.port" = 5232
|
||||||
"traefik.enable" = "true"
|
"traefik.enable" = "true"
|
||||||
"traefik.frontend.headers.SSLTemporaryRedirect" = "true"
|
"traefik.frontend.headers.SSLTemporaryRedirect" = "true"
|
||||||
"traefik.frontend.headers.STSSeconds" = "2592000"
|
"traefik.frontend.headers.STSSeconds" = "2592000"
|
||||||
"traefik.frontend.headers.STSIncludeSubdomains" = "false"
|
"traefik.frontend.headers.STSIncludeSubdomains" = "false"
|
||||||
"traefik.frontend.headers.contentTypeNosniff" = "true"
|
"traefik.frontend.headers.contentTypeNosniff" = "true"
|
||||||
"traefik.frontend.headers.browserXSSFilter" = "true"
|
"traefik.frontend.headers.browserXSSFilter" = "true"
|
||||||
"traefik.frontend.passHostHeader" = "true"
|
"traefik.frontend.passHostHeader" = "true"
|
||||||
"traefik.frontend.rule" = "Host:${var.domain}"
|
"traefik.frontend.rule" = "Host:${var.domain}"
|
||||||
}
|
}
|
||||||
|
|
||||||
volumes {
|
volumes {
|
||||||
|
@ -38,11 +38,15 @@ resource docker_container "radicale" {
|
||||||
file = "/config/config"
|
file = "/config/config"
|
||||||
}
|
}
|
||||||
|
|
||||||
# env = [
|
upload {
|
||||||
# "PGID=1003",
|
content = "${file("${path.module}/logging.conf")}"
|
||||||
# "PUID=1000",
|
file = "/config/logging"
|
||||||
# "TZ=Asia/Kolkata",
|
}
|
||||||
# ]
|
|
||||||
|
upload {
|
||||||
|
content = "${file("${path.module}/users")}"
|
||||||
|
file = "/config/users"
|
||||||
|
}
|
||||||
|
|
||||||
restart = "unless-stopped"
|
restart = "unless-stopped"
|
||||||
destroy_grace_seconds = 10
|
destroy_grace_seconds = 10
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
nemo:$2y$05$vC1WTAuKn2xuDYZ6I3ucxuPnCrtZrVKzdDHSYhqCegi97RM/pdzXW
|
Loading…
Reference in New Issue