rebuild
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
title: "About Me"
|
title: "About Me"
|
||||||
date: 2025-12-01
|
date: 2025-12-01
|
||||||
tags: ["blog"]
|
tags: ["blog"]
|
||||||
|
weight: 1
|
||||||
draft: false
|
draft: false
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -5,13 +5,65 @@ tags: ["blog"]
|
|||||||
draft: false
|
draft: false
|
||||||
---
|
---
|
||||||
|
|
||||||
### Goals
|
Building a Self-Sustaining Infrastructure: A Two-Server Docker Setup
|
||||||
- Have an self sustaining hosted infrastructure
|
Overview
|
||||||
- Have bakups of everything
|
Creating a resilient, self-sustaining infrastructure doesn't require complex enterprise solutions. With two strategically configured servers and a well-thought-out backup strategy, you can achieve both reliability and security for your self-hosted applications.
|
||||||
|
|
||||||
|
The Architecture
|
||||||
|
Docker Host Server
|
||||||
|
The primary server runs all application workloads using Docker containers. This containerized approach provides:
|
||||||
|
|
||||||
### Current point
|
Isolation: Each service runs in its own container with defined resources
|
||||||
- My current infrasturcure looks like on hosted server with docker containers running and one hosted server with a lot of data storage
|
|
||||||
- Backups are done every day
|
Portability: Services can be easily migrated or replicated
|
||||||
- Backups are made of the databases and docker volumes
|
|
||||||
- The two servers are connected via a Wireguard-VPN and the backup server is not available from the outside (secured via iptables) the docker host has only a few ports available by the outside
|
Consistency: Docker Compose configurations ensure reproducible deployments
|
||||||
|
|
||||||
|
The Docker host maintains minimal external exposure, with only essential ports opened to the internet. This reduces the attack surface while still providing necessary services.
|
||||||
|
|
||||||
|
Backup Storage Server
|
||||||
|
The secondary server serves as a dedicated backup repository with substantial storage capacity. This server is:
|
||||||
|
|
||||||
|
Isolated from the internet: No external access is permitted
|
||||||
|
|
||||||
|
Secured via iptables: Firewall rules prevent unauthorized connections
|
||||||
|
|
||||||
|
Connected via WireGuard VPN: Encrypted tunnel ensures secure communication between servers
|
||||||
|
|
||||||
|
Security Through Network Segmentation
|
||||||
|
The WireGuard VPN creates a secure, encrypted tunnel between the Docker host and backup server. This architecture provides several benefits:
|
||||||
|
|
||||||
|
Private communication channel for backup operations
|
||||||
|
|
||||||
|
Zero trust model for the backup server (completely isolated from public internet)
|
||||||
|
|
||||||
|
Reduced risk of data exfiltration
|
||||||
|
|
||||||
|
Encrypted data transfer between servers
|
||||||
|
|
||||||
|
Automated Backup Strategy
|
||||||
|
Daily automated backups capture the critical components:
|
||||||
|
|
||||||
|
Database Backups
|
||||||
|
All databases are exported and stored, ensuring data consistency and point-in-time recovery capabilities.
|
||||||
|
|
||||||
|
Docker Volume Backups
|
||||||
|
Persistent data from Docker volumes is systematically backed up, including:
|
||||||
|
|
||||||
|
Application configuration files
|
||||||
|
|
||||||
|
User-generated content
|
||||||
|
|
||||||
|
Service-specific data stores
|
||||||
|
|
||||||
|
This comprehensive approach ensures that the entire infrastructure can be restored from backups, making the system truly self-sustaining.
|
||||||
|
|
||||||
|
Benefits of This Approach
|
||||||
|
Resilience: Hardware failure on the Docker host doesn't result in data loss
|
||||||
|
Security: Multi-layered security with network segmentation and minimal exposure
|
||||||
|
Maintainability: Containerized services are easy to update and manage
|
||||||
|
Scalability: Additional Docker hosts can connect to the same backup server
|
||||||
|
Cost-effective: Self-hosted solution with predictable costs
|
||||||
|
|
||||||
|
Conclusion
|
||||||
|
This two-server architecture strikes an excellent balance between simplicity and robustness. By combining Docker containerization with a dedicated, secured backup server connected via WireGuard, you achieve enterprise-grade reliability without enterprise-level complexity. Daily automated backups provide peace of mind, while the security-first network design protects your data from external threats.
|
||||||
|
|||||||
@@ -141,48 +141,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<article class="post on-list">
|
|
||||||
<h2 class="post-title">
|
|
||||||
<a href="https://blog.fuhlig.de/posts/whatimworkingoncurrently/">What am I currently working on</a>
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
<div class="post-meta"><time class="post-date">2025-12-03</time></div>
|
|
||||||
|
|
||||||
|
|
||||||
<span class="post-tags">
|
|
||||||
|
|
||||||
#<a href="https://blog.fuhlig.de/tags/blog/">blog</a>
|
|
||||||
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="post-content">
|
|
||||||
|
|
||||||
<h3 id="goals">Goals</h3>
|
|
||||||
<ul>
|
|
||||||
<li>Have an self sustaining hosted infrastructure</li>
|
|
||||||
<li>Have bakups of everything</li>
|
|
||||||
</ul>
|
|
||||||
<h3 id="current-point">Current point</h3>
|
|
||||||
<ul>
|
|
||||||
<li>My current infrasturcure looks like on hosted server with docker containers running and one hosted server with a lot of data storage</li>
|
|
||||||
<li>Backups are done every day</li>
|
|
||||||
<li>Backups are made of the databases and docker volumes</li>
|
|
||||||
<li>The two servers are connected via a Wireguard-VPN and the backup server is not available from the outside (secured via iptables) the docker host has only a few ports available by the outside</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<a class="read-more button inline" href="/posts/whatimworkingoncurrently/">[]</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<article class="post on-list">
|
<article class="post on-list">
|
||||||
<h2 class="post-title">
|
<h2 class="post-title">
|
||||||
<a href="https://blog.fuhlig.de/posts/aboutme/">About Me</a>
|
<a href="https://blog.fuhlig.de/posts/aboutme/">About Me</a>
|
||||||
@@ -219,6 +177,43 @@ I mainly want to post about what I learned, what inspires me.</p>
|
|||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
|
<article class="post on-list">
|
||||||
|
<h2 class="post-title">
|
||||||
|
<a href="https://blog.fuhlig.de/posts/whatimworkingoncurrently/">What am I currently working on</a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<div class="post-meta"><time class="post-date">2025-12-03</time></div>
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-tags">
|
||||||
|
|
||||||
|
#<a href="https://blog.fuhlig.de/tags/blog/">blog</a>
|
||||||
|
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-content">
|
||||||
|
|
||||||
|
<p>Building a Self-Sustaining Infrastructure: A Two-Server Docker Setup
|
||||||
|
Overview
|
||||||
|
Creating a resilient, self-sustaining infrastructure doesn’t require complex enterprise solutions. With two strategically configured servers and a well-thought-out backup strategy, you can achieve both reliability and security for your self-hosted applications.</p>
|
||||||
|
<p>The Architecture
|
||||||
|
Docker Host Server
|
||||||
|
The primary server runs all application workloads using Docker containers. This containerized approach provides:</p>
|
||||||
|
<p>Isolation: Each service runs in its own container with defined resources</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a class="read-more button inline" href="/posts/whatimworkingoncurrently/">[]</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
<div class="pagination__buttons">
|
<div class="pagination__buttons">
|
||||||
|
|||||||
@@ -8,13 +8,6 @@
|
|||||||
<language>en-us</language>
|
<language>en-us</language>
|
||||||
<lastBuildDate>Wed, 03 Dec 2025 00:00:00 +0000</lastBuildDate>
|
<lastBuildDate>Wed, 03 Dec 2025 00:00:00 +0000</lastBuildDate>
|
||||||
<atom:link href="https://blog.fuhlig.de/index.xml" rel="self" type="application/rss+xml" />
|
<atom:link href="https://blog.fuhlig.de/index.xml" rel="self" type="application/rss+xml" />
|
||||||
<item>
|
|
||||||
<title>What am I currently working on</title>
|
|
||||||
<link>https://blog.fuhlig.de/posts/whatimworkingoncurrently/</link>
|
|
||||||
<pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate>
|
|
||||||
<guid>https://blog.fuhlig.de/posts/whatimworkingoncurrently/</guid>
|
|
||||||
<description><h3 id="goals">Goals</h3>
<ul>
<li>Have an self sustaining hosted infrastructure</li>
<li>Have bakups of everything</li>
</ul>
<h3 id="current-point">Current point</h3>
<ul>
<li>My current infrasturcure looks like on hosted server with docker containers running and one hosted server with a lot of data storage</li>
<li>Backups are done every day</li>
<li>Backups are made of the databases and docker volumes</li>
<li>The two servers are connected via a Wireguard-VPN and the backup server is not available from the outside (secured via iptables) the docker host has only a few ports available by the outside</li>
</ul></description>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<title>About Me</title>
|
<title>About Me</title>
|
||||||
<link>https://blog.fuhlig.de/posts/aboutme/</link>
|
<link>https://blog.fuhlig.de/posts/aboutme/</link>
|
||||||
@@ -22,5 +15,12 @@
|
|||||||
<guid>https://blog.fuhlig.de/posts/aboutme/</guid>
|
<guid>https://blog.fuhlig.de/posts/aboutme/</guid>
|
||||||
<description><h2 id="who-am-i">Who am I</h2>
<p>My name is Florian and I&rsquo;m 22 years old.
I work as an IT Technican mainly with Linux Servers in Frankfurt, Germany.
My company is midsized around 50 people working here.
I mainly want to post about what I learned, what inspires me.</p>
<p>Well I dont really, this just seemed like a great idea to waste some time.</p></description>
|
<description><h2 id="who-am-i">Who am I</h2>
<p>My name is Florian and I&rsquo;m 22 years old.
I work as an IT Technican mainly with Linux Servers in Frankfurt, Germany.
My company is midsized around 50 people working here.
I mainly want to post about what I learned, what inspires me.</p>
<p>Well I dont really, this just seemed like a great idea to waste some time.</p></description>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>What am I currently working on</title>
|
||||||
|
<link>https://blog.fuhlig.de/posts/whatimworkingoncurrently/</link>
|
||||||
|
<pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate>
|
||||||
|
<guid>https://blog.fuhlig.de/posts/whatimworkingoncurrently/</guid>
|
||||||
|
<description><p>Building a Self-Sustaining Infrastructure: A Two-Server Docker Setup
Overview
Creating a resilient, self-sustaining infrastructure doesn&rsquo;t require complex enterprise solutions. With two strategically configured servers and a well-thought-out backup strategy, you can achieve both reliability and security for your self-hosted applications.</p>
<p>The Architecture
Docker Host Server
The primary server runs all application workloads using Docker containers. This containerized approach provides:</p>
<p>Isolation: Each service runs in its own container with defined resources</p></description>
|
||||||
|
</item>
|
||||||
</channel>
|
</channel>
|
||||||
</rss>
|
</rss>
|
||||||
|
|||||||
@@ -124,47 +124,6 @@
|
|||||||
|
|
||||||
<div class="posts">
|
<div class="posts">
|
||||||
|
|
||||||
<article class="post on-list">
|
|
||||||
<h2 class="post-title">
|
|
||||||
<a href="https://blog.fuhlig.de/posts/whatimworkingoncurrently/">What am I currently working on</a>
|
|
||||||
</h2>
|
|
||||||
<div class="post-meta"><time class="post-date">2025-12-03</time></div>
|
|
||||||
|
|
||||||
|
|
||||||
<span class="post-tags">
|
|
||||||
|
|
||||||
#<a href="https://blog.fuhlig.de/tags/blog/">blog</a>
|
|
||||||
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="post-content">
|
|
||||||
|
|
||||||
<h3 id="goals">Goals</h3>
|
|
||||||
<ul>
|
|
||||||
<li>Have an self sustaining hosted infrastructure</li>
|
|
||||||
<li>Have bakups of everything</li>
|
|
||||||
</ul>
|
|
||||||
<h3 id="current-point">Current point</h3>
|
|
||||||
<ul>
|
|
||||||
<li>My current infrasturcure looks like on hosted server with docker containers running and one hosted server with a lot of data storage</li>
|
|
||||||
<li>Backups are done every day</li>
|
|
||||||
<li>Backups are made of the databases and docker volumes</li>
|
|
||||||
<li>The two servers are connected via a Wireguard-VPN and the backup server is not available from the outside (secured via iptables) the docker host has only a few ports available by the outside</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<a class="read-more button inline" href="/posts/whatimworkingoncurrently/">[]</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<article class="post on-list">
|
<article class="post on-list">
|
||||||
<h2 class="post-title">
|
<h2 class="post-title">
|
||||||
<a href="https://blog.fuhlig.de/posts/aboutme/">About Me</a>
|
<a href="https://blog.fuhlig.de/posts/aboutme/">About Me</a>
|
||||||
@@ -200,6 +159,42 @@ I mainly want to post about what I learned, what inspires me.</p>
|
|||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
|
<article class="post on-list">
|
||||||
|
<h2 class="post-title">
|
||||||
|
<a href="https://blog.fuhlig.de/posts/whatimworkingoncurrently/">What am I currently working on</a>
|
||||||
|
</h2>
|
||||||
|
<div class="post-meta"><time class="post-date">2025-12-03</time></div>
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-tags">
|
||||||
|
|
||||||
|
#<a href="https://blog.fuhlig.de/tags/blog/">blog</a>
|
||||||
|
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-content">
|
||||||
|
|
||||||
|
<p>Building a Self-Sustaining Infrastructure: A Two-Server Docker Setup
|
||||||
|
Overview
|
||||||
|
Creating a resilient, self-sustaining infrastructure doesn’t require complex enterprise solutions. With two strategically configured servers and a well-thought-out backup strategy, you can achieve both reliability and security for your self-hosted applications.</p>
|
||||||
|
<p>The Architecture
|
||||||
|
Docker Host Server
|
||||||
|
The primary server runs all application workloads using Docker containers. This containerized approach provides:</p>
|
||||||
|
<p>Isolation: Each service runs in its own container with defined resources</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a class="read-more button inline" href="/posts/whatimworkingoncurrently/">[]</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
<div class="pagination__buttons">
|
<div class="pagination__buttons">
|
||||||
|
|||||||
@@ -8,13 +8,6 @@
|
|||||||
<language>en-us</language>
|
<language>en-us</language>
|
||||||
<lastBuildDate>Wed, 03 Dec 2025 00:00:00 +0000</lastBuildDate>
|
<lastBuildDate>Wed, 03 Dec 2025 00:00:00 +0000</lastBuildDate>
|
||||||
<atom:link href="https://blog.fuhlig.de/posts/index.xml" rel="self" type="application/rss+xml" />
|
<atom:link href="https://blog.fuhlig.de/posts/index.xml" rel="self" type="application/rss+xml" />
|
||||||
<item>
|
|
||||||
<title>What am I currently working on</title>
|
|
||||||
<link>https://blog.fuhlig.de/posts/whatimworkingoncurrently/</link>
|
|
||||||
<pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate>
|
|
||||||
<guid>https://blog.fuhlig.de/posts/whatimworkingoncurrently/</guid>
|
|
||||||
<description><h3 id="goals">Goals</h3>
<ul>
<li>Have an self sustaining hosted infrastructure</li>
<li>Have bakups of everything</li>
</ul>
<h3 id="current-point">Current point</h3>
<ul>
<li>My current infrasturcure looks like on hosted server with docker containers running and one hosted server with a lot of data storage</li>
<li>Backups are done every day</li>
<li>Backups are made of the databases and docker volumes</li>
<li>The two servers are connected via a Wireguard-VPN and the backup server is not available from the outside (secured via iptables) the docker host has only a few ports available by the outside</li>
</ul></description>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<title>About Me</title>
|
<title>About Me</title>
|
||||||
<link>https://blog.fuhlig.de/posts/aboutme/</link>
|
<link>https://blog.fuhlig.de/posts/aboutme/</link>
|
||||||
@@ -22,5 +15,12 @@
|
|||||||
<guid>https://blog.fuhlig.de/posts/aboutme/</guid>
|
<guid>https://blog.fuhlig.de/posts/aboutme/</guid>
|
||||||
<description><h2 id="who-am-i">Who am I</h2>
<p>My name is Florian and I&rsquo;m 22 years old.
I work as an IT Technican mainly with Linux Servers in Frankfurt, Germany.
My company is midsized around 50 people working here.
I mainly want to post about what I learned, what inspires me.</p>
<p>Well I dont really, this just seemed like a great idea to waste some time.</p></description>
|
<description><h2 id="who-am-i">Who am I</h2>
<p>My name is Florian and I&rsquo;m 22 years old.
I work as an IT Technican mainly with Linux Servers in Frankfurt, Germany.
My company is midsized around 50 people working here.
I mainly want to post about what I learned, what inspires me.</p>
<p>Well I dont really, this just seemed like a great idea to waste some time.</p></description>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>What am I currently working on</title>
|
||||||
|
<link>https://blog.fuhlig.de/posts/whatimworkingoncurrently/</link>
|
||||||
|
<pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate>
|
||||||
|
<guid>https://blog.fuhlig.de/posts/whatimworkingoncurrently/</guid>
|
||||||
|
<description><p>Building a Self-Sustaining Infrastructure: A Two-Server Docker Setup
Overview
Creating a resilient, self-sustaining infrastructure doesn&rsquo;t require complex enterprise solutions. With two strategically configured servers and a well-thought-out backup strategy, you can achieve both reliability and security for your self-hosted applications.</p>
<p>The Architecture
Docker Host Server
The primary server runs all application workloads using Docker containers. This containerized approach provides:</p>
<p>Isolation: Each service runs in its own container with defined resources</p></description>
|
||||||
|
</item>
|
||||||
</channel>
|
</channel>
|
||||||
</rss>
|
</rss>
|
||||||
|
|||||||
@@ -6,7 +6,10 @@
|
|||||||
|
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="Goals Have an self sustaining hosted infrastructure Have bakups of everything Current point My current infrasturcure looks like on hosted server with docker containers running and one hosted server with a lot of data storage Backups are done every day Backups are made of the databases and docker volumes The two servers are connected via a Wireguard-VPN and the backup server is not available from the outside (secured via iptables) the docker host has only a few ports available by the outside " />
|
<meta name="description" content="Building a Self-Sustaining Infrastructure: A Two-Server Docker Setup Overview Creating a resilient, self-sustaining infrastructure doesn’t require complex enterprise solutions. With two strategically configured servers and a well-thought-out backup strategy, you can achieve both reliability and security for your self-hosted applications.
|
||||||
|
The Architecture Docker Host Server The primary server runs all application workloads using Docker containers. This containerized approach provides:
|
||||||
|
Isolation: Each service runs in its own container with defined resources
|
||||||
|
" />
|
||||||
<meta name="keywords" content="" />
|
<meta name="keywords" content="" />
|
||||||
|
|
||||||
<meta name="robots" content="noodp" />
|
<meta name="robots" content="noodp" />
|
||||||
@@ -73,7 +76,10 @@
|
|||||||
<meta property="og:locale" content="en" />
|
<meta property="og:locale" content="en" />
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<meta property="og:title" content="What am I currently working on">
|
<meta property="og:title" content="What am I currently working on">
|
||||||
<meta property="og:description" content="Goals Have an self sustaining hosted infrastructure Have bakups of everything Current point My current infrasturcure looks like on hosted server with docker containers running and one hosted server with a lot of data storage Backups are done every day Backups are made of the databases and docker volumes The two servers are connected via a Wireguard-VPN and the backup server is not available from the outside (secured via iptables) the docker host has only a few ports available by the outside " />
|
<meta property="og:description" content="Building a Self-Sustaining Infrastructure: A Two-Server Docker Setup Overview Creating a resilient, self-sustaining infrastructure doesn’t require complex enterprise solutions. With two strategically configured servers and a well-thought-out backup strategy, you can achieve both reliability and security for your self-hosted applications.
|
||||||
|
The Architecture Docker Host Server The primary server runs all application workloads using Docker containers. This containerized approach provides:
|
||||||
|
Isolation: Each service runs in its own container with defined resources
|
||||||
|
" />
|
||||||
<meta property="og:url" content="https://blog.fuhlig.de/posts/whatimworkingoncurrently/" />
|
<meta property="og:url" content="https://blog.fuhlig.de/posts/whatimworkingoncurrently/" />
|
||||||
<meta property="og:site_name" content="TechnicalBlog" />
|
<meta property="og:site_name" content="TechnicalBlog" />
|
||||||
|
|
||||||
@@ -140,18 +146,45 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="post-content"><div>
|
<div class="post-content"><div>
|
||||||
<h3 id="goals">Goals<a href="#goals" class="hanchor" ariaLabel="Anchor">#</a> </h3>
|
<p>Building a Self-Sustaining Infrastructure: A Two-Server Docker Setup
|
||||||
<ul>
|
Overview
|
||||||
<li>Have an self sustaining hosted infrastructure</li>
|
Creating a resilient, self-sustaining infrastructure doesn’t require complex enterprise solutions. With two strategically configured servers and a well-thought-out backup strategy, you can achieve both reliability and security for your self-hosted applications.</p>
|
||||||
<li>Have bakups of everything</li>
|
<p>The Architecture
|
||||||
</ul>
|
Docker Host Server
|
||||||
<h3 id="current-point">Current point<a href="#current-point" class="hanchor" ariaLabel="Anchor">#</a> </h3>
|
The primary server runs all application workloads using Docker containers. This containerized approach provides:</p>
|
||||||
<ul>
|
<p>Isolation: Each service runs in its own container with defined resources</p>
|
||||||
<li>My current infrasturcure looks like on hosted server with docker containers running and one hosted server with a lot of data storage</li>
|
<p>Portability: Services can be easily migrated or replicated</p>
|
||||||
<li>Backups are done every day</li>
|
<p>Consistency: Docker Compose configurations ensure reproducible deployments</p>
|
||||||
<li>Backups are made of the databases and docker volumes</li>
|
<p>The Docker host maintains minimal external exposure, with only essential ports opened to the internet. This reduces the attack surface while still providing necessary services.</p>
|
||||||
<li>The two servers are connected via a Wireguard-VPN and the backup server is not available from the outside (secured via iptables) the docker host has only a few ports available by the outside</li>
|
<p>Backup Storage Server
|
||||||
</ul>
|
The secondary server serves as a dedicated backup repository with substantial storage capacity. This server is:</p>
|
||||||
|
<p>Isolated from the internet: No external access is permitted</p>
|
||||||
|
<p>Secured via iptables: Firewall rules prevent unauthorized connections</p>
|
||||||
|
<p>Connected via WireGuard VPN: Encrypted tunnel ensures secure communication between servers</p>
|
||||||
|
<p>Security Through Network Segmentation
|
||||||
|
The WireGuard VPN creates a secure, encrypted tunnel between the Docker host and backup server. This architecture provides several benefits:</p>
|
||||||
|
<p>Private communication channel for backup operations</p>
|
||||||
|
<p>Zero trust model for the backup server (completely isolated from public internet)</p>
|
||||||
|
<p>Reduced risk of data exfiltration</p>
|
||||||
|
<p>Encrypted data transfer between servers</p>
|
||||||
|
<p>Automated Backup Strategy
|
||||||
|
Daily automated backups capture the critical components:</p>
|
||||||
|
<p>Database Backups
|
||||||
|
All databases are exported and stored, ensuring data consistency and point-in-time recovery capabilities.</p>
|
||||||
|
<p>Docker Volume Backups
|
||||||
|
Persistent data from Docker volumes is systematically backed up, including:</p>
|
||||||
|
<p>Application configuration files</p>
|
||||||
|
<p>User-generated content</p>
|
||||||
|
<p>Service-specific data stores</p>
|
||||||
|
<p>This comprehensive approach ensures that the entire infrastructure can be restored from backups, making the system truly self-sustaining.</p>
|
||||||
|
<p>Benefits of This Approach
|
||||||
|
Resilience: Hardware failure on the Docker host doesn’t result in data loss
|
||||||
|
Security: Multi-layered security with network segmentation and minimal exposure
|
||||||
|
Maintainability: Containerized services are easy to update and manage
|
||||||
|
Scalability: Additional Docker hosts can connect to the same backup server
|
||||||
|
Cost-effective: Self-hosted solution with predictable costs</p>
|
||||||
|
<p>Conclusion
|
||||||
|
This two-server architecture strikes an excellent balance between simplicity and robustness. By combining Docker containerization with a dedicated, secured backup server connected via WireGuard, you achieve enterprise-grade reliability without enterprise-level complexity. Daily automated backups provide peace of mind, while the security-first network design protects your data from external threats.</p>
|
||||||
|
|
||||||
</div></div>
|
</div></div>
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,9 @@
|
|||||||
<url>
|
<url>
|
||||||
<loc>https://blog.fuhlig.de/</loc>
|
<loc>https://blog.fuhlig.de/</loc>
|
||||||
<lastmod>2025-12-02T00:00:00+00:00</lastmod>
|
<lastmod>2025-12-02T00:00:00+00:00</lastmod>
|
||||||
|
</url><url>
|
||||||
|
<loc>https://blog.fuhlig.de/posts/aboutme/</loc>
|
||||||
|
<lastmod>2025-12-01T00:00:00+00:00</lastmod>
|
||||||
</url><url>
|
</url><url>
|
||||||
<loc>https://blog.fuhlig.de/tags/blog/</loc>
|
<loc>https://blog.fuhlig.de/tags/blog/</loc>
|
||||||
<lastmod>2025-12-03T00:00:00+00:00</lastmod>
|
<lastmod>2025-12-03T00:00:00+00:00</lastmod>
|
||||||
@@ -22,8 +25,5 @@
|
|||||||
</url><url>
|
</url><url>
|
||||||
<loc>https://blog.fuhlig.de/posts/whatimworkingoncurrently/</loc>
|
<loc>https://blog.fuhlig.de/posts/whatimworkingoncurrently/</loc>
|
||||||
<lastmod>2025-12-03T00:00:00+00:00</lastmod>
|
<lastmod>2025-12-03T00:00:00+00:00</lastmod>
|
||||||
</url><url>
|
|
||||||
<loc>https://blog.fuhlig.de/posts/aboutme/</loc>
|
|
||||||
<lastmod>2025-12-01T00:00:00+00:00</lastmod>
|
|
||||||
</url>
|
</url>
|
||||||
</urlset>
|
</urlset>
|
||||||
|
|||||||
@@ -125,47 +125,6 @@
|
|||||||
|
|
||||||
<div class="posts">
|
<div class="posts">
|
||||||
|
|
||||||
<article class="post on-list">
|
|
||||||
<h1 class="post-title">
|
|
||||||
<a href="https://blog.fuhlig.de/posts/whatimworkingoncurrently/">What am I currently working on</a>
|
|
||||||
</h1>
|
|
||||||
<div class="post-meta"><time class="post-date">2025-12-03</time></div>
|
|
||||||
|
|
||||||
|
|
||||||
<span class="post-tags">
|
|
||||||
|
|
||||||
#<a href="https://blog.fuhlig.de/tags/blog/">blog</a>
|
|
||||||
|
|
||||||
</span>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="post-content">
|
|
||||||
|
|
||||||
<h3 id="goals">Goals</h3>
|
|
||||||
<ul>
|
|
||||||
<li>Have an self sustaining hosted infrastructure</li>
|
|
||||||
<li>Have bakups of everything</li>
|
|
||||||
</ul>
|
|
||||||
<h3 id="current-point">Current point</h3>
|
|
||||||
<ul>
|
|
||||||
<li>My current infrasturcure looks like on hosted server with docker containers running and one hosted server with a lot of data storage</li>
|
|
||||||
<li>Backups are done every day</li>
|
|
||||||
<li>Backups are made of the databases and docker volumes</li>
|
|
||||||
<li>The two servers are connected via a Wireguard-VPN and the backup server is not available from the outside (secured via iptables) the docker host has only a few ports available by the outside</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<a class="read-more button inline" href="/posts/whatimworkingoncurrently/">[]</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<article class="post on-list">
|
<article class="post on-list">
|
||||||
<h1 class="post-title">
|
<h1 class="post-title">
|
||||||
<a href="https://blog.fuhlig.de/posts/aboutme/">About Me</a>
|
<a href="https://blog.fuhlig.de/posts/aboutme/">About Me</a>
|
||||||
@@ -201,6 +160,42 @@ I mainly want to post about what I learned, what inspires me.</p>
|
|||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
|
<article class="post on-list">
|
||||||
|
<h1 class="post-title">
|
||||||
|
<a href="https://blog.fuhlig.de/posts/whatimworkingoncurrently/">What am I currently working on</a>
|
||||||
|
</h1>
|
||||||
|
<div class="post-meta"><time class="post-date">2025-12-03</time></div>
|
||||||
|
|
||||||
|
|
||||||
|
<span class="post-tags">
|
||||||
|
|
||||||
|
#<a href="https://blog.fuhlig.de/tags/blog/">blog</a>
|
||||||
|
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="post-content">
|
||||||
|
|
||||||
|
<p>Building a Self-Sustaining Infrastructure: A Two-Server Docker Setup
|
||||||
|
Overview
|
||||||
|
Creating a resilient, self-sustaining infrastructure doesn’t require complex enterprise solutions. With two strategically configured servers and a well-thought-out backup strategy, you can achieve both reliability and security for your self-hosted applications.</p>
|
||||||
|
<p>The Architecture
|
||||||
|
Docker Host Server
|
||||||
|
The primary server runs all application workloads using Docker containers. This containerized approach provides:</p>
|
||||||
|
<p>Isolation: Each service runs in its own container with defined resources</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a class="read-more button inline" href="/posts/whatimworkingoncurrently/">[]</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
<div class="pagination__buttons">
|
<div class="pagination__buttons">
|
||||||
|
|||||||
@@ -8,13 +8,6 @@
|
|||||||
<language>en-us</language>
|
<language>en-us</language>
|
||||||
<lastBuildDate>Wed, 03 Dec 2025 00:00:00 +0000</lastBuildDate>
|
<lastBuildDate>Wed, 03 Dec 2025 00:00:00 +0000</lastBuildDate>
|
||||||
<atom:link href="https://blog.fuhlig.de/tags/blog/index.xml" rel="self" type="application/rss+xml" />
|
<atom:link href="https://blog.fuhlig.de/tags/blog/index.xml" rel="self" type="application/rss+xml" />
|
||||||
<item>
|
|
||||||
<title>What am I currently working on</title>
|
|
||||||
<link>https://blog.fuhlig.de/posts/whatimworkingoncurrently/</link>
|
|
||||||
<pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate>
|
|
||||||
<guid>https://blog.fuhlig.de/posts/whatimworkingoncurrently/</guid>
|
|
||||||
<description><h3 id="goals">Goals</h3>
<ul>
<li>Have an self sustaining hosted infrastructure</li>
<li>Have bakups of everything</li>
</ul>
<h3 id="current-point">Current point</h3>
<ul>
<li>My current infrasturcure looks like on hosted server with docker containers running and one hosted server with a lot of data storage</li>
<li>Backups are done every day</li>
<li>Backups are made of the databases and docker volumes</li>
<li>The two servers are connected via a Wireguard-VPN and the backup server is not available from the outside (secured via iptables) the docker host has only a few ports available by the outside</li>
</ul></description>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<title>About Me</title>
|
<title>About Me</title>
|
||||||
<link>https://blog.fuhlig.de/posts/aboutme/</link>
|
<link>https://blog.fuhlig.de/posts/aboutme/</link>
|
||||||
@@ -22,5 +15,12 @@
|
|||||||
<guid>https://blog.fuhlig.de/posts/aboutme/</guid>
|
<guid>https://blog.fuhlig.de/posts/aboutme/</guid>
|
||||||
<description><h2 id="who-am-i">Who am I</h2>
<p>My name is Florian and I&rsquo;m 22 years old.
I work as an IT Technican mainly with Linux Servers in Frankfurt, Germany.
My company is midsized around 50 people working here.
I mainly want to post about what I learned, what inspires me.</p>
<p>Well I dont really, this just seemed like a great idea to waste some time.</p></description>
|
<description><h2 id="who-am-i">Who am I</h2>
<p>My name is Florian and I&rsquo;m 22 years old.
I work as an IT Technican mainly with Linux Servers in Frankfurt, Germany.
My company is midsized around 50 people working here.
I mainly want to post about what I learned, what inspires me.</p>
<p>Well I dont really, this just seemed like a great idea to waste some time.</p></description>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>What am I currently working on</title>
|
||||||
|
<link>https://blog.fuhlig.de/posts/whatimworkingoncurrently/</link>
|
||||||
|
<pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate>
|
||||||
|
<guid>https://blog.fuhlig.de/posts/whatimworkingoncurrently/</guid>
|
||||||
|
<description><p>Building a Self-Sustaining Infrastructure: A Two-Server Docker Setup
Overview
Creating a resilient, self-sustaining infrastructure doesn&rsquo;t require complex enterprise solutions. With two strategically configured servers and a well-thought-out backup strategy, you can achieve both reliability and security for your self-hosted applications.</p>
<p>The Architecture
Docker Host Server
The primary server runs all application workloads using Docker containers. This containerized approach provides:</p>
<p>Isolation: Each service runs in its own container with defined resources</p></description>
|
||||||
|
</item>
|
||||||
</channel>
|
</channel>
|
||||||
</rss>
|
</rss>
|
||||||
|
|||||||
Reference in New Issue
Block a user