feat: Enhance website deployment and build process

- Added rsync installation in setup-env action for file synchronization.
- Excluded playbook_websites.yml from ansible-apply-playbook workflow.
- Created a new workflow for building and releasing the Hugo website.
- Added submodule for Hugo theme in .gitmodules.
- Updated host_vars for production to include websites configuration.
- Introduced playbook_websites.yml for managing static files deployment.
- Implemented hugo_build script for building and archiving Hugo sites.
- Updated inventory to include a new web group for website deployment.
- Refactored Terraform configuration to support new website structure.
- Removed deprecated WordPress Terraform configuration.
- Added .gitignore files for websites and specific Hugo site.
- Created archetype and configuration files for the Hugo site.
- Added static assets including CV and images for the Hugo site.
- Integrated Hugo profile theme as a submodule for the website.
This commit is contained in:
2025-04-27 14:03:56 +02:00
parent 2fbe4dd1cc
commit 4e5346e2e0
24 changed files with 850 additions and 258 deletions
+12 -11
View File
@@ -1,25 +1,26 @@
locals {
# general
domain_name = "alexpires.me"
# storage
persistent_folder = "/mnt/microk8s_persistent"
database_folder = "/var/lib"
# apps
wordpress_version = "6.7.2"
wordpress_fqdns = ["blog.${local.domain_name}", "www.${local.domain_name}", "${local.domain_name}"]
wordpress_sql_backup_cron_schedule = "0 2 * * *"
wordpress_files_backup_cron_schedule = "10 2 * * *"
# domains
primary_domain = "alexpires.me"
websites = {
"alexpires.me" = {
domain_name = "alexpires.me"
fqdn = ["blog.alexpires.me", "www.alexpires.me", "alexpires.me"]
}
}
gitea_version = "1.23.4"
gitea_fqdn = "code.${local.domain_name}"
gitea_fqdn = "code.${local.primary_domain}"
gitea_sql_backup_cron_schedule = "20 2 * * *"
gitea_files_backup_cron_schedule = "30 2 * * *"
nextcloud_version = "30.0.0-apache"
nextcloud_fqdn = "cloud.${local.domain_name}"
nextcloud_fqdn = "cloud.${local.primary_domain}"
nextcloud_sql_backup_cron_schedule = "40 2 * * *"
nextcloud_files_backup_cron_schedule = "50 2 * * *"
@@ -34,7 +35,7 @@ locals {
m3uproxy_version = "latest"
wireguard_version = "1.0.20210914-r4-ls54"
squid_version = "6.1-23.10_edge"
m3uproxy_fqdn = "tv.${local.domain_name}"
m3uproxy_fqdn = "tv.${local.primary_domain}"
geoip_image = "maxmindinc/geoipupdate"
geoip_version = "latest"
@@ -47,7 +48,7 @@ locals {
# rustdesk
rustdesk_version = "latest"
rustdesk_fqdn = "rustdesk.${local.domain_name}"
rustdesk_fqdn = "rustdesk.${local.primary_domain}"
# backup
local_backup_retention_days = 2