diff options
| author | mjkwiatkowski <mati.rewa@gmail.com> | 2025-12-21 12:06:52 +0100 |
|---|---|---|
| committer | mjkwiatkowski <mati.rewa@gmail.com> | 2025-12-21 12:06:52 +0100 |
| commit | 87370a6c7d891a30d6a50ed66ac98feda5a63817 (patch) | |
| tree | 8d2654ca3ab3e77bf52358ff7f21bcb45f8bb047 /public/posts/self-hosting/index.html | |
initial commit
Diffstat (limited to 'public/posts/self-hosting/index.html')
| -rw-r--r-- | public/posts/self-hosting/index.html | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/public/posts/self-hosting/index.html b/public/posts/self-hosting/index.html new file mode 100644 index 0000000..5bad704 --- /dev/null +++ b/public/posts/self-hosting/index.html @@ -0,0 +1,80 @@ +<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32.png"> + <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16.png"> + <link rel="manifest" href="/images/site.webmanifest"> + <link rel="stylesheet" href="/css/style.css" /> + <link rel="stylesheet" href="/css/fonts.css" /> + <script async type="text/javascript" src="js/code.js"> </script> +</head> + +<div class="container"> + <ul id="bar"> + + <li> + <a href="/">go back</a> + </li> + <li>|</li> + + <li> + <a href="mailto:mati.rewa@gmail.com">mati.rewa@gmail.com</a> + </li> + <li>|</li> + <li> + <a href="https://git.denounce.ai/">git.denounce.ai</a> + </li> + <li>|</li> + <li> + <a href="https://ohmyghost.nl">ohmyghost.nl</a> + </li> + <li>|</li> + <li> + <a href="https://atlarge-research.com/mkwiatkowski/">research</a> + </li> + <li>|</li> + <li> + book blog + </li> +</ul> + + +</div> +</div> +<div class="container"> + <h2>Self-Hosting</h2> + <p>Ever since enrolling in a Computer Science degree I had the idea to have my own website. +Many of my friends had their own webpages, which naturally made me want one too. +After installing Archlinux on my first Lenovo ThinkPad X250 in June 2024 I got the idea of having a website hosted on my own server running Linux. +During the academic year I undertook the challenge to make it work, and here is how I did it.</p> +<p>First, I knew I needed hardware that could run an operating system 24/7 and with a connection to the Internet. +My friends often just reconfigured their old PC’s, however I did not have one, so I had to think of other alternatives, and that is how I came up with the idea of using a Raspberry PI 5. +I bought the fifth model as an entire <a href="https://www.raspberrystore.nl/PrestaShop/en/Raspberry_pi_5/513-raspberry-pi-5-8gb-starter-pack-2023-8718734751687.html">starter-pack</a> with 8GB of RAM, fancy enclosure and an extra cooling module. +The entire specification is available <a href="https://www.raspberrystore.nl/PrestaShop/en/Raspberry_pi_5/508-raspberry-pi-5-8gb-5056561803326.html">here</a>, some of the most important details are listed below:</p> +<ul> +<li>64-bit Arm Cortex-A76 CPU</li> +<li>LPDDR4X-4267 SDRAM 8GB</li> +<li>Gigabit Ethernet Port</li> +<li>MicroSD card slot</li> +</ul> +<p>After the hardware has arrived, following the assembly guide and putting the pieces together the RPI was ready. +Unfortunately I realized too late that in order to interact with the device itself I needed an external display and a keyboard (according to the guide), both of which I did not have.</p> +<p>Fortunately, Raspberry PI provides a method to install an operating system on the SD card directly by connecting it to a laptop. +This is done using the <a href="https://archlinux.org/packages/extra/x86_64/rpi-imager/">rpi-imager</a> tool available in the Arch repository. +I selected <em>Debian GNU/Linux 12 (bookworm)</em> for <em>aarch64</em>, and added my public ssh key, so that I can access the system as the selected user. +Once the installation was done, I had a working computer, however still no means to access it remotely yet. +How I figured that out will be updated in a later blog post, when I have a bit more time to explain the process of configuring a static IP, Dynamic DNS and Nginx web server.</p> + +</div> +<footer style="vertical-align: bottom;"> + <div style="display: inline-block; margin-left:15px;"> + <center> + + © Copyright 2024-2025 Mateusz J. Kwiatkowski. All Rights Reserved. + + </center> + </div> +</footer> +</body> +</html> + |
