[{"content":"","date":"18.03.2026","externalUrl":null,"permalink":"/tags/azure/","section":"Tags","summary":"","title":"Azure","type":"tags"},{"content":"","date":"18.03.2026","externalUrl":null,"permalink":"/blog/","section":"Blog","summary":"","title":"Blog","type":"blog"},{"content":"","date":"18.03.2026","externalUrl":null,"permalink":"/tags/blowfish/","section":"Tags","summary":"","title":"Blowfish","type":"tags"},{"content":"Ich arbeite als Berater für Teams, die Seniorität, hands-on Umsetzung und jemanden brauchen, der komplexe Vorhaben tatsächlich zum Laufen bringt.\nIch helfe dabei, vage Ideen, festgefahrene Projekte und fragile Systeme in belastbare Lösungen zu verwandeln - über Software, Infrastruktur, Delivery und laufenden Betrieb hinweg.\nHier schreibe ich über Systeme, Produkte und Entscheidungen, die zählen, wenn Dinge in der Praxis funktionieren müssen.\n","date":"18.03.2026","externalUrl":null,"permalink":"/","section":"Dominic","summary":"","title":"Dominic","type":"page"},{"content":"","date":"18.03.2026","externalUrl":null,"permalink":"/tags/github-actions/","section":"Tags","summary":"","title":"Github-Actions","type":"tags"},{"content":"","date":"18.03.2026","externalUrl":null,"permalink":"/tags/hugo/","section":"Tags","summary":"","title":"Hugo","type":"tags"},{"content":"","date":"18.03.2026","externalUrl":null,"permalink":"/tags/opentofu/","section":"Tags","summary":"","title":"Opentofu","type":"tags"},{"content":"So habe ich rdgy.at aufgebaut – und so kannst du es nachmachen:\nHugo für die Website Blowfish als Theme Azure Static Web Apps für das Hosting OpenTofu für die Infrastruktur GitHub Actions für das automatische Deployment Am Ende sieht die URL-Struktur so aus:\nwww.example.com/ -\u0026gt; Startseite www.example.com/blog/ -\u0026gt; Blog www.example.com/projects/ www.example.com/services/ example.com -\u0026gt; leitet auf https://www.example.com weiter Wenn du diesen Aufbau für dein Unternehmen brauchst – ob als einfacher Blog, Unternehmenswebsite oder als eigenständiges Produkt wie Belegmappe.at – melde dich unter office@rdgy.at. Wir besprechen, was du brauchst, und ich sage dir ehrlich, ob und wie ich helfen kann.\nPhase 1 – Website lokal aufbauen # Deutsch ist die Standardsprache. Inhalte entstehen zuerst unter content/de, danach folgt die Übersetzung unter content/en.\n1. Werkzeuge installieren # Du brauchst:\nHugo Extended Git OpenTofu Azure CLI Auf macOS reicht ein einziger Befehl:\nbrew install hugo opentofu azure-cli Danach kurz prüfen, ob alles korrekt installiert ist:\nhugo version tofu version az version 2. Website anlegen und Blowfish einbinden # hugo new site my-site cd my-site git init git submodule add -b main \\ https://github.com/nunocoracao/blowfish.git \\ themes/blowfish mkdir -p config/_default cp themes/blowfish/config/_default/*.toml config/_default/ 3. Hugo konfigurieren # Die zwei wichtigsten Konfigurationsdateien:\nconfig/_default/hugo.toml – allgemeine Einstellungen, Sprachen, Navigation config/_default/params.toml – Layout und Aussehen config/_default/hugo.toml # theme = \u0026#34;blowfish\u0026#34; baseURL = \u0026#34;https://www.example.com/\u0026#34; defaultContentLanguage = \u0026#34;de\u0026#34; defaultContentLanguageInSubdir = false enableRobotsTXT = true summaryLength = 0 [outputs] home = [\u0026#34;HTML\u0026#34;, \u0026#34;RSS\u0026#34;, \u0026#34;JSON\u0026#34;] [taxonomies] tag = \u0026#34;tags\u0026#34; category = \u0026#34;categories\u0026#34; [languages] [languages.en] weight = 2 contentDir = \u0026#34;content/en\u0026#34; [languages.de] weight = 1 contentDir = \u0026#34;content/de\u0026#34; [languages.en.menu] [[languages.en.menu.main]] name = \u0026#34;Blog\u0026#34; pageRef = \u0026#34;blog\u0026#34; weight = 10 [[languages.en.menu.main]] name = \u0026#34;Projects\u0026#34; pageRef = \u0026#34;projects\u0026#34; weight = 20 [[languages.en.menu.main]] name = \u0026#34;Services\u0026#34; pageRef = \u0026#34;services\u0026#34; weight = 30 [languages.de.menu] [[languages.de.menu.main]] name = \u0026#34;Blog\u0026#34; pageRef = \u0026#34;blog\u0026#34; weight = 10 [[languages.de.menu.main]] name = \u0026#34;Projekte\u0026#34; pageRef = \u0026#34;projects\u0026#34; weight = 20 [[languages.de.menu.main]] name = \u0026#34;Leistungen\u0026#34; pageRef = \u0026#34;services\u0026#34; weight = 30 Ein paar wichtige Punkte:\nbaseURL zeigt immer auf www Deutsch liegt direkt auf /, Englisch unter /en/ Die Navigation wird hier pro Sprache definiert config/_default/params.toml # defaultBackgroundImage = \u0026#34;img/background.jpg\u0026#34; [homepage] layout = \u0026#34;background\u0026#34; homepageImage = \u0026#34;img/background.jpg\u0026#34; showRecent = true showRecentItems = 3 [article] showDate = true showAuthor = true showReadingTime = true showTableOfContents = true showTaxonomies = true showPagination = true showHero = true heroStyle = \u0026#34;thumbAndBackground\u0026#34; [list] showHero = true heroStyle = \u0026#34;background\u0026#34; showSummary = true showCards = true cardView = true Das ergibt:\nStartseite mit Hintergrundbild Hero-Bereiche auf Blog- und Projektseiten Die neuesten Beiträge direkt auf der Startseite Kartenansicht für Blog und Projekte 4. Inhaltsstruktur anlegen # Abschnitte (Blog, Projekte) bekommen eine _index.md. Einzelne Seiten (Artikel, Projekte) sind normale .md-Dateien.\nmkdir -p content/de/blog mkdir -p content/de/projects mkdir -p content/en/blog mkdir -p content/en/projects mkdir -p static/img Die Struktur sieht dann so aus:\ncontent/ ├── de/ │ ├── _index.md │ ├── blog/ │ │ ├── _index.md │ │ └── first-post/index.md │ ├── projects/ │ │ ├── _index.md │ │ └── product-a.md │ └── services.md └── en/ ├── _index.md ├── blog/ ├── projects/ └── services.md Beispiel Startseite # content/de/_index.md\n--- title: \u0026#34;Dominic\u0026#34; description: \u0026#34;Cloud Engineer aus Innsbruck.\u0026#34; --- Ich baue Cloud-Infrastruktur für Teams, die Production-Deployments lieber in erfahrene Hände legen. Beispiel Blog-Index # content/de/blog/_index.md\n--- title: \u0026#34;Blog\u0026#34; description: \u0026#34;Notizen zu Cloud, Infrastructure as Code und Software Delivery.\u0026#34; --- Beispiel Projektseite # content/de/projects/product-a.md\n--- title: \u0026#34;Produkt A\u0026#34; description: \u0026#34;Kurze Produktbeschreibung.\u0026#34; summary: \u0026#34;Kurzer Text für die Projektkarte in der Übersicht.\u0026#34; showDate: false showReadingTime: false --- ## Idee Worum es im Produkt geht. ## Herausforderungen - Herausforderung eins - Herausforderung zwei ## Tech Stack - Hugo - PostgreSQL - Azure ## Live-Projekt [product-a.com](https://product-a.com) Zuerst die deutschen Inhalte schreiben, dann die Übersetzung unter content/en/ anlegen.\n5. Website lokal testen # hugo server Dann im Browser aufrufen:\nhttp://localhost:1313/ – deutsche Version http://localhost:1313/en/ – englische Version Erst wenn die Website lokal so aussieht wie gewünscht, geht es mit dem Deployment weiter.\nPhase 2 – Infrastruktur mit OpenTofu # OpenTofu beschreibt die Azure-Infrastruktur als Code. Einmal anlegen, danach wiederverwendbar und versionierbar.\n6. Azure mit OpenTofu provisionieren # Zuerst ein infra/-Verzeichnis im Projektordner anlegen und die vier Dateien darin erstellen. Danach die Zugangsdaten beschaffen und alles mit tofu apply ausrollen.\nmkdir infra infra/variables.tf # Hier werden alle Eingabewerte deklariert, die OpenTofu benötigt. Die Werte selbst stehen nicht hier – sie kommen später aus terraform.tfvars. So bleiben Struktur und Geheimnisse sauber getrennt.\nsensitive = true sorgt dafür, dass OpenTofu diese Werte niemals im Terminal ausgibt – auch nicht beim apply.\nlocation hat einen Standardwert (westeurope), der verwendet wird, wenn du keinen anderen angibst.\nvariable \u0026#34;subscription_id\u0026#34; { type = string sensitive = true } variable \u0026#34;client_id\u0026#34; { type = string sensitive = true } variable \u0026#34;client_secret\u0026#34; { type = string sensitive = true } variable \u0026#34;tenant_id\u0026#34; { type = string sensitive = true } variable \u0026#34;location\u0026#34; { type = string default = \u0026#34;westeurope\u0026#34; } infra/main.tf # Das ist die eigentliche Infrastruktur. OpenTofu liest diese Datei und legt die beschriebenen Ressourcen in Azure an – oder aktualisiert sie, falls sie schon existieren.\nterraform-Block – legt fest, welche Provider-Version verwendet wird. azurerm ist das offizielle Azure-Plugin. Die Version ~\u0026gt; 3.0 erlaubt alle Patch-Updates innerhalb von Version 3, aber keinen Major-Wechsel.\nprovider \u0026quot;azurerm\u0026quot; – verbindet OpenTofu mit deinem Azure-Account. Die Zugangsdaten kommen aus den Variablen oben.\nazurerm_resource_group – eine Resource Group ist ein logischer Container in Azure. Alle zugehörigen Ressourcen landen darin. Einfach löschen, alles weg.\nazurerm_static_web_app – das eigentliche Hosting. Azure Static Web Apps stellt die Website aus, verteilt sie global über ein CDN und kümmert sich um HTTPS automatisch. Das Free-Tier reicht für eine normale Website vollständig aus.\nazurerm_static_web_app_custom_domain – verknüpft deine eigene Domain (www.example.com) mit der Static Web App. cname-delegation bedeutet: Azure prüft, ob der CNAME-Eintrag im DNS auf die Azure-Adresse zeigt, bevor die Domain aktiviert wird.\nterraform { required_providers { azurerm = { source = \u0026#34;hashicorp/azurerm\u0026#34; version = \u0026#34;~\u0026gt; 3.0\u0026#34; } } required_version = \u0026#34;\u0026gt;= 1.6.0\u0026#34; } provider \u0026#34;azurerm\u0026#34; { features {} subscription_id = var.subscription_id client_id = var.client_id client_secret = var.client_secret tenant_id = var.tenant_id } resource \u0026#34;azurerm_resource_group\u0026#34; \u0026#34;site\u0026#34; { name = \u0026#34;rg-my-site\u0026#34; location = var.location } resource \u0026#34;azurerm_static_web_app\u0026#34; \u0026#34;site\u0026#34; { name = \u0026#34;stapp-my-site\u0026#34; resource_group_name = azurerm_resource_group.site.name location = azurerm_resource_group.site.location sku_tier = \u0026#34;Free\u0026#34; sku_size = \u0026#34;Free\u0026#34; } resource \u0026#34;azurerm_static_web_app_custom_domain\u0026#34; \u0026#34;www\u0026#34; { static_web_app_id = azurerm_static_web_app.site.id domain_name = \u0026#34;www.example.com\u0026#34; validation_type = \u0026#34;cname-delegation\u0026#34; } infra/outputs.tf # Nach dem apply gibt OpenTofu diese Werte im Terminal aus. Du brauchst sie für die nächsten Schritte – Domain und GitHub-Secret.\nsite_url – die automatisch generierte Azure-URL deiner Website (z.B. https://proud-rock-abc123.azurestaticapps.net). Damit kannst du sofort testen, ob das Deployment funktioniert hat. deployment_token – der geheime Schlüssel, den GitHub Actions braucht, um Dateien nach Azure hochzuladen. Kommt gleich als GitHub-Secret. www_cname_target – der Hostname, auf den dein www-CNAME-Eintrag beim DNS-Anbieter zeigen muss. output \u0026#34;site_url\u0026#34; { value = \u0026#34;https://${azurerm_static_web_app.site.default_host_name}\u0026#34; } output \u0026#34;deployment_token\u0026#34; { value = azurerm_static_web_app.site.api_key sensitive = true } output \u0026#34;www_cname_target\u0026#34; { value = azurerm_static_web_app.site.default_host_name } Azure-Zugangsdaten beschaffen # Bevor du terraform.tfvars befüllst, brauchst du die vier Werte aus Azure. Einmalig einrichten:\n1. In Azure einloggen\naz login Ein Browserfenster öffnet sich – dort mit dem Microsoft-Konto anmelden.\n2. Subscription ID auslesen\naz account show --query id -o tsv Diesen Wert als subscription_id eintragen.\n3. Service Principal erstellen\nEin Service Principal ist ein technischer Account, den OpenTofu zum Anlegen von Ressourcen in Azure verwendet – ähnlich wie ein API-Key, aber für Azure.\naz ad sp create-for-rbac \\ --name \u0026#34;sp-my-site\u0026#34; \\ --role Contributor \\ --scopes /subscriptions/\u0026lt;DEINE_SUBSCRIPTION_ID\u0026gt; Die Ausgabe sieht so aus:\n{ \u0026#34;appId\u0026#34;: \u0026#34;...\u0026#34;, \u0026lt;- das ist client_id \u0026#34;password\u0026#34;: \u0026#34;...\u0026#34;, \u0026lt;- das ist client_secret \u0026#34;tenant\u0026#34;: \u0026#34;...\u0026#34; \u0026lt;- das ist tenant_id } Das Secret wird nur einmal angezeigt – sofort sichern.\ninfra/terraform.tfvars # Jetzt die vier Werte eintragen. Diese Datei enthält echte Zugangsdaten – sie darf nie ins Git-Repository. Am besten sofort in .gitignore eintragen:\necho \u0026#34;infra/terraform.tfvars\u0026#34; \u0026gt;\u0026gt; .gitignore subscription_id = \u0026#34;...\u0026#34; client_id = \u0026#34;...\u0026#34; client_secret = \u0026#34;...\u0026#34; tenant_id = \u0026#34;...\u0026#34; Infrastruktur anlegen # cd infra tofu init tofu apply cd .. tofu init lädt den Azure-Provider herunter. tofu apply zeigt dir zuerst eine Vorschau aller Ressourcen die angelegt werden – mit yes bestätigen.\nPhase 3 – CI/CD mit GitHub Actions # Ab hier läuft jedes Deployment automatisch: Push auf main → Hugo baut die Website → Azure veröffentlicht sie.\n7. GitHub-Repository einrichten # Falls noch nicht vorhanden, ein leeres Repository auf github.com anlegen. Dann lokal verbinden:\ngit remote add origin https://github.com/\u0026lt;dein-username\u0026gt;/my-site.git 8. GitHub Actions konfigurieren # .github/workflows/deploy.yml anlegen:\nname: Deploy rdgy.at to Azure on: push: branches: [main] jobs: build_and_deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: submodules: true fetch-depth: 0 - name: Setup Hugo uses: peaceiris/actions-hugo@v3 with: hugo-version: \u0026#39;0.157.0\u0026#39; extended: true - name: Build run: hugo --minify - name: Deploy to Azure Static Web Apps uses: Azure/static-web-apps-deploy@v1 with: azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }} repo_token: ${{ secrets.GITHUB_TOKEN }} action: \u0026#34;upload\u0026#34; app_location: \u0026#34;public\u0026#34; output_location: \u0026#34;\u0026#34; skip_app_build: true Hugo baut die Website nach public/ – der Deploy-Schritt lädt diesen Ordner direkt nach Azure hoch.\n9. GitHub-Secret anlegen # Das Deployment-Token aus OpenTofu auslesen:\ncd infra tofu output -raw deployment_token cd .. Diesen Wert als Secret in GitHub hinterlegen:\nRepository → Settings → Secrets and variables → Actions → New repository secret Name:\nAZURE_STATIC_WEB_APPS_API_TOKEN Phase 4 – Domain \u0026amp; Live # 10. Domain konfigurieren # Schritt 1: CNAME-Ziel auslesen\ncd infra tofu output www_cname_target cd .. Die Ausgabe sieht ungefähr so aus:\nproud-rock-abc123.azurestaticapps.net Schritt 2: DNS-Einträge setzen\nBeim DNS-Anbieter (z.B. Cloudflare, namecheap, domains.google) folgende zwei Einträge anlegen:\nTyp Name Wert CNAME www proud-rock-abc123.azurestaticapps.net Redirect / ALIAS @ (Apex) https://www.example.com Der www-Eintrag verbindet deine Domain direkt mit Azure. Den Apex-Eintrag (example.com ohne www) setzt du als HTTP-Weiterleitung – die meisten DNS-Anbieter nennen das „Redirect\u0026quot; oder „URL Forward\u0026quot;.\nSchritt 3: Domain-Validierung abwarten\nAzure prüft automatisch, ob der CNAME-Eintrag korrekt gesetzt ist. Das kann einige Minuten bis zu einer Stunde dauern, je nach DNS-Anbieter. Danach ist HTTPS automatisch aktiv – kein Zertifikat manuell beantragen.\nStatus prüfen:\naz staticwebapp hostname list --name stapp-my-site --resource-group rg-my-site Sobald provisioningState auf Succeeded steht, ist die Domain aktiv.\n11. Pushen und live gehen # git add . git commit -m \u0026#34;feat: initial site\u0026#34; git push origin main GitHub Actions startet automatisch, baut die Website und deployed sie zu Azure Static Web Apps.\nKurzfassung # Phase Was passiert 1 – Lokal Hugo + Blowfish aufsetzen, Inhalte schreiben, lokal testen 2 – IaC Azure-Infrastruktur mit OpenTofu anlegen 3 – CI/CD GitHub Actions für automatisches Deployment einrichten 4 – Live Domain konfigurieren, ersten Push machen Das Ergebnis ist eine schnelle, statische Website mit Blog, Projekten und zwei Sprachen – ohne eigenen Server.\n","date":"18.03.2026","externalUrl":null,"permalink":"/blog/hugo-azure-opentofu/","section":"Blog","summary":"Eine knappe Schritt-für-Schritt-Anleitung, um denselben Hugo-Stack mit Blowfish, Azure Static Web Apps, OpenTofu und GitHub Actions aufzubauen.","title":"rdgy.at - Mit Hugo, Blowfish, OpenTofu, Azure und GitHub Actions in zwei Stunden live","type":"blog"},{"content":"","date":"18.03.2026","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"","date":"01.01.2025","externalUrl":null,"permalink":"/tags/agritech/","section":"Tags","summary":"","title":"Agritech","type":"tags"},{"content":"","date":"01.01.2025","externalUrl":null,"permalink":"/tags/austria/","section":"Tags","summary":"","title":"Austria","type":"tags"},{"content":"","date":"01.01.2025","externalUrl":null,"permalink":"/tags/marketplace/","section":"Tags","summary":"","title":"Marketplace","type":"tags"},{"content":"","date":"01.01.2025","externalUrl":null,"permalink":"/projects/","section":"Projekte","summary":"","title":"Projekte","type":"projects"},{"content":"","date":"01.01.2025","externalUrl":null,"permalink":"/tags/saas/","section":"Tags","summary":"","title":"Saas","type":"tags"},{"content":"Stella verbindet Landwirte und Direktvermarkter in Österreich direkt mit Konsumenten – produktbasiert, mit Live-Sortiment und ohne den Overhead anderer Marktplätze.\nDas Schwierige ist nicht die Plattform. Es ist die Marktplatz-Liquidität. Der Rollout ist regional, gestuft und operativ ehrlich darüber.\nstella.co.at\n","date":"01.01.2025","externalUrl":null,"permalink":"/projects/stella/","section":"Projekte","summary":"Bauernprodukte aus deiner Umgebung. Ein regionaler Lebensmittel-Marktplatz, der Produzenten in Österreich direkt mit Konsumenten verbindet.","title":"Stella","type":"projects"},{"content":"","date":"01.01.2025","externalUrl":null,"permalink":"/tags/two-sided-platform/","section":"Tags","summary":"","title":"Two-Sided-Platform","type":"tags"},{"content":"Ich war es leid, jeden Monat Rechnungen auszudrucken, sie mit Banktransaktionen abzugleichen und mit einem schweren Ordner zum Steuerberater zu gehen. Also hab ich die Alternative gebaut.\nGoBD-konforme digitale Belegarchivierung für Freelancer und KMU im DACH-Raum. Bewusst auf genau diesen einen Ablauf fokussiert – nichts mehr.\nbelegmappe.at\n","date":"01.01.2024","externalUrl":null,"permalink":"/projects/belegmappe/","section":"Projekte","summary":"Entstanden aus dem monatlichen Aufwand, Rechnungen auszudrucken, mit Banktransaktionen abzugleichen und einen schweren Ordner zum Steuerberater zu tragen.","title":"Belegmappe.at","type":"projects"},{"content":"","date":"01.01.2024","externalUrl":null,"permalink":"/tags/fastify/","section":"Tags","summary":"","title":"Fastify","type":"tags"},{"content":"","date":"01.01.2024","externalUrl":null,"permalink":"/tags/fintech/","section":"Tags","summary":"","title":"Fintech","type":"tags"},{"content":"","date":"01.01.2024","externalUrl":null,"permalink":"/tags/fly.io/","section":"Tags","summary":"","title":"Fly.io","type":"tags"},{"content":"","date":"01.01.2024","externalUrl":null,"permalink":"/tags/gobd/","section":"Tags","summary":"","title":"Gobd","type":"tags"},{"content":"","date":"01.01.2024","externalUrl":null,"permalink":"/tags/nextjs/","section":"Tags","summary":"","title":"Nextjs","type":"tags"},{"content":"","date":"01.01.2024","externalUrl":null,"permalink":"/tags/postgresql/","section":"Tags","summary":"","title":"Postgresql","type":"tags"},{"content":"","date":"01.01.2022","externalUrl":null,"permalink":"/tags/b2b/","section":"Tags","summary":"","title":"B2b","type":"tags"},{"content":"","date":"01.01.2022","externalUrl":null,"permalink":"/tags/cloud/","section":"Tags","summary":"","title":"Cloud","type":"tags"},{"content":"","date":"01.01.2022","externalUrl":null,"permalink":"/tags/data-intensive/","section":"Tags","summary":"","title":"Data-Intensive","type":"tags"},{"content":"","date":"01.01.2022","externalUrl":null,"permalink":"/tags/event-driven/","section":"Tags","summary":"","title":"Event-Driven","type":"tags"},{"content":"Haggla ist die Firma hinter meiner Beratungs- und Entwicklungsarbeit. Wir übernehmen Cloud-Systeme, Produktionsbetrieb und datenintensive Workloads für Teams, die Senior-Erfahrung brauchen – keine weiteren Meetings.\nGeholt werden wir, wenn ein System über das hinausgewachsen ist, was das interne Team noch tragen kann: fragile Deployments, undurchsichtige Datenflüsse, zu viel Wissen bei zu wenigen Personen. Wir stabilisieren – und geben zurück.\nhaggla.at\n","date":"01.01.2022","externalUrl":null,"permalink":"/projects/haggla/","section":"Projekte","summary":"Cloud-Infrastruktur und Produktionsbetrieb für Teams, die Senior-Erfahrung brauchen – ohne ein internes Platform-Team aufzubauen.","title":"Haggla Software Solutions","type":"projects"},{"content":"","date":"01.01.2022","externalUrl":null,"permalink":"/tags/kafka/","section":"Tags","summary":"","title":"Kafka","type":"tags"},{"content":"","externalUrl":null,"permalink":"/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":" Verantwortlicher # RDGY Software GmbH\nTiergartenstraße 132\n6020 Innsbruck\nÖsterreich\nE-Mail: office@rdgy.at\nZweck dieser Seite # Diese Datenschutzerklärung erläutert, welche personenbezogenen Daten verarbeitet werden, wenn Sie diese Website besuchen oder uns per E-Mail kontaktieren.\nCharakter der Website # Dies ist eine statische Website. Sie bietet derzeit keine Benutzerkonten, keine Kommentarfunktion, kein Kontaktformular und kein eigenes Besucher-Backend.\nBei einem normalen Websitebesuch findet die wesentliche Verarbeitung personenbezogener Daten daher auf Hosting- und Netzwerkkebene statt.\nHosting-Anbieter und Region # Diese Website wird über Microsoft Azure mittels Azure Static Web Apps betrieben. Die Azure-Ressource für diese Website ist in der Azure-Region West Europe (westeurope) provisioniert.\nDie Region West Europe gehört bei Microsoft zur Geografie Europe und befindet sich in den Niederlanden.\nTechnische Auslieferung der Website # Microsoft dokumentiert, dass Azure Static Web Apps statische Inhalte global verteilt ausliefern kann und dafür geografisch verteilte Auslieferungspunkte nutzt.\nDas bedeutet:\ndie primäre Azure-Ressource dieser Website ist in West Europe konfiguriert statische Dateien können trotzdem über die verteilte Edge- und Netzwerkinfrastruktur von Azure ausgeliefert werden die technische Request-Verarbeitung ist daher nicht zwingend auf eine einzelne Rechenzentrumsregion beschränkt Soweit Microsoft im Rahmen von Azure-Diensten Kundendaten verarbeitet, richten sich die vertraglichen Datenschutz- und Sicherheitszusagen von Microsoft nach dem Data Protection Addendum und den dazugehörigen DSGVO-Zusagen.\nHosting und Server-Logs # Beim Aufruf dieser Website können die Hosting-Plattform und die zugehörige Auslieferungsinfrastruktur technische Zugriffsdaten verarbeiten, insbesondere:\nIP-Adresse aufgerufene URL und Hostname Datum und Uhrzeit der Anfrage HTTP-Statusinformationen Referrer-URL Browser-, Geräte- und Betriebssysteminformationen technische Sicherheits-, Routing- und Diagnosedaten Diese Verarbeitung ist erforderlich, um:\ndie Website auszuliefern Transportsicherheit und stabile Verfügbarkeit bereitzustellen Missbrauch und schädlichen Traffic abzuwehren operative und sicherheitsrelevante Vorfälle zu analysieren Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse am sicheren, stabilen und belastbaren Betrieb der Website).\nEmpfänger und Auftragsverarbeiter # Personenbezogene Daten, die im Zusammenhang mit dem Hosting dieser Website verarbeitet werden, können insbesondere von folgenden Empfängern verarbeitet werden:\nMicrosoft Azure als Hosting- und Infrastruktur-Anbieter technische Dienstleister, die von Microsoft innerhalb der Cloud-Lieferkette eingesetzt werden Wir verwenden derzeit keine separaten Besucher-Analytics-Tools wie Google Analytics, Matomo, Plausible oder Microsoft Application Insights auf dieser Website.\nInternationale Datenübermittlungen # Die Website-Ressource selbst wird in der Azure-Region West Europe innerhalb der Geografie Europe betrieben. Gleichzeitig weist Microsoft darauf hin, dass Azure Static Web Apps statische Inhalte über geografisch verteilte Auslieferungspunkte bereitstellt.\nAus diesem Plattformdesign leiten wir ab, dass die technische Request-Verarbeitung je nach Besucherstandort und Auslieferungspfad auch Azure-Edge- oder Netzwerkinfrastruktur außerhalb der Region West Europe und potenziell auch außerhalb des EWR einbeziehen kann.\nSoweit eine solche Verarbeitung über Microsoft-Cloud-Dienste erfolgt, unterliegt sie dem vertraglichen Datenschutz- und Sicherheitsrahmen von Microsoft für Enterprise-Cloud-Dienste.\nLokaler Speicher und technische Einstellungen # Diese Website verwendet derzeit keine Analyse- oder Marketing-Cookies. Je nach Funktionsumfang der Website und Browserverhalten kann sie jedoch den lokalen Speicher Ihres Browsers nutzen, um technische Präferenzen zu speichern, etwa für Anzeige- oder Barrierefreiheitsoptionen.\nDiese Daten bleiben in Ihrem Browser und werden von uns nicht zu Analyse- oder Werbezwecken genutzt.\nKontakt per E-Mail # Wenn Sie uns per E-Mail kontaktieren, werden die von Ihnen übermittelten Daten zur Bearbeitung Ihrer Anfrage und für erforderliche Anschlusskommunikation verarbeitet.\nRechtsgrundlage:\nArt. 6 Abs. 1 lit. b DSGVO bei vertragsbezogenen oder vorvertraglichen Anfragen Art. 6 Abs. 1 lit. f DSGVO bei allgemeiner Geschäftskommunikation Keine Analytics- oder Marketing-Cookies # Diese Website verwendet derzeit keine Analytics-, Werbe- oder Marketing-Cookies. Wenn sich das ändert, wird diese Datenschutzerklärung entsprechend aktualisiert.\nExterne Links # Diese Website verlinkt auf externe Dienste wie LinkedIn, GitHub und Projektseiten. Wenn Sie diesen Links folgen, gelten die Datenschutzbestimmungen der jeweiligen Anbieter.\nSpeicherdauer # Personenbezogene Daten werden nur so lange gespeichert, wie es für den jeweiligen Zweck erforderlich ist.\nInsbesondere gilt:\nE-Mail-Korrespondenz wird so lange gespeichert, wie dies zur Bearbeitung der Anfrage und für die zugehörige Geschäftskommunikation erforderlich ist technische Hosting- und Sicherheitslogs werden nur so lange vorgehalten, wie dies unter den jeweiligen Plattform-Einstellungen, Incident-Handling-Anforderungen und gesetzlichen Pflichten erforderlich ist Besondere Kategorien personenbezogener Daten werden bei normaler Nutzung dieser Website nicht gezielt erhoben.\nIhre Rechte # Nach der DSGVO haben Sie insbesondere das Recht auf:\nAuskunft Berichtigung Löschung Einschränkung der Verarbeitung Widerspruch gegen die Verarbeitung Datenübertragbarkeit, soweit anwendbar Wenn Sie der Ansicht sind, dass die Verarbeitung Ihrer Daten gegen Datenschutzrecht verstößt, können Sie Beschwerde bei der österreichischen Datenschutzbehörde einlegen.\n","externalUrl":null,"permalink":"/datenschutz/","section":"Dominic","summary":"","title":"Datenschutz","type":"page"},{"content":" Unternehmen # RDGY Software GmbH\nTiergartenstraße 132\n6020 Innsbruck\nÖsterreich\nE-Mail: office@rdgy.at\nUnternehmensdaten # Firmenbuchnummer: FN 665064k\nGISA-Zahl: 39292735\nInhaltlich verantwortlich gemäß § 25 MedienG # Dominic Rudigier\nUnternehmensgegenstand # Softwareentwicklung, Plattform-Engineering, Infrastrukturautomatisierung und damit verbundene Beratungsleistungen.\nGrundlegende Richtung der Website # Diese Website informiert über RDGY Software GmbH, ihre Projekte, Leistungen und technische Arbeit.\nHaftung für Inhalte # Die Inhalte dieser Website werden mit angemessener Sorgfalt erstellt. Es wird jedoch keine Gewähr für Richtigkeit, Vollständigkeit oder Aktualität übernommen.\nHaftung für Links # Diese Website enthält Links zu externen Websites Dritter. Auf deren Inhalte haben wir keinen Einfluss. Für die Inhalte der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.\nUrheberrecht # Soweit nicht anders angegeben, unterliegen die Inhalte dieser Website dem Urheberrecht. Inhalte Dritter werden entsprechend gekennzeichnet.\n","externalUrl":null,"permalink":"/impressum/","section":"Dominic","summary":"","title":"Impressum","type":"page"},{"content":" Gib Kaufpreis, Eigenkapital, Laufzeit und Zinssatz ein — und simuliere optional Sondertilgungen um zu sehen wie viel du an Zinsen sparst und wann du schuldenfrei bist.\n1Kredit konfigurieren → 2Sondertilgungen testen → 3Ergebnis lesen 1Kreditparameter Kaufpreis € Gesamtpreis inkl. Nebenkosten (ca. 10–12 % in Österreich: Grundbuch, Notar, Makler). Eigenkapital € Empfehlung: mind. 20 % des Kaufpreises — darunter verlangen Banken Zinsaufschläge. Kreditbetrag (Kaufpreis − Eigenkapital) 350.000 € Laufzeit Jahre Längere Laufzeit = niedrigere Rate, aber deutlich mehr Zinskosten gesamt. Zinssatz p.a. % Aufschläge je nach Bank und Bonität. Monatsrate — p.m. Kreditbetrag — — Zinsen gesamt — — Rückzahlung gesamt — Kredit + Zinsen Tilgungsverlauf Restschuld ohne ST Restschuld mit ST Kum. Zinsen ohne ST Kum. Zinsen mit ST 2Sondertilgungen Pönale 2,00 % Sondertilgungen reduzieren die Restschuld direkt — das spart Zinsen und verkürzt die Laufzeit. Viele Verträge erlauben bis zu 10 % p.a. pönalfrei. Betrag auf 0 lassen um diesen Schritt zu überspringen.\nPönale auf Sondertilgungen % Gebühr der Bank für vorzeitige Rückzahlung. In Österreich üblich: 1–3 %. Viele Verträge erlauben 10 % p.a. pönalfrei. Art der Sondertilgung Einmalig Jährlich Monatlich Betrag € Nach Jahr Jahr Je früher die Sondertilgung, desto höher die Zinsersparnis — die Restschuld ist noch groß. Jährlicher Betrag € Ab Jahr Jahr Bis Jahr (inkl.) Jahr Monatlicher Zusatzbetrag € Ab Monat Monat Bis Monat Monat Ohne Sondertilgung Laufzeit— Zinsen gesamt— Rückzahlung— Mit Sondertilgung Laufzeit— Zinsen gesamt— Rückzahlung— Sondertilgungen gesamt— Pönale gesamt (2,00 %)— Zinsersparnis— Laufzeitverkürzung— Nettoersparnis (nach Pönale)— 3 Dein Plan auf einen Blick Zinsen gesamt — ohne ST — Zinsen gesamt — mit ST — Pro €1 zurück — ohne ST — Pro €1 zurück — mit ST — Zinsersparnis (netto) — Schuldenfrei ab — — Alle Angaben ohne Gewähr. Die Ergebnisse dieses Rechners dienen ausschließlich der unverbindlichen Orientierung und ersetzen keine individuelle Beratung durch eine Bank, einen Notar oder Rechtsanwalt. rdgy.at Tool auf deiner Website einbinden ↓ \u0026lt;!-- Alle Parameter optional. theme=dark|light überschreibt OS-Einstellung. --\u0026gt; \u0026lt;iframe src=\"https://www.rdgy.at/tools/kreditrechner.html?kaufpreis=430000\u0026amp;eigenkapital=80000\u0026amp;laufzeit=25\u0026amp;zinssatz=3.75\u0026amp;poenale=2\u0026amp;theme=dark\" width=\"100%\" height=\"2400\" style=\"border:none; border-radius:16px; display:block;\" title=\"Kreditrechner – rdgy.at\"\u0026gt; \u0026lt;/iframe\u0026gt; ","externalUrl":null,"permalink":"/tools/kreditrechner/","section":"Tools","summary":"","title":"Kreditrechner","type":"tools"},{"content":"Ich unterstütze ausgewählte Unternehmen beim Aufbau, Betrieb und der Optimierung ihrer Azure-Infrastruktur – vollständig als Code, über Haggla Software Solutions.\n☁️ Azure Infrastructure as Code\nVollständiges IaC-Setup mit OpenTofu: Container Apps, PostgreSQL Flexible Server, Service Bus, Key Vault, CI/CD-Pipelines. Eure gesamte Infrastruktur als prüfbarer, versionierter Code – keine Click-Ops, keine Überraschungen.\n📊 Datenintensive Production Environments\nIch entwerfe und betreibe Architekturen für datenintensive Systeme auf Azure: skalierbare Datenpipelines, Event-Driven Architectures mit Service Bus, performante Datenbanksetups und zuverlässige Production Deployments.\n🔧 Laufende Wartung \u0026amp; Betrieb\nIch übernehme den laufenden Betrieb eurer Azure-Umgebung auf Retainer-Basis: Monitoring, Updates, Incident-Response, Kostenoptimierung und Dokumentation – ohne dass ihr ein eigenes Cloud-Team braucht.\nKontakt: office@rdgy.at Erzählt mir von eurem Stack und euren Daten. Gemeinsam finden wir heraus, wie ich am besten unterstützen kann.\n","externalUrl":null,"permalink":"/services/","section":"Dominic","summary":"","title":"Leistungen","type":"page"},{"content":" Kaufpreis eingeben, Finanzierung und Makler wählen — alle Nebenkosten auf den Cent aufgeschlüsselt.\n1Parameter eingeben → 2Sätze anpassen (optional) → 3Ergebnis ablesen 1Kaufparameter Kaufpreis € Gesamtpreis inkl. aller Nebenkosten (ca. 10–12 % in Österreich). Kaufvariante Barzahlung Mit Kredit Kreditbetrag € Der finanzierte Anteil — davon wird die Pfandrechtseintragungsgebühr berechnet. Makler Ohne Makler Mit Makler Nebenkosten — — Kaufpreis — Kaufpreis Gesamtkosten — Kaufpreis + NK Nebenkosten in % — des Kaufpreises Kostenaufschlüsselung Grunderwerbsteuer§ 7 Abs. 1 Z 3 GrEStG — — GrundbucheintragungsgebührTP 9 lit. b GGG — — Notarkosten (inkl. 20 % USt)NTG-Tarif, inkl. Vertrag, Treuhand, GB-Antrag — — Maklergebühr (inkl. 20 % USt)§ 23 Abs. 1 IMMVO — max. 3 % netto — — PfandrechtseintragungsgebührTP 9 lit. b Z 1 GGG — auf Kreditsumme — — Nebenkosten gesamt — — 2Sätze konfigurieren Grunderwerbsteuer % Standard: 3,50 % (§ 7 GrEStG) GB-Eintragungsgebühr % Standard: 1,10 % (TP 9 GGG) Notarkosten (netto) % Typ. 1,0–2,0 % netto + 20 % USt (NTG) Maklergebühr (netto) % Max. 3,00 % netto (§ 23 IMMVO) + 20 % USt Pfandrechtseintragung % Standard: 1,20 % der Kreditsumme (TP 9 GGG) Dein Kaufplan auf einen Blick Nebenkosten gesamt — Nebenkosten in % — Gesamtinvestition — Kreditbetrag — — Alle Angaben ohne Gewähr. Die Ergebnisse dieses Rechners dienen ausschließlich der unverbindlichen Orientierung und ersetzen keine individuelle Beratung durch eine Bank, einen Notar oder Rechtsanwalt. rdgy.at Tool auf deiner Website einbinden ↓ \u0026lt;iframe src=\"https://www.rdgy.at/tools/nebenkostenrechner.html?kaufpreis=430000\u0026amp;kreditbetrag=344000\u0026amp;makler=1\u0026amp;kredit=1\u0026amp;grest=3.5\u0026amp;gb=1.1\u0026amp;notar=1.5\u0026amp;maklerpct=3\u0026amp;pfand=1.2\u0026amp;theme=dark\" width=\"100%\" height=\"900\" style=\"border:none; border-radius:16px; display:block;\" title=\"Nebenkostenrechner – rdgy.at\"\u0026gt; \u0026lt;/iframe\u0026gt; ","externalUrl":null,"permalink":"/tools/nebenkostenrechner/","section":"Tools","summary":"","title":"Nebenkostenrechner","type":"tools"},{"content":" ","externalUrl":null,"permalink":"/tools/nettogehaltrechner/","section":"Tools","summary":"","title":"Nettogehalt-Rechner","type":"tools"},{"content":"","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"},{"content":"","externalUrl":null,"permalink":"/tools/","section":"Tools","summary":"","title":"Tools","type":"tools"}]