initial ansible code

This commit is contained in:
Oli
2022-10-09 21:41:56 +00:00
parent 4a64eab4a0
commit feaec34dd2
103 changed files with 4473 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
{
"system": {
"trusted_proxies": {{ trusted_proxies | to_json }},
"trusted_domains": [
"{{ nextcloud_domain_name }}"
],
"overwrite.cli.url": "https:\/\/{{ nextcloud_domain_name }}",
"datadirectory": "{{ nextcloud_data_dir }}",
"dbtype": "pgsql",
"dbname": "{{ nextcloud_db_name }}",
"dbhost": "{{ nextcloud_db_host }}",
"dbport": "{{ nextcloud_db_port }}",
"dbtableprefix": "oc_",
"dbuser": "{{ nextcloud_db_user }}",
"dbpassword": "{{ vault_nextcloud_db_pass }}",
"skeletondirectory": "",
"default_language": "de",
"default_phone_region": "DE",
"mail_smtpmode": "smtp",
"mail_smtphost": "{{ nextcloud_smtp_host }}",
"mail_smtpport": "{{ nextcloud_smtp_port }}",
"mail_smtptimeout": 10,
"mail_smtpauthtype": "LOGIN",
"mail_from_address": "{{ nextcloud_smtp_from_address }}",
"mail_sendmailmode": "smtp",
"mail_domain": "{{ nextcloud_smtp_from_domain }}",
"mail_smtpauth": 1,
"mail_smtpname": "{{ nextcloud_smtp_user }}",
"mail_smtppassword": "{{ nextcloud_smtp_pass }}",
"mail_smtpsecure": "ssl",
"loglevel": 1,
"logfile": {{ nextcloud_log_file | to_json }},
"logtimezone": "Europe\/Berlin",
"memcache.local": "\\OC\\Memcache\\APCu",
"filelocking.enabled": true,
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": {{ redis_unixsocket | to_json }},
"port": 0,
"timeout": 0,
"dbindex": 0
},
"trashbin_retention_obligation": "auto, 90",
"versions_retention_obligation": "auto, 180",
"tempdirectory": {{ nextcloud_temp_dir | to_json }},
"cache_path": {{ nextcloud_cache_dir | to_json }},
"localstorage.allowsymlinks": true,
"enable_previews": "true",
"preview_max_x": "2048",
"preview_max_y": "2048",
"preview_max_scale_factor": 1
}
}

View File

@@ -0,0 +1,15 @@
## Managed by Ansible ##
[Unit]
Description=Nextcloud Exporter
After=network-online.target
[Service]
User={{ nextcloud_exporter_system_user }}
Group={{ nextcloud_exporter_system_group }}
Type=simple
ExecStart={{ nextcloud_exporter_install_dir }}/nextcloud_exporter --server https://{{ nextcloud_domain_name }} --auth-token {{ vault_nextcloud_exporter_token }}
Restart=always
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,12 @@
## Managed by Ansible ##
[Unit]
Description = Nextcloud nightly background job
[Service]
Type=simple
User={{ webserver_user }}
ExecStart=/usr/local/bin/nextcloud_nightlycron.sh
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,10 @@
#!/bin/bash
## Managed by Ansible ##
cd {{ nextcloud_dir }}
# Print start status message.
echo "delete expired versions"
/usr/bin/php occ versions:expire --quiet
echo "permanently delete trashed files"
/usr/bin/php occ trashbin:expire --quiet

View File

@@ -0,0 +1,12 @@
## Managed by Ansible ##
[Unit]
Description=Run Nextcloud nightly background job every night
[Timer]
OnCalendar=02:00:00
RandomizedDelaySec=600
Unit=nextcloud_nightlycron.service
[Install]
WantedBy=timers.target

View File

@@ -0,0 +1,17 @@
## Managed by Ansible ##
[Unit]
Description = Push daemon for Nextcloud clients
[Service]
Environment = SOCKET_PATH={{ nextcloud_notify_push_socket }} METRICS_PORT=9206
User={{ webserver_user }}
Group={{ webserver_user }}
RuntimeDirectory=nextcloud
RuntimeDirectoryMode=0750
PIDFile=/run/nextcloud/notify_push.pid
ExecStart = {{ nextcloud_notify_push_install_dir }}/nextcloud_notify_push-{{ deb_architecture_alias }} {{ nextcloud_dir }}/config/config.php
Restart=always
[Install]
WantedBy = multi-user.target

View File

@@ -0,0 +1,9 @@
## Managed by Ansible ##
[Unit]
Description=Nextcloud background job (cron.php)
[Service]
User={{ webserver_user }}
ExecStart=/usr/bin/php -f /var/www/nextcloud/cron.php
KillMode=process

View File

@@ -0,0 +1,12 @@
## Managed by Ansible ##
[Unit]
Description=Run Nextcloud background job (cron.php) every 5min
[Timer]
OnBootSec=5min
OnUnitActiveSec=5min
Unit=nextcloudcron.service
[Install]
WantedBy=timers.target

View File

@@ -0,0 +1,47 @@
## Managed by Ansible ##
[Unit]
Description = rclone crypt mount {{ nextcloud_rclone_mount_dir }}
After = network-online.target
[Service]
Environment=RCLONE_RCD_USER=rclone
Environment=RCLONE_RCD_PASSWORD={{ vault_rclone_rcd_pass }}
Type=notify
ExecStart=/usr/bin/rclone mount GD3_crypt:cloud_data {{ nextcloud_rclone_mount_dir }} \
--devname rclone \
--use-mmap \
--allow-other \
--uid {{ created_rclone_user.uid }} \
--gid {{ created_rclone_group.gid }} \
--umask 002 \
--dir-perms 775 \
--file-perms 664 \
--dir-cache-time 8760h \
--poll-interval 1h \
--buffer-size 32M \
--drive-chunk-size 256M \
--drive-pacer-min-sleep 10ms \
--drive-pacer-burst 1000 \
--vfs-cache-max-age 720h \
--vfs-cache-mode full \
--vfs-cache-max-size 100G \
--vfs-read-chunk-size 128M \
--vfs-read-chunk-size-limit off \
--vfs-write-back 20s \
--cache-dir={{ rclone_cache_dir }} \
--log-file={{ rclone_log_dir }}/mount_nextcloud.log \
--log-level=INFO \
--rc \
--rc-addr "0.0.0.0:5572" \
--rc-enable-metrics \
--rc-user $RCLONE_RCD_USER \
--rc-pass $RCLONE_RCD_PASSWORD \
--user-agent "{{ rclone_user_agent_gd }}"
ExecStop=/bin/fusermount -u -z {{ nextcloud_rclone_mount_dir }}
Restart=on-failure
RestartSec=20s
User=root
[Install]
WantedBy=multi-user.target