From eb787abfa2f5a2f6395c18654b92bd7d9edafd17 Mon Sep 17 00:00:00 2001 From: Johannes Erwerle Date: Mon, 13 Apr 2026 20:09:27 +0200 Subject: [PATCH 1/2] Updated the HTML context of some views. --- .gitignore | 2 ++ community_backup/community_backup/settings.py | 8 ++++++++ community_backup/webui/templates/base.html | 8 +------- community_backup/webui/templates/borg_list.html | 10 ++++++++-- community_backup/webui/templates/landing.html | 6 ++++++ community_backup/webui/urls.py | 2 +- community_backup/webui/views.py | 9 +++++++-- 7 files changed, 33 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 7db414f..6d35582 100644 --- a/.gitignore +++ b/.gitignore @@ -207,3 +207,5 @@ tags [._]*.un~ # End of https://www.toptal.com/developers/gitignore/api/vim,venv,python + +community_backup/community_backup/configuration.py diff --git a/community_backup/community_backup/settings.py b/community_backup/community_backup/settings.py index 8311aa3..8b45b50 100644 --- a/community_backup/community_backup/settings.py +++ b/community_backup/community_backup/settings.py @@ -128,6 +128,7 @@ STATIC_URL = "static/" TASKS = {"default": {"BACKEND": "django.tasks.backends.immediate.ImmediateBackend"}} +STATIC_ROOT = BASE_DIR.parent.parent / "static" # Import settings from configuration.py try: @@ -139,6 +140,13 @@ try: assert module.BACKUP_HOME_DIR, "The BACKUP_HOME_DIR setting is required." assert module.BACKUP_BORG_DIR, "The BACKUP_BORG_DIR setting is required." assert module.BACKUP_AUTHORIZED_KEYS, "The BACKUP_AUTHORIZED_KEYS setting is required." + except ModuleNotFoundError: print(f"could not find configuration file {config_module}") exit(1) + +BACKUP_USER = module.BACKUP_USER +BACKUP_REPO_HOST = module.BACKUP_REPO_HOST +BACKUP_HOME_DIR = module.BACKUP_HOME_DIR +BACKUP_BORG_DIR = module.BACKUP_BORG_DIR +BACKUP_AUTHORIZED_KEYS = module.BACKUP_AUTHORIZED_KEYS diff --git a/community_backup/webui/templates/base.html b/community_backup/webui/templates/base.html index 30bc23c..ffa2b06 100644 --- a/community_backup/webui/templates/base.html +++ b/community_backup/webui/templates/base.html @@ -48,13 +48,7 @@
diff --git a/community_backup/webui/templates/borg_list.html b/community_backup/webui/templates/borg_list.html index ae3b941..b193fcd 100644 --- a/community_backup/webui/templates/borg_list.html +++ b/community_backup/webui/templates/borg_list.html @@ -1,13 +1,17 @@ {% extends "base.html" %} {% block content %} -
-

Your Borg Repositories

+
+

Your Borg Repositories

+ +

Create a borg repository by specifying a name and the SSH public key that is allowed to access this repository. The name is only for your convenience. To set up the repository please follow the BorgBackup documentation. There is also a Quick start guide available. + Always use encrypted backups!

+
@@ -30,4 +34,6 @@
+ + {% endblock %} diff --git a/community_backup/webui/templates/landing.html b/community_backup/webui/templates/landing.html index 1277742..39db761 100644 --- a/community_backup/webui/templates/landing.html +++ b/community_backup/webui/templates/landing.html @@ -4,4 +4,10 @@

Welcome to Community Backup!

+ + +

This is a service offering space for backups free of charge. This is a hobby project. It comes with no garantuees for anything, especially availability of the service. This service is in a testing phase at the moment. It might be unavailalbe at times and features might change quickly.

+

Currently this service offers only backups via Borg Backup.

+

To access this service you need an account. To register for an account you need a voucher. Vouchers are required to control the amount of users, so that there is enough space available for everyone.

+
{% endblock %} diff --git a/community_backup/webui/urls.py b/community_backup/webui/urls.py index 1476988..0bcf271 100644 --- a/community_backup/webui/urls.py +++ b/community_backup/webui/urls.py @@ -17,5 +17,5 @@ urlpatterns = [ name="borg_delete", ), path("register/", views.RegisterUserView.as_view(), name="register"), - path("about/", views.AboutView.as_view(), name="about"), + path("imprint/", views.ImprintView.as_view(), name="imprint"), ] diff --git a/community_backup/webui/views.py b/community_backup/webui/views.py index a491a73..f265477 100644 --- a/community_backup/webui/views.py +++ b/community_backup/webui/views.py @@ -41,9 +41,14 @@ class MarkdownView(TemplateView): return context -class AboutView(MarkdownView): +class DataProtectionView(MarkdownView): template_name = "markdown.html" - md = "about.md" + md = "dataprotection.md" + + +class ImprintView(MarkdownView): + template_name = "markdown.html" + md = "imprint.md" class BorgView(LoginRequiredMixin, ListView): From 883e903a509a46ca5643a4d29f0c041518a23bff Mon Sep 17 00:00:00 2001 From: Johannes Erwerle Date: Mon, 13 Apr 2026 20:10:23 +0200 Subject: [PATCH 2/2] removed print states from debugging --- community_backup/webui/deployments.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/community_backup/webui/deployments.py b/community_backup/webui/deployments.py index 0f1c9bd..b56d1bc 100644 --- a/community_backup/webui/deployments.py +++ b/community_backup/webui/deployments.py @@ -16,13 +16,11 @@ def sync_repos(dry_run=False): from .models import BorgRepository repos = BorgRepository.objects.all() - print(repos) repos_by_key = defaultdict(list) for repo in repos: repos_by_key[repo.key].append(repo) - print(repos) # create .ssh directory ssh_dir = settings.BACKUP_AUTHORIZED_KEYS.parent if not dry_run: @@ -45,10 +43,8 @@ def sync_repos(dry_run=False): if not dry_run: authorized_keys.write_text("\n".join(commands) + "\n") - print(repos) # remove repositories that do no longer exist repo_paths = {repo.path for repo in repos} - print(repo_paths) for user_dir in settings.BACKUP_BORG_DIR.iterdir(): print(user_dir) for dir in user_dir.iterdir():