2023-12-14 12:34:30 +01:00
|
|
|
# Server Tact Variables
|
2023-04-16 10:33:21 +02:00
|
|
|
|
2023-12-14 19:06:57 +01:00
|
|
|
## Ours in which the server is 100% working. Rest of the time is reserved for maintanance
|
|
|
|
hours_server_awake: "{{ range(9, 24) | list + range(0, 3) | list }}"
|
|
|
|
|
2023-12-14 12:34:30 +01:00
|
|
|
## Random delay for systemd timers to avoid peak loads.
|
2023-12-14 19:06:57 +01:00
|
|
|
randomized_delay_sec: "5min"
|
2023-04-15 17:06:10 +02:00
|
|
|
|
2023-12-14 12:34:30 +01:00
|
|
|
## Schedule for Health Checks
|
2023-11-17 12:35:39 +01:00
|
|
|
on_calendar_health_btrfs: "*-*-* 00:00:00"
|
|
|
|
on_calendar_health_journalctl: "*-*-* 00:00:00"
|
|
|
|
on_calendar_health_disc_space: "*-*-* 06,12,18,00:00:00"
|
2023-12-14 19:06:57 +01:00
|
|
|
on_calendar_health_docker_container: "*-*-* {{ hours_server_awake | join(',') }}:00:00"
|
|
|
|
on_calendar_health_docker_volumes: "*-*-* {{ hours_server_awake | join(',') }}:15:00"
|
|
|
|
on_calendar_health_nginx: "*-*-* {{ hours_server_awake | join(',') }}:45:00"
|
2023-04-16 10:33:21 +02:00
|
|
|
|
2023-12-14 12:34:30 +01:00
|
|
|
## Schedule for Cleanup Tasks
|
2023-11-17 12:35:39 +01:00
|
|
|
on_calendar_cleanup_backups: "*-*-* 06,12,18,00:30:00"
|
|
|
|
on_calendar_cleanup_disc_space: "*-*-* 07,13,19,01:30:00"
|
2023-12-14 12:34:30 +01:00
|
|
|
|
|
|
|
## Schedule for Backup Tasks
|
2023-11-17 12:35:39 +01:00
|
|
|
on_calendar_backup_docker_to_local: "*-*-* 03:30:00"
|
|
|
|
on_calendar_backup_remote_to_local: "*-*-* 21:30:00"
|
2023-12-14 12:34:30 +01:00
|
|
|
|
|
|
|
## Schedule for Maintenance Tasks
|
2023-12-14 19:06:57 +01:00
|
|
|
on_calendar_heal_docker: "*-*-* {{ hours_server_awake | join(',') }}:30:00"
|
2023-12-15 00:46:37 +01:00
|
|
|
on_calendar_defrost: "*-*-* *:00,15,30,45:00"
|
2023-04-16 10:33:21 +02:00
|
|
|
on_calendar_renew_lets_encrypt_certificates: "*-*-* 12,00:30:00"
|
2023-04-16 13:36:45 +02:00
|
|
|
on_calendar_deploy_mailu_certificates: "*-*-* 13,01:30:00"
|
2023-05-28 16:56:00 +02:00
|
|
|
on_calendar_msi_keyboard_color: "*-*-* *:*:00"
|
2023-04-16 09:59:54 +02:00
|
|
|
|
2023-04-26 11:52:11 +02:00
|
|
|
|
2023-12-14 12:34:30 +01:00
|
|
|
# Storage Space-Related Configurations
|
|
|
|
size_percent_maximum_backup: 75 # Maximum storage space in percent for backups
|
|
|
|
size_percent_disc_space_warning: 85 # Warning threshold in percent for free disk space
|
|
|
|
size_percent_cleanup_disc_space: 90 # Threshold for triggering cleanup actions
|
|
|
|
|
|
|
|
|
|
|
|
# Path Variables for Key Directories and Scripts
|
2023-12-13 19:36:06 +01:00
|
|
|
path_administrator_home: "/home/administrator/"
|
|
|
|
path_administrator_scripts: "{{path_administrator_home}}scripts/"
|
|
|
|
path_docker_volumes: "{{path_administrator_home}}volumes/docker/"
|
|
|
|
path_docker_compose_instances: "{{path_administrator_home}}docker-compose/"
|
|
|
|
path_system_maintenance_service_freezer_script: "{{path_administrator_scripts}}system-maintenance-service-freezer.py"
|
2023-11-18 20:02:55 +01:00
|
|
|
|
2023-12-14 12:34:30 +01:00
|
|
|
|
|
|
|
# Runtime Variables for Process Control
|
2023-12-14 00:32:52 +01:00
|
|
|
activate_all_timers: false # Activates all timers, independend if the handlers had been triggered
|
|
|
|
nginx_matomo_tracking: false # Activates matomo tracking on all html pages
|
|
|
|
execute_updates: true # Executes updates
|
|
|
|
force_backup_before_update: true # Activates the backup before the update procedure
|
2023-12-12 01:44:37 +01:00
|
|
|
|
|
|
|
|
2023-12-14 16:29:11 +01:00
|
|
|
# System maintenance Services
|
2023-12-12 01:44:37 +01:00
|
|
|
|
2023-12-14 16:29:11 +01:00
|
|
|
## Timeouts to wait for other services to stop
|
|
|
|
system_maintenance_timeout_cleanup_services: "15min"
|
|
|
|
system_maintenance_timeout_backup_services: "1h"
|
|
|
|
system_maintenance_timeout_heal_docker: "30min"
|
|
|
|
system_maintenance_timeout_update_docker: "5min"
|
2023-12-15 15:27:09 +01:00
|
|
|
system_maintenance_timeout_freezer_action: "2min"
|
2023-12-14 16:29:11 +01:00
|
|
|
|
|
|
|
## Services
|
|
|
|
|
|
|
|
### Defined Services for Backup Tasks
|
|
|
|
system_maintenance_backup_services:
|
2023-12-13 19:02:07 +01:00
|
|
|
- "backup-docker-to-local"
|
|
|
|
- "backup-remote-to-local"
|
|
|
|
- "backup-data-to-usb"
|
2023-12-14 12:34:30 +01:00
|
|
|
|
2023-12-14 16:29:11 +01:00
|
|
|
### Defined Services for System Cleanup
|
|
|
|
system_maintenance_cleanup_services:
|
2023-12-13 19:02:07 +01:00
|
|
|
- "cleanup-backups"
|
|
|
|
- "cleanup-disc-space"
|
|
|
|
- "cleanup-failed-docker-backups"
|
2023-12-14 12:34:30 +01:00
|
|
|
|
2023-12-14 17:12:42 +01:00
|
|
|
### Freeze services (wait until they are finished to be sure that nobody else is doing stuff in the fridge)
|
|
|
|
- "system-maintenance-service-freeze"
|
|
|
|
- "system-maintenance-service-defrost"
|
|
|
|
|
2023-12-14 16:29:11 +01:00
|
|
|
### Services that Manipulate the System
|
|
|
|
system_maintenance_manipulation_services:
|
2023-12-13 19:02:07 +01:00
|
|
|
- "heal-docker"
|
|
|
|
- "update-docker"
|
2023-12-14 12:34:30 +01:00
|
|
|
|
|
|
|
## Total System Maintenance Services
|
2023-12-14 16:29:11 +01:00
|
|
|
system_maintenance_services: "{{ system_maintenance_backup_services + system_maintenance_cleanup_services + system_maintenance_manipulation_services }}"
|
2023-12-13 19:02:07 +01:00
|
|
|
|
2023-12-14 12:34:30 +01:00
|
|
|
## First default freezer action to apply when freezer service get triggered during play
|
2023-12-13 21:14:08 +01:00
|
|
|
system_maintenance_service_freeze_action: 'freeze' # Valid Values: freeze, defrost
|
|
|
|
|
2023-12-14 12:34:30 +01:00
|
|
|
|
|
|
|
# Webserver Configuration
|
|
|
|
|
|
|
|
## Nginx-Specific Path Configurations
|
|
|
|
nginx_configuration_directory: "/etc/nginx/conf.d/" # General configuration dir
|
|
|
|
nginx_servers_directory: "{{nginx_configuration_directory}}servers/" # Contains server blogs
|
|
|
|
nginx_maps_directory: "{{nginx_configuration_directory}}maps/" # Contains mappins
|
|
|
|
nginx_upstreams_directory: "{{nginx_configuration_directory}}upstreams/" # Contains upstream configurations
|
|
|
|
|
|
|
|
# Routing Configurations for Domain Redirections
|
2023-12-12 01:44:37 +01:00
|
|
|
redirect_domain_mappings:
|
|
|
|
- { source: "nextcloud.{{top_domain}}", target: "cloud.{{top_domain}}" }
|
|
|
|
- { source: "gitea.{{top_domain}}", target: "git.{{top_domain}}" }
|
|
|
|
- { source: "listmonk.{{top_domain}}", target: "newsletter.{{top_domain}}" }
|
|
|
|
- { source: "discourse.{{top_domain}}", target: "forum.{{top_domain}}" }
|
|
|
|
- { source: "bbb.{{top_domain}}", target: "meet.{{top_domain}}" }
|
|
|
|
- { source: "short.{{top_domain}}", target: "s.{{top_domain}}" }
|
|
|
|
- { source: "mastodon.{{top_domain}}", target: "microblog.{{top_domain}}" }
|
2023-12-15 18:26:32 +01:00
|
|
|
- { source: "peertube.{{top_domain}}", target: "video.{{top_domain}}" }
|
|
|
|
- { source: "videos.{{top_domain}}", target: "video.{{top_domain}}" }
|
2023-12-12 01:44:37 +01:00
|
|
|
- { source: "funkwhale.{{top_domain}}", target: "music.{{top_domain}}" }
|
2023-12-15 18:26:32 +01:00
|
|
|
- { source: "pixelfed.{{top_domain}}", target: "picture.{{top_domain}}" }
|
|
|
|
- { source: "pictures.{{top_domain}}", target: "picture.{{top_domain}}" }
|
2023-12-12 22:36:35 +01:00
|
|
|
- { source: "matrix.{{top_domain}}", target: "chat.{{top_domain}}" }
|
2023-12-12 12:32:35 +01:00
|
|
|
|
2023-12-14 12:34:30 +01:00
|
|
|
## Docker Applications
|
|
|
|
|
|
|
|
### Domain Names for Various Services
|
|
|
|
domain_akaunting: "akaunting.{{top_domain}}"
|
|
|
|
domain_baserow: "baserow.{{top_domain}}"
|
|
|
|
domain_bigbluebutton: "meet.{{top_domain}}"
|
|
|
|
domain_elk: "elk.{{top_domain}}"
|
|
|
|
domain_discourse: "forum.{{top_domain}}"
|
|
|
|
domain_funkwhale: "music.{{top_domain}}"
|
|
|
|
domain_gitea: "git.{{top_domain}}"
|
|
|
|
domain_listmonk: "newsletter.{{top_domain}}"
|
|
|
|
domain_mailu: "mail.{{top_domain}}"
|
|
|
|
domain_mastodon: "microblog.{{top_domain}}"
|
|
|
|
domains_mastodon_alternates: []
|
|
|
|
domain_matomo: "matomo.{{top_domain}}"
|
|
|
|
domain_matrix: "chat.{{top_domain}}"
|
|
|
|
domain_mediawiki: "wiki.{{top_domain}}"
|
|
|
|
domain_nextcloud: "cloud.{{top_domain}}"
|
2023-12-15 18:26:32 +01:00
|
|
|
domain_pixelfed: "picture.{{top_domain}}"
|
|
|
|
domain_peertube: "video.{{top_domain}}"
|
2023-12-14 12:34:30 +01:00
|
|
|
domains_peertube: []
|
|
|
|
domain_roulette: "roulette.{{top_domain}}"
|
|
|
|
domain_attendize: "tickets.{{top_domain}}"
|
|
|
|
domain_yourls: "s.{{top_domain}}"
|
|
|
|
|
|
|
|
### Software Versions for Specific Applications
|
|
|
|
version_nextcloud: "production" # Danger: Nextcloud can't skipp major version updates.
|
|
|
|
version_mailu: "2.0"
|
|
|
|
version_akaunting: "latest"
|
|
|
|
version_mastodon: "latest"
|
2023-12-13 15:16:02 +01:00
|
|
|
|
2023-12-14 12:34:30 +01:00
|
|
|
### Role specific configuration
|
2023-12-13 15:16:02 +01:00
|
|
|
pixelfed_app_name: "Pictures"
|