<rss
      xmlns:atom="http://www.w3.org/2005/Atom"
      xmlns:media="http://search.yahoo.com/mrss/"
      xmlns:content="http://purl.org/rss/1.0/modules/content/"
      xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
      xmlns:dc="http://purl.org/dc/elements/1.1/"
      version="2.0"
    >
      <channel>
        <title><![CDATA[♔ 𝕾𝖊𝖙𝖙𝖊 𝕭𝖊𝖑𝖑𝖔 ♔ 🇨🇦]]></title>
        <description><![CDATA[Unusquisque vult mundum regere]]></description>
        <link>https://settebello.npub.pro/</link>
        <atom:link href="https://settebello.npub.pro/rss/" rel="self" type="application/rss+xml"/>
        <itunes:new-feed-url>https://settebello.npub.pro/rss/</itunes:new-feed-url>
        <itunes:author><![CDATA[Settebello]]></itunes:author>
        <itunes:subtitle><![CDATA[Unusquisque vult mundum regere]]></itunes:subtitle>
        <itunes:type>episodic</itunes:type>
        <itunes:owner>
          <itunes:name><![CDATA[Settebello]]></itunes:name>
          <itunes:email><![CDATA[Settebello]]></itunes:email>
        </itunes:owner>
            
      <pubDate>Mon, 05 Jan 2026 21:45:10 GMT</pubDate>
      <lastBuildDate>Mon, 05 Jan 2026 21:45:10 GMT</lastBuildDate>
      
      <itunes:image href="https://image.nostr.build/33564f1fde7e552cae8b6e3a60250e0343992c1094322180b034cd689f7c66b1.jpg" />
      <image>
        <title><![CDATA[♔ 𝕾𝖊𝖙𝖙𝖊 𝕭𝖊𝖑𝖑𝖔 ♔ 🇨🇦]]></title>
        <link>https://settebello.npub.pro/</link>
        <url>https://image.nostr.build/33564f1fde7e552cae8b6e3a60250e0343992c1094322180b034cd689f7c66b1.jpg</url>
      </image>
      <item>
      <title><![CDATA[Mealie - Your Sovereign Recipe Manager for a Self-Hosted Kitchen]]></title>
      <description><![CDATA[Mealie is more than just a recipe app; it's a statement. It's a tool that aligns with the principles of the self-sovereign individual, giving you ownership and control over one more piece of your digital life. Fire up a Docker container, import your favorite recipes, and take the first step towards a more sovereign kitchen.]]></description>
             <itunes:subtitle><![CDATA[Mealie is more than just a recipe app; it's a statement. It's a tool that aligns with the principles of the self-sovereign individual, giving you ownership and control over one more piece of your digital life. Fire up a Docker container, import your favorite recipes, and take the first step towards a more sovereign kitchen.]]></itunes:subtitle>
      <pubDate>Mon, 05 Jan 2026 21:45:10 GMT</pubDate>
      <link>https://settebello.npub.pro/post/9eea66cc/</link>
      <comments>https://settebello.npub.pro/post/9eea66cc/</comments>
      <guid isPermaLink="false">naddr1qqyrjet9vymrvcmrqgszpcta6rkphvyry6ywwwdd39cf6praav37652xsgh0m5kj9tjsf4crqsqqqa287ss2ct</guid>
      <category>nostr</category>
      
        <media:content url="https://blossom.band/77c24db3580d375095589f8bcd1f077320665dcc247801a669ec2839b1a83522.png" medium="image"/>
        <enclosure 
          url="https://blossom.band/77c24db3580d375095589f8bcd1f077320665dcc247801a669ec2839b1a83522.png" length="0" 
          type="image/png" 
        />
      <noteId>naddr1qqyrjet9vymrvcmrqgszpcta6rkphvyry6ywwwdd39cf6praav37652xsgh0m5kj9tjsf4crqsqqqa287ss2ct</noteId>
      <npub>npub1yrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsp0ja94</npub>
      <dc:creator><![CDATA[Settebello]]></dc:creator>
      <content:encoded><![CDATA[<p>For those of us who value sovereignty in our digital lives, the control extends beyond our finances into our daily tools. We run our own nodes, manage our own keys, and seek to minimize our reliance on third-party services. Yet, a seemingly mundane part of life—managing recipes—often remains shackled to cloud services, tracking, and proprietary platforms.</p>
<p>Enter Mealie. It's a self-hosted recipe manager and meal planner built for privacy and control. It's the perfect addition to the sovereign homestead's digital toolkit, putting your culinary data back where it belongs: under your ownership.</p>
<h2>Why Self-Host Your Recipes?</h2>
<p>Before we dive into the "how," let's cover the "why." As a Bitcoiner or Monero enthusiast, you already understand the principles:</p>
<ul>
<li><strong>Data Ownership:</strong> Your recipes, meal plans, and shopping lists are your data. With Mealie, they are stored in a database you control, on hardware you control. No company can mine this data, sell it, or lock you out of your own account.</li>
<li><strong>Privacy:</strong> No tracking pixels, no analytics, no "smart" recommendations based on your dietary habits. Your cooking habits remain private.</li>
<li><strong>Censorship Resistance:</strong> Your service can't be de-platformed. As long as your server runs, Mealie runs.</li>
<li><strong>Offline-First Mindset:</strong> Hosted on your local network, Mealie is fast and accessible even when your internet connection is flaky. It's a truly resilient system.</li>
<li><strong>Customization and Control:</strong> You control the environment, the backups, and the integrations.</li>
</ul>
<h2>Installing Mealie with Docker Compose</h2>
<p>For a bare metal server, Docker Compose is the cleanest and most manageable way to deploy Mealie. It isolates the application and its dependencies, making updates and maintenance straightforward.</p>
<p>This guide assumes you have a server running a Linux distribution with Docker and Docker Compose installed.</p>
<h3>Step 1: Create the Project Directory</h3>
<p>SSH into your server and create a dedicated directory for Mealie.</p>
<pre><code class="language-bash">mkdir mealie
cd mealie
</code></pre>
<h3>Step 2: Create the ,<code>docker-compose.yml</code>, File</h3>
<p>This file defines the Mealie service and its configuration. Create a new file named <code>docker-compose.yml</code> and paste the following content into it.</p>
<pre><code class="language-yaml">version: '3.8'

services:
  mealie:
    image: hkotel/mealie:latest
    container_name: mealie
    restart: unless-stopped
    ports:
      - "80:80" # Exposes Mealie on port 80. Change if needed.
    volumes:
      - ./data:/app/data/ # Persists all Mealie data.
    environment:
      # 
      # Using SQLite is the simplest for a single-user setup.
      # For multi-user or more robust setups, consider PostgreSQL.
      DB_TYPE: sqlite
      # 
      # The default API token for the initial setup. Change this immediately.
      DEFAULT_EMAIL: admin@example.com
      # 
      # Set your initial admin credentials.
      # These are only used on first run if the database is empty.
      # IMPORTANT: Change these before your first run!
      INITIAL_ADMIN_EMAIL: your-admin@email.com
      INITIAL_ADMIN_PASSWORD: your-secure-password
</code></pre>
<p><strong>Key Configuration Points:</strong></p>
<ul>
<li><p><code>ports</code>: This maps port 80 on your host to the Mealie container. If you have another service using port 80 (like a reverse proxy), change the host port (e.g., <code>"8090:80"</code>).</p>
</li>
<li><p><code>volumes</code>: This is crucial. It maps the <code>./data</code> directory on your host to the <code>/app/data</code> directory inside the container. This is where all your recipes, user data, and the database will live. <strong>Back up this directory regularly.</strong></p>
</li>
<li><p><code>environment</code>:</p>
</li>
<li><p><code>DEFAULT_EMAIL</code>: This is the default email for API access. It's good practice to set it to your admin email.</p>
</li>
<li><p><code>INITIAL_ADMIN_EMAIL</code> &amp; <code>INITIAL_ADMIN_PASSWORD</code>: <strong>Change these now.</strong> These credentials are used to create the first administrator account the first time Mealie starts up. After the initial setup, these variables are ignored.</p>
</li>
</ul>
<h3>Step 3: Launch Mealie</h3>
<p>With the <code>docker-compose.yml</code> file in place, you can start the service.</p>
<pre><code class="language-bash">docker-compose up -d
</code></pre>
<p>The <code>-d</code> flag runs the container in detached mode (in the background). Docker will pull the latest Mealie image and start the container. This may take a few minutes on the first run as it initializes the database.</p>
<h3>Step 4: Initial Setup and Hardening</h3>
<ol>
<li>Navigate to <code>http://your-server-ip</code> in your browser.</li>
<li>You should see the Mealie setup screen. Create your admin account using the <code>INITIAL_ADMIN_EMAIL</code> and <code>INITIAL_ADMIN_PASSWORD</code> you set in the compose file.</li>
<li>Once logged in, immediately go to the Admin Settings and change the default API token (<code>DEFAULT_EMAIL</code>).</li>
<li>Explore the settings and configure Mealie to your liking.</li>
</ol>
<p>Your sovereign recipe manager is now running.</p>
<hr>
<h2>Understanding the Recipe JSON Structure</h2>
<p>One of Mealie's most powerful features for the sovereignty-minded is its transparent and structured data format. Recipes are stored as simple JSON objects, making them easy to back up, edit manually, and even script. This is the antithesis of opaque, proprietary formats.</p>
<p>Here is an overview of the main sections in a recipe's JSON structure. You can view this by editing any recipe in Mealie and looking at its raw data.</p>
<h3>Core Recipe Object</h3>
<pre><code class="language-json">{
  "name": "Classic Beef Tacos",
  "description": "A simple and flavorful ground beef taco recipe.",
  "image": "images/recipes/12345678-1234-1234-1234-123456789012.jpg",
  "recipeYield": "4 servings",
  "recipeIngredient": [
    "1 lb ground beef",
    "1 packet taco seasoning",
    "1/2 cup water",
    "8 taco shells",
    "1 cup shredded cheese",
    "1 cup shredded lettuce",
    "1 tomato, diced",
    "1/2 cup sour cream"
  ],
  "recipeInstructions": [
    {
      "text": "Brown the ground beef in a skillet over medium-high heat."
    },
    {
      "text": "Drain the excess fat from the skillet."
    },
    {
      "text": "Add the taco seasoning and water to the beef. Stir and simmer until thickened."
    },
    {
      "text": "Warm the taco shells according to package directions."
    },
    {
      "text": "Fill the shells with the beef mixture and top with your favorite toppings."
    }
  ],
  "nutrition": {
    "calories": "350 kcal",
    "proteinContent": "25 g"
  },
  "orgURL": "https://example.com/original-recipe",
  "categories": ["Main Dish", "Beef", "Mexican"],
  "tags": ["quick", "weeknight", "kid-friendly"]
}
</code></pre>
<h3>Key JSON Fields Breakdown</h3>
<ul>
<li><code>name</code>: The title of your recipe.</li>
<li><code>description</code>: A short summary or notes about the recipe.</li>
<li><code>image</code>: A relative path to the recipe's image file, stored within your <code>./data</code> volume.</li>
<li><code>recipeYield</code>: How much the recipe makes (e.g., "4 servings", "1 loaf").</li>
<li><code>recipeIngredient</code>: An array of strings, where each string is a single ingredient. This is perfect for parsing into a shopping list.</li>
<li><code>recipeInstructions</code>: An array of instruction objects. Each object has a <code>text</code> field containing a step. This structured approach is far superior to a single block of text.</li>
<li><code>nutrition</code>: An object containing nutritional information like calories, protein, fat, etc. All are optional.</li>
<li><code>orgURL</code>: If you imported the recipe from a website, Mealie keeps a link to the original source.</li>
<li><code>categories</code>: An array of strings for broad categorization (e.g., "Dessert", "Dinner").</li>
<li><code>tags</code>: An array of strings for more specific, searchable tags (e.g., "gluten-free", "spicy", "grilling").</li>
</ul>
<p>This simple, human-readable structure is the foundation of Mealie's power. You can export your entire recipe collection as a single JSON file, providing a true, vendor-agnostic backup of your culinary knowledge.</p>
]]></content:encoded>
      <itunes:author><![CDATA[Settebello]]></itunes:author>
      <itunes:summary><![CDATA[<p>For those of us who value sovereignty in our digital lives, the control extends beyond our finances into our daily tools. We run our own nodes, manage our own keys, and seek to minimize our reliance on third-party services. Yet, a seemingly mundane part of life—managing recipes—often remains shackled to cloud services, tracking, and proprietary platforms.</p>
<p>Enter Mealie. It's a self-hosted recipe manager and meal planner built for privacy and control. It's the perfect addition to the sovereign homestead's digital toolkit, putting your culinary data back where it belongs: under your ownership.</p>
<h2>Why Self-Host Your Recipes?</h2>
<p>Before we dive into the "how," let's cover the "why." As a Bitcoiner or Monero enthusiast, you already understand the principles:</p>
<ul>
<li><strong>Data Ownership:</strong> Your recipes, meal plans, and shopping lists are your data. With Mealie, they are stored in a database you control, on hardware you control. No company can mine this data, sell it, or lock you out of your own account.</li>
<li><strong>Privacy:</strong> No tracking pixels, no analytics, no "smart" recommendations based on your dietary habits. Your cooking habits remain private.</li>
<li><strong>Censorship Resistance:</strong> Your service can't be de-platformed. As long as your server runs, Mealie runs.</li>
<li><strong>Offline-First Mindset:</strong> Hosted on your local network, Mealie is fast and accessible even when your internet connection is flaky. It's a truly resilient system.</li>
<li><strong>Customization and Control:</strong> You control the environment, the backups, and the integrations.</li>
</ul>
<h2>Installing Mealie with Docker Compose</h2>
<p>For a bare metal server, Docker Compose is the cleanest and most manageable way to deploy Mealie. It isolates the application and its dependencies, making updates and maintenance straightforward.</p>
<p>This guide assumes you have a server running a Linux distribution with Docker and Docker Compose installed.</p>
<h3>Step 1: Create the Project Directory</h3>
<p>SSH into your server and create a dedicated directory for Mealie.</p>
<pre><code class="language-bash">mkdir mealie
cd mealie
</code></pre>
<h3>Step 2: Create the ,<code>docker-compose.yml</code>, File</h3>
<p>This file defines the Mealie service and its configuration. Create a new file named <code>docker-compose.yml</code> and paste the following content into it.</p>
<pre><code class="language-yaml">version: '3.8'

services:
  mealie:
    image: hkotel/mealie:latest
    container_name: mealie
    restart: unless-stopped
    ports:
      - "80:80" # Exposes Mealie on port 80. Change if needed.
    volumes:
      - ./data:/app/data/ # Persists all Mealie data.
    environment:
      # 
      # Using SQLite is the simplest for a single-user setup.
      # For multi-user or more robust setups, consider PostgreSQL.
      DB_TYPE: sqlite
      # 
      # The default API token for the initial setup. Change this immediately.
      DEFAULT_EMAIL: admin@example.com
      # 
      # Set your initial admin credentials.
      # These are only used on first run if the database is empty.
      # IMPORTANT: Change these before your first run!
      INITIAL_ADMIN_EMAIL: your-admin@email.com
      INITIAL_ADMIN_PASSWORD: your-secure-password
</code></pre>
<p><strong>Key Configuration Points:</strong></p>
<ul>
<li><p><code>ports</code>: This maps port 80 on your host to the Mealie container. If you have another service using port 80 (like a reverse proxy), change the host port (e.g., <code>"8090:80"</code>).</p>
</li>
<li><p><code>volumes</code>: This is crucial. It maps the <code>./data</code> directory on your host to the <code>/app/data</code> directory inside the container. This is where all your recipes, user data, and the database will live. <strong>Back up this directory regularly.</strong></p>
</li>
<li><p><code>environment</code>:</p>
</li>
<li><p><code>DEFAULT_EMAIL</code>: This is the default email for API access. It's good practice to set it to your admin email.</p>
</li>
<li><p><code>INITIAL_ADMIN_EMAIL</code> &amp; <code>INITIAL_ADMIN_PASSWORD</code>: <strong>Change these now.</strong> These credentials are used to create the first administrator account the first time Mealie starts up. After the initial setup, these variables are ignored.</p>
</li>
</ul>
<h3>Step 3: Launch Mealie</h3>
<p>With the <code>docker-compose.yml</code> file in place, you can start the service.</p>
<pre><code class="language-bash">docker-compose up -d
</code></pre>
<p>The <code>-d</code> flag runs the container in detached mode (in the background). Docker will pull the latest Mealie image and start the container. This may take a few minutes on the first run as it initializes the database.</p>
<h3>Step 4: Initial Setup and Hardening</h3>
<ol>
<li>Navigate to <code>http://your-server-ip</code> in your browser.</li>
<li>You should see the Mealie setup screen. Create your admin account using the <code>INITIAL_ADMIN_EMAIL</code> and <code>INITIAL_ADMIN_PASSWORD</code> you set in the compose file.</li>
<li>Once logged in, immediately go to the Admin Settings and change the default API token (<code>DEFAULT_EMAIL</code>).</li>
<li>Explore the settings and configure Mealie to your liking.</li>
</ol>
<p>Your sovereign recipe manager is now running.</p>
<hr>
<h2>Understanding the Recipe JSON Structure</h2>
<p>One of Mealie's most powerful features for the sovereignty-minded is its transparent and structured data format. Recipes are stored as simple JSON objects, making them easy to back up, edit manually, and even script. This is the antithesis of opaque, proprietary formats.</p>
<p>Here is an overview of the main sections in a recipe's JSON structure. You can view this by editing any recipe in Mealie and looking at its raw data.</p>
<h3>Core Recipe Object</h3>
<pre><code class="language-json">{
  "name": "Classic Beef Tacos",
  "description": "A simple and flavorful ground beef taco recipe.",
  "image": "images/recipes/12345678-1234-1234-1234-123456789012.jpg",
  "recipeYield": "4 servings",
  "recipeIngredient": [
    "1 lb ground beef",
    "1 packet taco seasoning",
    "1/2 cup water",
    "8 taco shells",
    "1 cup shredded cheese",
    "1 cup shredded lettuce",
    "1 tomato, diced",
    "1/2 cup sour cream"
  ],
  "recipeInstructions": [
    {
      "text": "Brown the ground beef in a skillet over medium-high heat."
    },
    {
      "text": "Drain the excess fat from the skillet."
    },
    {
      "text": "Add the taco seasoning and water to the beef. Stir and simmer until thickened."
    },
    {
      "text": "Warm the taco shells according to package directions."
    },
    {
      "text": "Fill the shells with the beef mixture and top with your favorite toppings."
    }
  ],
  "nutrition": {
    "calories": "350 kcal",
    "proteinContent": "25 g"
  },
  "orgURL": "https://example.com/original-recipe",
  "categories": ["Main Dish", "Beef", "Mexican"],
  "tags": ["quick", "weeknight", "kid-friendly"]
}
</code></pre>
<h3>Key JSON Fields Breakdown</h3>
<ul>
<li><code>name</code>: The title of your recipe.</li>
<li><code>description</code>: A short summary or notes about the recipe.</li>
<li><code>image</code>: A relative path to the recipe's image file, stored within your <code>./data</code> volume.</li>
<li><code>recipeYield</code>: How much the recipe makes (e.g., "4 servings", "1 loaf").</li>
<li><code>recipeIngredient</code>: An array of strings, where each string is a single ingredient. This is perfect for parsing into a shopping list.</li>
<li><code>recipeInstructions</code>: An array of instruction objects. Each object has a <code>text</code> field containing a step. This structured approach is far superior to a single block of text.</li>
<li><code>nutrition</code>: An object containing nutritional information like calories, protein, fat, etc. All are optional.</li>
<li><code>orgURL</code>: If you imported the recipe from a website, Mealie keeps a link to the original source.</li>
<li><code>categories</code>: An array of strings for broad categorization (e.g., "Dessert", "Dinner").</li>
<li><code>tags</code>: An array of strings for more specific, searchable tags (e.g., "gluten-free", "spicy", "grilling").</li>
</ul>
<p>This simple, human-readable structure is the foundation of Mealie's power. You can export your entire recipe collection as a single JSON file, providing a true, vendor-agnostic backup of your culinary knowledge.</p>
]]></itunes:summary>
      <itunes:image href="https://blossom.band/77c24db3580d375095589f8bcd1f077320665dcc247801a669ec2839b1a83522.png"/>
      </item>
      
      <item>
      <title><![CDATA[The Sovereign Author - Building a Nostr Publishing Pipeline with Tailscale]]></title>
      <description><![CDATA[Imagine a workflow where your notes are never trapped in a corporate silo, your ideas are backed up on hardware you physically own, and your connection to that hardware is private and seamless. This is the promise of a truly sovereign authoring stack, built on your own terms.

This guide will walk you through the three architectural pillars of this system: a personal database running on your own server, your Obsidian vault for writing, and the Nostr network for publishing. We will focus on the high-level concepts, using Tailscale to create a simple, private network that eliminates the need for complex DNS and HTTPS certificates.]]></description>
             <itunes:subtitle><![CDATA[Imagine a workflow where your notes are never trapped in a corporate silo, your ideas are backed up on hardware you physically own, and your connection to that hardware is private and seamless. This is the promise of a truly sovereign authoring stack, built on your own terms.

This guide will walk you through the three architectural pillars of this system: a personal database running on your own server, your Obsidian vault for writing, and the Nostr network for publishing. We will focus on the high-level concepts, using Tailscale to create a simple, private network that eliminates the need for complex DNS and HTTPS certificates.]]></itunes:subtitle>
      <pubDate>Tue, 30 Dec 2025 23:45:58 GMT</pubDate>
      <link>https://settebello.npub.pro/post/1281812a/</link>
      <comments>https://settebello.npub.pro/post/1281812a/</comments>
      <guid isPermaLink="false">naddr1qqyrzv3cxyurzvnpqgszpcta6rkphvyry6ywwwdd39cf6praav37652xsgh0m5kj9tjsf4crqsqqqa28tmd738</guid>
      <category>#nostr</category>
      
        <media:content url="https://blossom.band/8c00acb866807b2607be11b96cab7dfafc17ae79326e603be4a6093fa55dfced.png" medium="image"/>
        <enclosure 
          url="https://blossom.band/8c00acb866807b2607be11b96cab7dfafc17ae79326e603be4a6093fa55dfced.png" length="0" 
          type="image/png" 
        />
      <noteId>naddr1qqyrzv3cxyurzvnpqgszpcta6rkphvyry6ywwwdd39cf6praav37652xsgh0m5kj9tjsf4crqsqqqa28tmd738</noteId>
      <npub>npub1yrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsp0ja94</npub>
      <dc:creator><![CDATA[Settebello]]></dc:creator>
      <content:encoded><![CDATA[<h2>Part 1: The Secure Foundation – Your Self-Hosted CouchDB on Your Own Server</h2>
<p>The first piece of our infrastructure is a personal database running on a server that you control. Think of this as your digital filing cabinet, sitting right in your own home or office.</p>
<ul>
<li><strong>What it is:</strong> We'll use a database server called CouchDB. It's lightweight, reliable for storing documents, and designed for replication—the perfect partner for syncing your notes.</li>
<li><strong>How it's hosted:</strong> You will run CouchDB on your own server. This could be a spare desktop computer, a dedicated small-form-factor PC, or a single-board computer like a Raspberry Pi. The key is that the hardware is yours.</li>
<li><strong>How it's secured:</strong> This is where we break from traditional methods. Instead of dealing with public IP addresses, domain names, and complex HTTPS certificates, we will use <strong>Tailscale</strong>. Tailscale creates a private, encrypted network between your devices, kind of like your own personal internet. Your laptop and your office server will be on this "Tailnet," allowing them to communicate securely without ever exposing your database to the public internet.</li>
</ul>
<p>The outcome of this stage is a secure, always-on database running on your own hardware, accessible only to you.</p>
<h2>Part 2: The Private Bridge – Connecting Obsidian via Tailscale</h2>
<p>With a secure filing cabinet in place on your Tailnet, the next step is to connect your Obsidian vault to it. This bridge uses your private Tailscale network, making the connection both simple and incredibly secure.</p>
<ul>
<li><strong>The Tool:</strong> We will use the "LiveSync" plugin for Obsidian. This is the specialized tool that knows how to talk to a CouchDB database.</li>
<li><strong>The Concept:</strong> After you've installed Tailscale on both your writing computer and your server, they can see each other using simple, private names. LiveSync will connect to your CouchDB instance through this secure Tailscale tunnel. It works in the background, automatically sending any new notes or changes you make in Obsidian directly to your server.</li>
<li><strong>The Magic of Sync:</strong> This remains a two-way street. It keeps your local vault and the remote database perfectly in sync. Whether you edit on your laptop or a desktop in another room, LiveSync ensures all your data is consistent and backed up on your own server, all traffic protected by Tailscale's end-to-end encryption.</li>
</ul>
<p>The outcome of this stage is a continuously backed-up Obsidian vault, with your data flowing securely over a private network to your own physical hardware.</p>
<h2>Part 3: The Public Megaphone – Publishing from Obsidian to Nostr</h2>
<p>Your thoughts are now safe, synchronized, and completely under your control on your own infrastructure. The final step is to turn select parts of that private vault into a public broadcast for the decentralized web.</p>
<ul>
<li><strong>The Plugin:</strong> We will install the "Nostr Writer" plugin into Obsidian. Its sole purpose is to format your notes and publish them to the Nostr network as permanent articles.</li>
<li><strong>The Protocol:</strong> Nostr is a decentralized, censorship-resistant social protocol. When you publish, your content is distributed across thousands of relays run by different people around the world. It effectively cannot be de-platformed or removed.</li>
<li><strong>The Workflow:</strong> The process is beautifully simple. You write an article within your synced vault. You add a small block of metadata at the top of the note (called frontmatter) to specify its title, summary, and tags. Then, with a single command from within Obsidian, the Nostr Writer plugin sends that note out to the Nostr network as a long-form, immutable event.</li>
</ul>
<p>The outcome is the ultimate goal: a thought born in your private mind, organized in your private vault on your private network, is now broadcast to the entire world as a permanent public record—all on your own terms and without ever leaving the comfort of your editor.</p>
<h2>Conclusion: You Hold the Hardware and the Keys</h2>
<p>By leveraging your own server and the simplicity of Tailscale, you have built a system that is the epitome of data sovereignty. Your work is private by default, backed up on hardware you own, and instantly publishable on your own terms. You are no longer just a writer; you are the master of your digital domain, from the steel of your server to the fabric of the decentralized internet.</p>
]]></content:encoded>
      <itunes:author><![CDATA[Settebello]]></itunes:author>
      <itunes:summary><![CDATA[<h2>Part 1: The Secure Foundation – Your Self-Hosted CouchDB on Your Own Server</h2>
<p>The first piece of our infrastructure is a personal database running on a server that you control. Think of this as your digital filing cabinet, sitting right in your own home or office.</p>
<ul>
<li><strong>What it is:</strong> We'll use a database server called CouchDB. It's lightweight, reliable for storing documents, and designed for replication—the perfect partner for syncing your notes.</li>
<li><strong>How it's hosted:</strong> You will run CouchDB on your own server. This could be a spare desktop computer, a dedicated small-form-factor PC, or a single-board computer like a Raspberry Pi. The key is that the hardware is yours.</li>
<li><strong>How it's secured:</strong> This is where we break from traditional methods. Instead of dealing with public IP addresses, domain names, and complex HTTPS certificates, we will use <strong>Tailscale</strong>. Tailscale creates a private, encrypted network between your devices, kind of like your own personal internet. Your laptop and your office server will be on this "Tailnet," allowing them to communicate securely without ever exposing your database to the public internet.</li>
</ul>
<p>The outcome of this stage is a secure, always-on database running on your own hardware, accessible only to you.</p>
<h2>Part 2: The Private Bridge – Connecting Obsidian via Tailscale</h2>
<p>With a secure filing cabinet in place on your Tailnet, the next step is to connect your Obsidian vault to it. This bridge uses your private Tailscale network, making the connection both simple and incredibly secure.</p>
<ul>
<li><strong>The Tool:</strong> We will use the "LiveSync" plugin for Obsidian. This is the specialized tool that knows how to talk to a CouchDB database.</li>
<li><strong>The Concept:</strong> After you've installed Tailscale on both your writing computer and your server, they can see each other using simple, private names. LiveSync will connect to your CouchDB instance through this secure Tailscale tunnel. It works in the background, automatically sending any new notes or changes you make in Obsidian directly to your server.</li>
<li><strong>The Magic of Sync:</strong> This remains a two-way street. It keeps your local vault and the remote database perfectly in sync. Whether you edit on your laptop or a desktop in another room, LiveSync ensures all your data is consistent and backed up on your own server, all traffic protected by Tailscale's end-to-end encryption.</li>
</ul>
<p>The outcome of this stage is a continuously backed-up Obsidian vault, with your data flowing securely over a private network to your own physical hardware.</p>
<h2>Part 3: The Public Megaphone – Publishing from Obsidian to Nostr</h2>
<p>Your thoughts are now safe, synchronized, and completely under your control on your own infrastructure. The final step is to turn select parts of that private vault into a public broadcast for the decentralized web.</p>
<ul>
<li><strong>The Plugin:</strong> We will install the "Nostr Writer" plugin into Obsidian. Its sole purpose is to format your notes and publish them to the Nostr network as permanent articles.</li>
<li><strong>The Protocol:</strong> Nostr is a decentralized, censorship-resistant social protocol. When you publish, your content is distributed across thousands of relays run by different people around the world. It effectively cannot be de-platformed or removed.</li>
<li><strong>The Workflow:</strong> The process is beautifully simple. You write an article within your synced vault. You add a small block of metadata at the top of the note (called frontmatter) to specify its title, summary, and tags. Then, with a single command from within Obsidian, the Nostr Writer plugin sends that note out to the Nostr network as a long-form, immutable event.</li>
</ul>
<p>The outcome is the ultimate goal: a thought born in your private mind, organized in your private vault on your private network, is now broadcast to the entire world as a permanent public record—all on your own terms and without ever leaving the comfort of your editor.</p>
<h2>Conclusion: You Hold the Hardware and the Keys</h2>
<p>By leveraging your own server and the simplicity of Tailscale, you have built a system that is the epitome of data sovereignty. Your work is private by default, backed up on hardware you own, and instantly publishable on your own terms. You are no longer just a writer; you are the master of your digital domain, from the steel of your server to the fabric of the decentralized internet.</p>
]]></itunes:summary>
      <itunes:image href="https://blossom.band/8c00acb866807b2607be11b96cab7dfafc17ae79326e603be4a6093fa55dfced.png"/>
      </item>
      
      <item>
      <title><![CDATA[Hello from 7BLO]]></title>
      <description><![CDATA[My first NIP-23 article.]]></description>
             <itunes:subtitle><![CDATA[My first NIP-23 article.]]></itunes:subtitle>
      <pubDate>Tue, 29 Jul 2025 11:19:20 GMT</pubDate>
      <link>https://settebello.npub.pro/post/my-first-article/</link>
      <comments>https://settebello.npub.pro/post/my-first-article/</comments>
      <guid isPermaLink="false">naddr1qqgx67fdve5hyum594shyarfvdkx2q3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65w43gxxc</guid>
      <category></category>
      
      <noteId>naddr1qqgx67fdve5hyum594shyarfvdkx2q3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65w43gxxc</noteId>
      <npub>npub1yrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsp0ja94</npub>
      <dc:creator><![CDATA[Settebello]]></dc:creator>
      <content:encoded><![CDATA[<h1>Hello Nostr</h1>
<p>This content is posted using SimplePool!</p>
]]></content:encoded>
      <itunes:author><![CDATA[Settebello]]></itunes:author>
      <itunes:summary><![CDATA[<h1>Hello Nostr</h1>
<p>This content is posted using SimplePool!</p>
]]></itunes:summary>
      
      </item>
      
      <item>
      <title><![CDATA[Self Hosting: Portainer Server Installation]]></title>
      <description><![CDATA[It is easy to become quickly overwhelmed as you start installing different application on your Home Lab. It is for this reason that I try to install as much Docker container as possible. Installation and updates are a lot easier to do.

This article summarize how to quickly install the software Portainer. This software is used to manage and create docker containers and docker compose as well.]]></description>
             <itunes:subtitle><![CDATA[It is easy to become quickly overwhelmed as you start installing different application on your Home Lab. It is for this reason that I try to install as much Docker container as possible. Installation and updates are a lot easier to do.

This article summarize how to quickly install the software Portainer. This software is used to manage and create docker containers and docker compose as well.]]></itunes:subtitle>
      <pubDate>Thu, 20 Mar 2025 10:04:20 GMT</pubDate>
      <link>https://settebello.npub.pro/post/1742463179756/</link>
      <comments>https://settebello.npub.pro/post/1742463179756/</comments>
      <guid isPermaLink="false">naddr1qqxnzde5xg6rvve3xuunwdfkqgszpcta6rkphvyry6ywwwdd39cf6praav37652xsgh0m5kj9tjsf4crqsqqqa28vhffdk</guid>
      <category>selfhosting</category>
      
        <media:content url="https://i.nostr.build/oMDMv.png" medium="image"/>
        <enclosure 
          url="https://i.nostr.build/oMDMv.png" length="0" 
          type="image/png" 
        />
      <noteId>naddr1qqxnzde5xg6rvve3xuunwdfkqgszpcta6rkphvyry6ywwwdd39cf6praav37652xsgh0m5kj9tjsf4crqsqqqa28vhffdk</noteId>
      <npub>npub1yrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsp0ja94</npub>
      <dc:creator><![CDATA[Settebello]]></dc:creator>
      <content:encoded><![CDATA[<h3>Prerequisite</h3>
<ol>
<li><a href="https://habla.news/u/0xjogir@nostrplebs.com/dAEcxFC4zBUN7ciTJLPZa">Installing Ubuntu Server</a></li>
<li><a href="https://habla.news/u/0xjogir@nostrplebs.com/917064">Installing Docker on Linux Server</a></li>
</ol>
<h3>Installation</h3>
<p>Open a Terminal session and write the following command to make sure that Docker is running:</p>
<pre><code class="language-ruby">sudo systemctl status docker
</code></pre>
<p>You should get a screen with the docker.service as "running". To get back to command line do CTRL+C</p>
<p>Then, create the volume that Portainer Server will use to store its database:</p>
<pre><code class="language-ruby">sudo docker volume create portainer_data
</code></pre>
<p>You are now ready for the on-liner installation:</p>
<pre><code class="language-ruby">sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
</code></pre>
<p>To validate the installer, prompt the following command:</p>
<pre><code class="language-ruby">sudo docker ps
</code></pre>
<p>You should see Portainer's container running.</p>
<p>To access Portainer Server, go to the following adress:<br><np-embed url="https://localhost:9443"><a href="https://localhost:9443">https://localhost:9443</a></np-embed></p>
<p>Et voila!</p>
]]></content:encoded>
      <itunes:author><![CDATA[Settebello]]></itunes:author>
      <itunes:summary><![CDATA[<h3>Prerequisite</h3>
<ol>
<li><a href="https://habla.news/u/0xjogir@nostrplebs.com/dAEcxFC4zBUN7ciTJLPZa">Installing Ubuntu Server</a></li>
<li><a href="https://habla.news/u/0xjogir@nostrplebs.com/917064">Installing Docker on Linux Server</a></li>
</ol>
<h3>Installation</h3>
<p>Open a Terminal session and write the following command to make sure that Docker is running:</p>
<pre><code class="language-ruby">sudo systemctl status docker
</code></pre>
<p>You should get a screen with the docker.service as "running". To get back to command line do CTRL+C</p>
<p>Then, create the volume that Portainer Server will use to store its database:</p>
<pre><code class="language-ruby">sudo docker volume create portainer_data
</code></pre>
<p>You are now ready for the on-liner installation:</p>
<pre><code class="language-ruby">sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
</code></pre>
<p>To validate the installer, prompt the following command:</p>
<pre><code class="language-ruby">sudo docker ps
</code></pre>
<p>You should see Portainer's container running.</p>
<p>To access Portainer Server, go to the following adress:<br><np-embed url="https://localhost:9443"><a href="https://localhost:9443">https://localhost:9443</a></np-embed></p>
<p>Et voila!</p>
]]></itunes:summary>
      <itunes:image href="https://i.nostr.build/oMDMv.png"/>
      </item>
      
      <item>
      <title><![CDATA[Self Hosting : Installing Docker on Linux Server]]></title>
      <description><![CDATA[Installing Docker is monumental for your Home Lab. This quick article will give you all the steps required to do the installation and to test your installation as well.]]></description>
             <itunes:subtitle><![CDATA[Installing Docker is monumental for your Home Lab. This quick article will give you all the steps required to do the installation and to test your installation as well.]]></itunes:subtitle>
      <pubDate>Tue, 18 Mar 2025 19:46:48 GMT</pubDate>
      <link>https://settebello.npub.pro/post/917064/</link>
      <comments>https://settebello.npub.pro/post/917064/</comments>
      <guid isPermaLink="false">naddr1qqrrjvfhxqmrgq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65wcjgnhw</guid>
      <category>selfhosting</category>
      
        <media:content url="https://m.stacker.news/82818" medium="image"/>
        <enclosure 
          url="https://m.stacker.news/82818" length="0" 
          type="" 
        />
      <noteId>naddr1qqrrjvfhxqmrgq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65wcjgnhw</noteId>
      <npub>npub1yrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsp0ja94</npub>
      <dc:creator><![CDATA[Settebello]]></dc:creator>
      <content:encoded><![CDATA[<h3>Prerequisite</h3>
<ol>
<li><a href="https://habla.news/u/0xjogir@nostrplebs.com/dAEcxFC4zBUN7ciTJLPZa">Installing Ubuntu Server</a></li>
</ol>
<h3>Installation</h3>
<p>Open a Terminal session and write the following command:</p>
<pre><code class="language-ruby">sudo apt install docker.io
</code></pre>
<p>You will be ask permission to install and continue</p>
<pre><code class="language-ruby">y
</code></pre>
<h3>Validation of the installation</h3>
<p>To validate the installer, prompt the following command:</p>
<pre><code class="language-ruby">docker --version
</code></pre>
<p>You should get:</p>
<pre><code class="language-ruby">Docker version 26.1.3, build 26.1.3-0ubuntu1~24.04.1
</code></pre>
<p>To test if it is running, prompt the following command:</p>
<pre><code class="language-ruby">sudo systemctl status docker
</code></pre>
<p>You should get a screen with the docker.service as "running".<br>To get back to command line do CTRL+C</p>
<h3>Test Installation</h3>
<p>To make sure that everything runs smoothly, write the following command:</p>
<pre><code class="language-ruby">sudo docker run hello-world
</code></pre>
<p>You should get a Hello from Docker.</p>
<p>You are ready to enjoy pulling docker images!</p>
<p>originally posted at <np-embed url="https://stacker.news/items/917064"><a href="https://stacker.news/items/917064">https://stacker.news/items/917064</a></np-embed></p>
]]></content:encoded>
      <itunes:author><![CDATA[Settebello]]></itunes:author>
      <itunes:summary><![CDATA[<h3>Prerequisite</h3>
<ol>
<li><a href="https://habla.news/u/0xjogir@nostrplebs.com/dAEcxFC4zBUN7ciTJLPZa">Installing Ubuntu Server</a></li>
</ol>
<h3>Installation</h3>
<p>Open a Terminal session and write the following command:</p>
<pre><code class="language-ruby">sudo apt install docker.io
</code></pre>
<p>You will be ask permission to install and continue</p>
<pre><code class="language-ruby">y
</code></pre>
<h3>Validation of the installation</h3>
<p>To validate the installer, prompt the following command:</p>
<pre><code class="language-ruby">docker --version
</code></pre>
<p>You should get:</p>
<pre><code class="language-ruby">Docker version 26.1.3, build 26.1.3-0ubuntu1~24.04.1
</code></pre>
<p>To test if it is running, prompt the following command:</p>
<pre><code class="language-ruby">sudo systemctl status docker
</code></pre>
<p>You should get a screen with the docker.service as "running".<br>To get back to command line do CTRL+C</p>
<h3>Test Installation</h3>
<p>To make sure that everything runs smoothly, write the following command:</p>
<pre><code class="language-ruby">sudo docker run hello-world
</code></pre>
<p>You should get a Hello from Docker.</p>
<p>You are ready to enjoy pulling docker images!</p>
<p>originally posted at <np-embed url="https://stacker.news/items/917064"><a href="https://stacker.news/items/917064">https://stacker.news/items/917064</a></np-embed></p>
]]></itunes:summary>
      <itunes:image href="https://m.stacker.news/82818"/>
      </item>
      
      <item>
      <title><![CDATA[The Basic of Cryptomining]]></title>
      <description><![CDATA[This Project will guide you how to build your own GPU mining rig to get some passive sats!]]></description>
             <itunes:subtitle><![CDATA[This Project will guide you how to build your own GPU mining rig to get some passive sats!]]></itunes:subtitle>
      <pubDate>Thu, 14 Dec 2023 11:11:41 GMT</pubDate>
      <link>https://settebello.npub.pro/post/tqfaso1r_mrjje9zegmv9/</link>
      <comments>https://settebello.npub.pro/post/tqfaso1r_mrjje9zegmv9/</comments>
      <guid isPermaLink="false">naddr1qq2hg52xg9e57v2jtak4yjn2v5u453t8f4mrjq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65w86pgvl</guid>
      <category></category>
      
        <media:content url="https://i.nostr.build/6GAG2.png" medium="image"/>
        <enclosure 
          url="https://i.nostr.build/6GAG2.png" length="0" 
          type="image/png" 
        />
      <noteId>naddr1qq2hg52xg9e57v2jtak4yjn2v5u453t8f4mrjq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65w86pgvl</noteId>
      <npub>npub1yrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsp0ja94</npub>
      <dc:creator><![CDATA[Settebello]]></dc:creator>
      <content:encoded><![CDATA[<p>Welcome!</p>
<p>In this project, I will guide you through the basics of cryptocurrency mining and how to get started.</p>
<p>First of all, sorry pals, mining cryptocurrencies will not make you rich. There will be no Lambo. It is easy to get caught up with Crypto Twitter and YouTube influencers. The reality is that in order to make a living mining crypto is to have sponsors.</p>
<p>Now that we got the boring part out of the way, you must wonder what the hell is crypto mining.</p>
<p>In a nutshell, crypto mining is using computing power to try solving an equation and get reward for the right answer. This Proof of Work (POW) is beneficial to the blockchain and contributes to increase its security. But you must wonder “how do I do this”? The answer is simple, you need a mining rig. Let’s build one together!</p>
<p>You don’t need any technical background, I will guide you and take your hand through this awesome journey. Here is a preview of what you will need and what will be discussed in some upcoming notes:</p>
<ul>
<li>Power Supply (PSU)</li>
<li>Motherboard (MOBO)</li>
<li>Memory Sticks (RAM)</li>
<li>Computer Processor (CPU)</li>
<li>Graphic Cards (GPU)</li>
<li>Operating System (OS)</li>
</ul>
<p>Don’t worry, I’ll let all this sink in and will explain more into details the relation between the hardware and tips on how to select it.</p>
<p>See you soon!</p>
]]></content:encoded>
      <itunes:author><![CDATA[Settebello]]></itunes:author>
      <itunes:summary><![CDATA[<p>Welcome!</p>
<p>In this project, I will guide you through the basics of cryptocurrency mining and how to get started.</p>
<p>First of all, sorry pals, mining cryptocurrencies will not make you rich. There will be no Lambo. It is easy to get caught up with Crypto Twitter and YouTube influencers. The reality is that in order to make a living mining crypto is to have sponsors.</p>
<p>Now that we got the boring part out of the way, you must wonder what the hell is crypto mining.</p>
<p>In a nutshell, crypto mining is using computing power to try solving an equation and get reward for the right answer. This Proof of Work (POW) is beneficial to the blockchain and contributes to increase its security. But you must wonder “how do I do this”? The answer is simple, you need a mining rig. Let’s build one together!</p>
<p>You don’t need any technical background, I will guide you and take your hand through this awesome journey. Here is a preview of what you will need and what will be discussed in some upcoming notes:</p>
<ul>
<li>Power Supply (PSU)</li>
<li>Motherboard (MOBO)</li>
<li>Memory Sticks (RAM)</li>
<li>Computer Processor (CPU)</li>
<li>Graphic Cards (GPU)</li>
<li>Operating System (OS)</li>
</ul>
<p>Don’t worry, I’ll let all this sink in and will explain more into details the relation between the hardware and tips on how to select it.</p>
<p>See you soon!</p>
]]></itunes:summary>
      <itunes:image href="https://i.nostr.build/6GAG2.png"/>
      </item>
      
      <item>
      <title><![CDATA[Project Roma: Installing Your Personal Electrum Server – Fulcrum]]></title>
      <description><![CDATA[The last step is to index Bitcoin Core in order to be able to connect your On Chain wallet to your node!]]></description>
             <itunes:subtitle><![CDATA[The last step is to index Bitcoin Core in order to be able to connect your On Chain wallet to your node!]]></itunes:subtitle>
      <pubDate>Thu, 14 Dec 2023 03:54:55 GMT</pubDate>
      <link>https://settebello.npub.pro/post/6lj-v5jxnfutrz7wgtsd9/</link>
      <comments>https://settebello.npub.pro/post/6lj-v5jxnfutrz7wgtsd9/</comments>
      <guid isPermaLink="false">naddr1qq2nvmz294mr26ncden924rj0gm4wem52dzrjq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65wpac4z9</guid>
      <category></category>
      
        <media:content url="https://i.nostr.build/QzEv.jpg" medium="image"/>
        <enclosure 
          url="https://i.nostr.build/QzEv.jpg" length="0" 
          type="image/jpeg" 
        />
      <noteId>naddr1qq2nvmz294mr26ncden924rj0gm4wem52dzrjq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65wpac4z9</noteId>
      <npub>npub1yrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsp0ja94</npub>
      <dc:creator><![CDATA[Settebello]]></dc:creator>
      <content:encoded><![CDATA[<h3>Prerequisite</h3>
<p><a href="https://yakihonne.com/article/naddr1qqxnzdesxgcrvvfcx56ngvecqgszpcta6rkphvyry6ywwwdd39cf6praav37652xsgh0m5kj9tjsf4crqsqqqa289fr52y">Your own Node hardware</a></p>
<p><a href="https://yakihonne.com/article/naddr1qq255nfnvvuxju2wv3kkgdmex9yh262cg46nyq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65we3h2hu">Installing &amp; Configuring Bitcoin Core</a></p>
<h3>1. Download the file</h3>
<p><em><strong>Go into your “home” directory and create the following folders</strong></em><br><code>mkdir fulcrum</code><br><code>mkdir fulcrum_db</code></p>
<p><em><strong>Go to the <a href="https://github.com/cculianu/Fulcrum/releases">Fulcrum Github release page</a> and download the latest release</strong></em><br><code>cd downloads</code></p>
<p><code>wget https://github.com/cculianu/Fulcrum/releases/download/v1.9.1/Fulcrum-1.9.1-x86_64-linux-ub16.tar.gz</code></p>
<p><code>wget https://github.com/cculianu/Fulcrum/releases/download/v1.9.1/Fulcrum-1.9.1-x86_64-linux-ub16.tar.gz.asc</code></p>
<p><code>sha256sum --ignore-missing --check SHA256SUMS</code></p>
<p><em><strong>Extract the file</strong></em><br><code>tar xvf Fulcrum-1.9.1-x86_64-linux-ub16.tar.gz</code></p>
<p><em><strong>Move the files to fulcrum folder</strong></em><br><code>mv Fulcrum-1.9.1-x86_64-linux-ub16/* /home/"user"/fulcrum</code><br><code>cd ..</code><br><code>cd fulcrum</code></p>
<h3>2. Creating the Key and Cert</h3>
<p><em><strong>Creating the keys</strong></em><br><code>openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem</code></p>
<p>Generating a RSA private key</p>
<p>Press "enter: for all the defaults parameters. The files keys.perm and cert.perm should have been created in your fulcrum folder.</p>
<h3>3. Configuration file</h3>
<p><em><strong>rename the config file</strong></em><br><code>mv fulcrum-example-config.conf fulcrum.conf</code></p>
<p><em><strong>Modify the config file</strong></em><br><code>nano fulcrum.conf</code></p>
<p>Change the following in the config file:</p>
<ul>
<li>Change path of the datadir: home/"username"/fulcrum_db</li>
<li>rpcuser: use the same one as the bitcoin.conf file</li>
<li>rpcpassword: use the one used for the rpcauthy while setting up the bitcoin.conf file</li>
<li>remove the # for the SSL= 0.0.0.0:50002</li>
<li>remove the # for the certificate and put correct path home/"username"/fulcrum/cert.pem</li>
<li>remove the # for the key and put correct path home/"username"/fulcrum/key.pem</li>
<li>remove the # for peering and change for peering=false</li>
<li>remove the # for fast-sync and change for what you are confortable fast-sync = 4000 (4g of ram)</li>
</ul>
<p>CTRL-X, Y, ENTER</p>
<h3>4.Creating the service file</h3>
<p><em><strong>Creating service file</strong></em><br><code>sudo nano /etc/systemd/system/fulcrum.service</code></p>
<p>Paste de following in the file and replace "user" by your server username.</p>
<blockquote>
<p>[Unit]<br>Description=Fulcrum After=network.target<br>[Service]<br>ExecStart=/home/"user"/fulcrum/Fulcrum /home/"user"/fulcrum/fulcrum.conf User="user"<br>LimitNOFILE=8192<br>TimeoutStopSec=30min<br>[Install]<br>WantedBy=multi-user.target</p>
</blockquote>
<p>CTRL+X, Y, Enter</p>
<p>***Start this service</p>
<p><code>sudo systemctl enable fulcrum.service</code><br><code>sudo systemctl start fulcrum.service</code><br><code>sudo systemctl status fulcrum.service</code></p>
<p><em><strong>To see the log</strong></em><br><code>journalctl -fu fulcrum.service</code></p>
<p>Et Voila!</p>
]]></content:encoded>
      <itunes:author><![CDATA[Settebello]]></itunes:author>
      <itunes:summary><![CDATA[<h3>Prerequisite</h3>
<p><a href="https://yakihonne.com/article/naddr1qqxnzdesxgcrvvfcx56ngvecqgszpcta6rkphvyry6ywwwdd39cf6praav37652xsgh0m5kj9tjsf4crqsqqqa289fr52y">Your own Node hardware</a></p>
<p><a href="https://yakihonne.com/article/naddr1qq255nfnvvuxju2wv3kkgdmex9yh262cg46nyq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65we3h2hu">Installing &amp; Configuring Bitcoin Core</a></p>
<h3>1. Download the file</h3>
<p><em><strong>Go into your “home” directory and create the following folders</strong></em><br><code>mkdir fulcrum</code><br><code>mkdir fulcrum_db</code></p>
<p><em><strong>Go to the <a href="https://github.com/cculianu/Fulcrum/releases">Fulcrum Github release page</a> and download the latest release</strong></em><br><code>cd downloads</code></p>
<p><code>wget https://github.com/cculianu/Fulcrum/releases/download/v1.9.1/Fulcrum-1.9.1-x86_64-linux-ub16.tar.gz</code></p>
<p><code>wget https://github.com/cculianu/Fulcrum/releases/download/v1.9.1/Fulcrum-1.9.1-x86_64-linux-ub16.tar.gz.asc</code></p>
<p><code>sha256sum --ignore-missing --check SHA256SUMS</code></p>
<p><em><strong>Extract the file</strong></em><br><code>tar xvf Fulcrum-1.9.1-x86_64-linux-ub16.tar.gz</code></p>
<p><em><strong>Move the files to fulcrum folder</strong></em><br><code>mv Fulcrum-1.9.1-x86_64-linux-ub16/* /home/"user"/fulcrum</code><br><code>cd ..</code><br><code>cd fulcrum</code></p>
<h3>2. Creating the Key and Cert</h3>
<p><em><strong>Creating the keys</strong></em><br><code>openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem</code></p>
<p>Generating a RSA private key</p>
<p>Press "enter: for all the defaults parameters. The files keys.perm and cert.perm should have been created in your fulcrum folder.</p>
<h3>3. Configuration file</h3>
<p><em><strong>rename the config file</strong></em><br><code>mv fulcrum-example-config.conf fulcrum.conf</code></p>
<p><em><strong>Modify the config file</strong></em><br><code>nano fulcrum.conf</code></p>
<p>Change the following in the config file:</p>
<ul>
<li>Change path of the datadir: home/"username"/fulcrum_db</li>
<li>rpcuser: use the same one as the bitcoin.conf file</li>
<li>rpcpassword: use the one used for the rpcauthy while setting up the bitcoin.conf file</li>
<li>remove the # for the SSL= 0.0.0.0:50002</li>
<li>remove the # for the certificate and put correct path home/"username"/fulcrum/cert.pem</li>
<li>remove the # for the key and put correct path home/"username"/fulcrum/key.pem</li>
<li>remove the # for peering and change for peering=false</li>
<li>remove the # for fast-sync and change for what you are confortable fast-sync = 4000 (4g of ram)</li>
</ul>
<p>CTRL-X, Y, ENTER</p>
<h3>4.Creating the service file</h3>
<p><em><strong>Creating service file</strong></em><br><code>sudo nano /etc/systemd/system/fulcrum.service</code></p>
<p>Paste de following in the file and replace "user" by your server username.</p>
<blockquote>
<p>[Unit]<br>Description=Fulcrum After=network.target<br>[Service]<br>ExecStart=/home/"user"/fulcrum/Fulcrum /home/"user"/fulcrum/fulcrum.conf User="user"<br>LimitNOFILE=8192<br>TimeoutStopSec=30min<br>[Install]<br>WantedBy=multi-user.target</p>
</blockquote>
<p>CTRL+X, Y, Enter</p>
<p>***Start this service</p>
<p><code>sudo systemctl enable fulcrum.service</code><br><code>sudo systemctl start fulcrum.service</code><br><code>sudo systemctl status fulcrum.service</code></p>
<p><em><strong>To see the log</strong></em><br><code>journalctl -fu fulcrum.service</code></p>
<p>Et Voila!</p>
]]></itunes:summary>
      <itunes:image href="https://i.nostr.build/QzEv.jpg"/>
      </item>
      
      <item>
      <title><![CDATA[How to create a bootable stick with Linux]]></title>
      <description><![CDATA[Creating a bootable stick with Linux is all about a single command line]]></description>
             <itunes:subtitle><![CDATA[Creating a bootable stick with Linux is all about a single command line]]></itunes:subtitle>
      <pubDate>Wed, 13 Dec 2023 02:50:01 GMT</pubDate>
      <link>https://settebello.npub.pro/post/qw5_8it8myt41b6rhxg00/</link>
      <comments>https://settebello.npub.pro/post/qw5_8it8myt41b6rhxg00/</comments>
      <guid isPermaLink="false">naddr1qq24z4e4tuuyjapcd4vhgdp3vgm9yjzcgucrqq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65w93d7c8</guid>
      <category></category>
      
        <media:content url="https://i.nostr.build/AaKqL.png" medium="image"/>
        <enclosure 
          url="https://i.nostr.build/AaKqL.png" length="0" 
          type="image/png" 
        />
      <noteId>naddr1qq24z4e4tuuyjapcd4vhgdp3vgm9yjzcgucrqq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65w93d7c8</noteId>
      <npub>npub1yrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsp0ja94</npub>
      <dc:creator><![CDATA[Settebello]]></dc:creator>
      <content:encoded><![CDATA[<p>In this article, we will learn how to create a bootable stick with only the commande line.</p>
<p>This is extremely useful for when you need to flash an image on a Stick.</p>
<p>This exemple will creat a bootable stick with the newest version of Ubuntu. I will be using this sitck in another article when I will upgrade my current laptop.</p>
<h4>Prerequisite</h4>
<ul>
<li>ubuntu-22.04.3-live-server-amd64.iso</li>
<li>Any version of Linux</li>
<li>USB Key</li>
</ul>
<h4>Let's Go!</h4>
<p>The first step is to see what is the correct path of the USB Key.<br>In order to do so, type the following commande without the USB Key</p>
<p><code>ls -1 /dev/sd?</code></p>
<p>I get this</p>
<blockquote>
<p>/dev/sda<br>/dev/sdb</p>
</blockquote>
<p>Afer, insert the USB Key and repeat</p>
<p><code>ls -1 /dev/sd?</code><br>I then get this</p>
<blockquote>
<p>/dev/sda<br>/dev/sdb<br>/dev/sdc</p>
</blockquote>
<p>The USB Key path is clearly <strong>/dev/sdc</strong></p>
<p>Now, all you need to put is a one liner command:</p>
<p><code>sudo dd bs=4M if=/path/to/file.iso of=/dev/sdc status=progress oflag=sync</code></p>
<p>Here <strong>/path/to/file.iso</strong> is simply the path to your file and <strong>/dev/sdc</strong> is the path to your USB that we have earlier determined.</p>
<p>To make things easier, I often go into the folder in which I have the ISO.<br><code>cd Downloads/Ubuntu</code></p>
<p>After, I am able to only write the image name</p>
<p><code>sudo dd bs=4M if=ubuntu-22.04.3-live-server-amd64.iso of=/dev/sdc status=progress oflag=sync</code></p>
<p>Et voila! No need for a special software! You can now create any bootable stick!</p>
]]></content:encoded>
      <itunes:author><![CDATA[Settebello]]></itunes:author>
      <itunes:summary><![CDATA[<p>In this article, we will learn how to create a bootable stick with only the commande line.</p>
<p>This is extremely useful for when you need to flash an image on a Stick.</p>
<p>This exemple will creat a bootable stick with the newest version of Ubuntu. I will be using this sitck in another article when I will upgrade my current laptop.</p>
<h4>Prerequisite</h4>
<ul>
<li>ubuntu-22.04.3-live-server-amd64.iso</li>
<li>Any version of Linux</li>
<li>USB Key</li>
</ul>
<h4>Let's Go!</h4>
<p>The first step is to see what is the correct path of the USB Key.<br>In order to do so, type the following commande without the USB Key</p>
<p><code>ls -1 /dev/sd?</code></p>
<p>I get this</p>
<blockquote>
<p>/dev/sda<br>/dev/sdb</p>
</blockquote>
<p>Afer, insert the USB Key and repeat</p>
<p><code>ls -1 /dev/sd?</code><br>I then get this</p>
<blockquote>
<p>/dev/sda<br>/dev/sdb<br>/dev/sdc</p>
</blockquote>
<p>The USB Key path is clearly <strong>/dev/sdc</strong></p>
<p>Now, all you need to put is a one liner command:</p>
<p><code>sudo dd bs=4M if=/path/to/file.iso of=/dev/sdc status=progress oflag=sync</code></p>
<p>Here <strong>/path/to/file.iso</strong> is simply the path to your file and <strong>/dev/sdc</strong> is the path to your USB that we have earlier determined.</p>
<p>To make things easier, I often go into the folder in which I have the ISO.<br><code>cd Downloads/Ubuntu</code></p>
<p>After, I am able to only write the image name</p>
<p><code>sudo dd bs=4M if=ubuntu-22.04.3-live-server-amd64.iso of=/dev/sdc status=progress oflag=sync</code></p>
<p>Et voila! No need for a special software! You can now create any bootable stick!</p>
]]></itunes:summary>
      <itunes:image href="https://i.nostr.build/AaKqL.png"/>
      </item>
      
      <item>
      <title><![CDATA[Project Roma : Installing & Configuring  Bitcoin Core]]></title>
      <description><![CDATA[This article will guide you step by step of how to install Bitcoin Core]]></description>
             <itunes:subtitle><![CDATA[This article will guide you step by step of how to install Bitcoin Core]]></itunes:subtitle>
      <pubDate>Tue, 12 Dec 2023 02:14:08 GMT</pubDate>
      <link>https://settebello.npub.pro/post/jm3c8iqndmd7y1iuixeu2/</link>
      <comments>https://settebello.npub.pro/post/jm3c8iqndmd7y1iuixeu2/</comments>
      <guid isPermaLink="false">naddr1qq255nfnvvuxju2wv3kkgdmex9yh262cg46nyq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65we3h2hu</guid>
      <category>Bitcoin</category>
      
        <media:content url="https://i.nostr.build/QzEv.jpg" medium="image"/>
        <enclosure 
          url="https://i.nostr.build/QzEv.jpg" length="0" 
          type="image/jpeg" 
        />
      <noteId>naddr1qq255nfnvvuxju2wv3kkgdmex9yh262cg46nyq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65we3h2hu</noteId>
      <npub>npub1yrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsp0ja94</npub>
      <dc:creator><![CDATA[Settebello]]></dc:creator>
      <content:encoded><![CDATA[<h2>Prerequisite</h2>
<ul>
<li>A dedicated computer</li>
<li>Ubuntu Server</li>
</ul>
<h3>1- Installing Bitcoin Core</h3>
<p>This section will be done remotely from another computer by connecting to your Node using SSH. Please follow previous Chapter to make sure your hardware is adequate, and you have followed Ubuntu Server installation.</p>
<p>***First of all, we will validate that the installation was done properly and that the Ubuntu installation was NOT setup as a virtual machine **</p>
<p><code>df -h</code></p>
<p><em><strong>Looking for updates</strong></em></p>
<p><code>sudo apt update</code></p>
<p><em><strong>Updating</strong></em></p>
<p><code>sudo apt upgrade</code></p>
<p><em><strong>Lets start by creating a “downloads” folder</strong></em></p>
<p><code>mkdir downloads</code></p>
<p>***Go in the downloads folder</p>
<p><code>cd downloads</code></p>
<p>It is now important to understand what you are about to do. There are different ways to install Bitcoin Core. My preferred way is to download the release from Bitcoin Core here  <np-embed url="https://bitcoincore.org/en/download/"><a href="https://bitcoincore.org/en/download/">https://bitcoincore.org/en/download/</a></np-embed><br> and do the GPG Key verification with the key list here <np-embed url="https://github.com/bitcoin/bitcoin/blob/master/contrib/verify-commits/trusted-keys"><a href="https://github.com/bitcoin/bitcoin/blob/master/contrib/verify-commits/trusted-keys">https://github.com/bitcoin/bitcoin/blob/master/contrib/verify-commits/trusted-keys</a></np-embed> on Github.</p>
<p><em><strong>Download the files from the Bitcoin Core website</strong></em></p>
<p><code>wget https://bitcoincore.org/bin/bitcoin-core-24.0.1/bitcoin-24.0.1-x86_64-linux-gnu.tar.gz</code></p>
<p><code>wget https://bitcoincore.org/bin/bitcoin-core-24.0.1/SHA256SUMS</code></p>
<p><code>wget https://bitcoincore.org/bin/bitcoin-core-24.0.1/SHA256SUMS.asc</code></p>
<p><em><strong>Validate that the release file is listed in the checksums file</strong></em></p>
<p><code>sha256sum --ignore-missing --check SHA256SUMS</code></p>
<p><em><strong>Use GPG to load keys locally from individuals found on the Github site</strong></em><br>Ignore any warning and failures, but you must be sure that the lists “OK” after the name of the release file downloaded</p>
<p><em><strong>Use GPG to load keys locally from individuals found on the Github site</strong></em></p>
<p><code>gpg --keyserver hkps://keys.openpgp.org --recv-keys E777299FC265DD04793070EB944D35F9AC3DB76A</code></p>
<p><code>gpg --keyserver hkps://keys.openpgp.org --recv-keys D1DBF2C4B96F2DEBF4C16654410108112E7EA81F</code></p>
<p><em><strong>Verify that the checksum file is verified</strong></em></p>
<p><code>gpg --verify SHA256SUMS.asc</code></p>
<p>You should receive a “Good signature” beside the name associated to the key</p>
<p><em><strong>Extract the tar file. It will create a folder called bitcoin-24.0.1 so it is important that you call it in the next command line.</strong></em></p>
<p><code>tar xzf bitcoin-24.0.1-x86_64-linux-gnu.tar.gz </code></p>
<p><em><strong>Install the content in the following directory. It is IMPORTANT that you write the correct folder name based on your release number. If you have installed the release 25.0, the folder name has to be bitcoin-25.0</strong></em></p>
<p><code>sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-24.0.1/bin/*</code></p>
<p><em><strong>Cross your fingers and launch Bitcoin Core</strong></em></p>
<p><code>bitcoind -daemon</code></p>
<p>***Get blockchain info to see which block your node is at</p>
<p><code>bitcoin-cli getblockchaininfo</code></p>
<p><em><strong>Validate your node is connected to how many peers</strong></em></p>
<p><code>bitcoin-cli getconnectioncount</code></p>
<p>***If you want to follow the log of your node synchronization, you should open secondary Terminal window and write the following command</p>
<p><code>tail -f .bitcoin/debug.log</code></p>
<h3>2. Configuring Bitcoin Core</h3>
<p>While the blockchain is synchronizing, you can start the configuration. In order to be fully synchronized, it will take approximately 18 hours. I found a great tutorial on youtube here: <np-embed url="https://www.youtube.com/watch?v=fx_mLXISrfM"><a href="https://www.youtube.com/watch?v=fx_mLXISrfM">https://www.youtube.com/watch?v=fx_mLXISrfM</a></np-embed></p>
<p><em><strong>Open a new therminal window and go to the /.bitcoin folder</strong></em></p>
<p><code>cd /.bitcoin  </code></p>
<p>*** We need to create a new configuration file***</p>
<p><code>nano bitcoin.conf</code></p>
<p><em><strong>Paste de following text in the bitcoin.conf file</strong></em></p>
<blockquote>
<p>server=1<br>txindex=1<br>daemon=1<br>rpcport=8332<br>rpcbind=0.0.0.0<br>rpcallowip=127.0.0.1<br>rpcallowip=10.0.0.0/8<br>rpcallowip=172.0.0.0/8<br>rpcallowip=192.0.0.0/8<br>zmqpubrawblock=tcp://0.0.0.0:28332<br>zmqpubrawtx=tcp://0.0.0.0:28333<br>zmqpubhashblock=tcp://0.0.0.0:28334<br>whitelist=127.0.0.1<br>rpcauth="username":[output of rpcauth.py]</p>
</blockquote>
<p><em><strong>Keep this terminal window open and go back to the main window</strong></em></p>
<p>We will create a username and password for the RPC Authentification of the bitcoin.conf file we have created in the other terminal window and modify it</p>
<p><em><strong>In the original terminal window, be sure you are in your “downloads” folder</strong></em></p>
<p><code>cd downloads</code></p>
<p>*** In order to add a "username" and "password" to access to your node, go to Github.com/bitcoin/bitcoin and search for rpcauth.py. Go to the raw file and copy the link***</p>
<p><code>wget https://github.com/bitcoin/bitcoin/blob/master/share/rpcauth/rpcauth.py</code></p>
<p><em><strong>Make the file executable</strong></em><br><code>chmod +x rpcauth.py</code></p>
<p><em><strong>Execute the file with a "username" &amp; "password" at the end of the command line</strong></em><br><code>./rpcauth.py "username" "password"</code></p>
<p><em><strong>Copy the string and paste it in the configuration file of the auxiliary termina window</strong></em></p>
<p>Modify the "username" and "password" in the bitcon.conf file</p>
<blockquote>
<p>#Output for your username and password<br>rpcauth="username":[output of rpcauth.py]</p>
</blockquote>
<p>CTRL+X and save Yes </p>
<p><em><strong>Restart your node</strong></em><br><code>Bitcoin-cli stop</code><br><code>Bitcoind</code></p>
<h3>3.Creating the service file for automatic boot on start-up</h3>
<p>*** Go back to Github.com/bitcoin/bitcoin and search for .service file. <np-embed url="https://raw.githubusercontent.com/bitcoin/bitcoin/663f6cd9ddadeec30b27ec12f0f5ed49f3146cc9/contrib/init/bitcoind.service"><a href="https://raw.githubusercontent.com/bitcoin/bitcoin/663f6cd9ddadeec30b27ec12f0f5ed49f3146cc9/contrib/init/bitcoind.service">https://raw.githubusercontent.com/bitcoin/bitcoin/663f6cd9ddadeec30b27ec12f0f5ed49f3146cc9/contrib/init/bitcoind.service</a></np-embed>***</p>
<p><em><strong>Important note: The new service file does not work properly. The link above is for the service file from 2021</strong></em></p>
<p><em><strong>Download the .service file in your systemd folder</strong></em><br><code>cd /etc/systemd/system</code></p>
<p><code>sudo wget https://raw.githubusercontent.com/bitcoin/bitcoin/663f6cd9ddadeec30b27ec12f0f5ed49f3146cc9/contrib/init/bitcoind.service</code></p>
<p><code>sudo nano bitcoind.service</code></p>
<p><em><strong>Change the file</strong></em></p>
<p>In the [service] section, make the following changes:</p>
<pre><code>• Make sure that the “ExecStart” has the right path for the folder “bitcoind” on the same line as “daemonwait” (you can verify the path in another terminal with the command “whereis bitcoind”)
• you need to remove the “wait” in -daemonwait to have only -daemon
• Make sure that the bitcoin.conf file has the right path. 
• Change also the path for the datadir.
• Put a # in front of ExecStartPre=
• Change “user” and “group” for the actual user of the server instead of Bitcoin and Bitcoin
• Put a # in front of ProtectHome
</code></pre>
<blockquote>
<p>Press CTRL + X to save it, Y, enter</p>
</blockquote>
<p><em><strong>Shutdown Bitcoin</strong></em><br><code>bitcoin-cli stop</code></p>
<p><em><strong>Activate the new service file</strong></em><br><code>sudo systemctl enable bitcoind</code><br><code>sudo systemctl start bitcoind</code></p>
<p><em><strong>Validate the status</strong></em><br><code>sudo systemctl status bitcoind</code></p>
<h3>4. Enable TOR</h3>
<p><em><strong>Go back to home directory</strong></em><br><code>sudo apt install tor</code></p>
<p><em><strong>Validate that TOR has been activated</strong></em><br><code>sudo systemctl status tor</code></p>
<p><em><strong>Edit TOR rc file</strong></em><br><code>sudo nano /etc/tor/torrc</code></p>
<p><em><strong>Go all the way to bottom and enter 3 lines</strong></em><br>ControlPort 9051<br>CookieAuthentication 1<br>CookieAuthFileGroupReadable 1</p>
<p>CTRL-X, Save</p>
<p><em><strong>Restart Tor</strong></em><br><code>sudo systemctl restart tor</code></p>
<p><code>sudo usermod -a -G debian-tor "username"</code></p>
<p><em><strong>Modify bitcoin.conf to add TOR lines</strong></em><br><code>nano .bitcoin/bitcoin.conf</code></p>
<p>Add the following lines at the end of the file:</p>
<blockquote>
<p>proxy=127.0.0.1:9050<br>listen=1 b<br>bind=127.0.0.1<br>onlynet=onion<br>addnode=ty5nq4ua4v47jmebyib7wtk6b25exd735twap6g3rckbfhvlzvrkdhid.onion:8333</p>
</blockquote>
<p>CTRL+X, Y</p>
<p><em><strong>Reboot your node</strong></em><br><code>sudo reboot</code></p>
<p>Et voila!</p>
]]></content:encoded>
      <itunes:author><![CDATA[Settebello]]></itunes:author>
      <itunes:summary><![CDATA[<h2>Prerequisite</h2>
<ul>
<li>A dedicated computer</li>
<li>Ubuntu Server</li>
</ul>
<h3>1- Installing Bitcoin Core</h3>
<p>This section will be done remotely from another computer by connecting to your Node using SSH. Please follow previous Chapter to make sure your hardware is adequate, and you have followed Ubuntu Server installation.</p>
<p>***First of all, we will validate that the installation was done properly and that the Ubuntu installation was NOT setup as a virtual machine **</p>
<p><code>df -h</code></p>
<p><em><strong>Looking for updates</strong></em></p>
<p><code>sudo apt update</code></p>
<p><em><strong>Updating</strong></em></p>
<p><code>sudo apt upgrade</code></p>
<p><em><strong>Lets start by creating a “downloads” folder</strong></em></p>
<p><code>mkdir downloads</code></p>
<p>***Go in the downloads folder</p>
<p><code>cd downloads</code></p>
<p>It is now important to understand what you are about to do. There are different ways to install Bitcoin Core. My preferred way is to download the release from Bitcoin Core here  <np-embed url="https://bitcoincore.org/en/download/"><a href="https://bitcoincore.org/en/download/">https://bitcoincore.org/en/download/</a></np-embed><br> and do the GPG Key verification with the key list here <np-embed url="https://github.com/bitcoin/bitcoin/blob/master/contrib/verify-commits/trusted-keys"><a href="https://github.com/bitcoin/bitcoin/blob/master/contrib/verify-commits/trusted-keys">https://github.com/bitcoin/bitcoin/blob/master/contrib/verify-commits/trusted-keys</a></np-embed> on Github.</p>
<p><em><strong>Download the files from the Bitcoin Core website</strong></em></p>
<p><code>wget https://bitcoincore.org/bin/bitcoin-core-24.0.1/bitcoin-24.0.1-x86_64-linux-gnu.tar.gz</code></p>
<p><code>wget https://bitcoincore.org/bin/bitcoin-core-24.0.1/SHA256SUMS</code></p>
<p><code>wget https://bitcoincore.org/bin/bitcoin-core-24.0.1/SHA256SUMS.asc</code></p>
<p><em><strong>Validate that the release file is listed in the checksums file</strong></em></p>
<p><code>sha256sum --ignore-missing --check SHA256SUMS</code></p>
<p><em><strong>Use GPG to load keys locally from individuals found on the Github site</strong></em><br>Ignore any warning and failures, but you must be sure that the lists “OK” after the name of the release file downloaded</p>
<p><em><strong>Use GPG to load keys locally from individuals found on the Github site</strong></em></p>
<p><code>gpg --keyserver hkps://keys.openpgp.org --recv-keys E777299FC265DD04793070EB944D35F9AC3DB76A</code></p>
<p><code>gpg --keyserver hkps://keys.openpgp.org --recv-keys D1DBF2C4B96F2DEBF4C16654410108112E7EA81F</code></p>
<p><em><strong>Verify that the checksum file is verified</strong></em></p>
<p><code>gpg --verify SHA256SUMS.asc</code></p>
<p>You should receive a “Good signature” beside the name associated to the key</p>
<p><em><strong>Extract the tar file. It will create a folder called bitcoin-24.0.1 so it is important that you call it in the next command line.</strong></em></p>
<p><code>tar xzf bitcoin-24.0.1-x86_64-linux-gnu.tar.gz </code></p>
<p><em><strong>Install the content in the following directory. It is IMPORTANT that you write the correct folder name based on your release number. If you have installed the release 25.0, the folder name has to be bitcoin-25.0</strong></em></p>
<p><code>sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-24.0.1/bin/*</code></p>
<p><em><strong>Cross your fingers and launch Bitcoin Core</strong></em></p>
<p><code>bitcoind -daemon</code></p>
<p>***Get blockchain info to see which block your node is at</p>
<p><code>bitcoin-cli getblockchaininfo</code></p>
<p><em><strong>Validate your node is connected to how many peers</strong></em></p>
<p><code>bitcoin-cli getconnectioncount</code></p>
<p>***If you want to follow the log of your node synchronization, you should open secondary Terminal window and write the following command</p>
<p><code>tail -f .bitcoin/debug.log</code></p>
<h3>2. Configuring Bitcoin Core</h3>
<p>While the blockchain is synchronizing, you can start the configuration. In order to be fully synchronized, it will take approximately 18 hours. I found a great tutorial on youtube here: <np-embed url="https://www.youtube.com/watch?v=fx_mLXISrfM"><a href="https://www.youtube.com/watch?v=fx_mLXISrfM">https://www.youtube.com/watch?v=fx_mLXISrfM</a></np-embed></p>
<p><em><strong>Open a new therminal window and go to the /.bitcoin folder</strong></em></p>
<p><code>cd /.bitcoin  </code></p>
<p>*** We need to create a new configuration file***</p>
<p><code>nano bitcoin.conf</code></p>
<p><em><strong>Paste de following text in the bitcoin.conf file</strong></em></p>
<blockquote>
<p>server=1<br>txindex=1<br>daemon=1<br>rpcport=8332<br>rpcbind=0.0.0.0<br>rpcallowip=127.0.0.1<br>rpcallowip=10.0.0.0/8<br>rpcallowip=172.0.0.0/8<br>rpcallowip=192.0.0.0/8<br>zmqpubrawblock=tcp://0.0.0.0:28332<br>zmqpubrawtx=tcp://0.0.0.0:28333<br>zmqpubhashblock=tcp://0.0.0.0:28334<br>whitelist=127.0.0.1<br>rpcauth="username":[output of rpcauth.py]</p>
</blockquote>
<p><em><strong>Keep this terminal window open and go back to the main window</strong></em></p>
<p>We will create a username and password for the RPC Authentification of the bitcoin.conf file we have created in the other terminal window and modify it</p>
<p><em><strong>In the original terminal window, be sure you are in your “downloads” folder</strong></em></p>
<p><code>cd downloads</code></p>
<p>*** In order to add a "username" and "password" to access to your node, go to Github.com/bitcoin/bitcoin and search for rpcauth.py. Go to the raw file and copy the link***</p>
<p><code>wget https://github.com/bitcoin/bitcoin/blob/master/share/rpcauth/rpcauth.py</code></p>
<p><em><strong>Make the file executable</strong></em><br><code>chmod +x rpcauth.py</code></p>
<p><em><strong>Execute the file with a "username" &amp; "password" at the end of the command line</strong></em><br><code>./rpcauth.py "username" "password"</code></p>
<p><em><strong>Copy the string and paste it in the configuration file of the auxiliary termina window</strong></em></p>
<p>Modify the "username" and "password" in the bitcon.conf file</p>
<blockquote>
<p>#Output for your username and password<br>rpcauth="username":[output of rpcauth.py]</p>
</blockquote>
<p>CTRL+X and save Yes </p>
<p><em><strong>Restart your node</strong></em><br><code>Bitcoin-cli stop</code><br><code>Bitcoind</code></p>
<h3>3.Creating the service file for automatic boot on start-up</h3>
<p>*** Go back to Github.com/bitcoin/bitcoin and search for .service file. <np-embed url="https://raw.githubusercontent.com/bitcoin/bitcoin/663f6cd9ddadeec30b27ec12f0f5ed49f3146cc9/contrib/init/bitcoind.service"><a href="https://raw.githubusercontent.com/bitcoin/bitcoin/663f6cd9ddadeec30b27ec12f0f5ed49f3146cc9/contrib/init/bitcoind.service">https://raw.githubusercontent.com/bitcoin/bitcoin/663f6cd9ddadeec30b27ec12f0f5ed49f3146cc9/contrib/init/bitcoind.service</a></np-embed>***</p>
<p><em><strong>Important note: The new service file does not work properly. The link above is for the service file from 2021</strong></em></p>
<p><em><strong>Download the .service file in your systemd folder</strong></em><br><code>cd /etc/systemd/system</code></p>
<p><code>sudo wget https://raw.githubusercontent.com/bitcoin/bitcoin/663f6cd9ddadeec30b27ec12f0f5ed49f3146cc9/contrib/init/bitcoind.service</code></p>
<p><code>sudo nano bitcoind.service</code></p>
<p><em><strong>Change the file</strong></em></p>
<p>In the [service] section, make the following changes:</p>
<pre><code>• Make sure that the “ExecStart” has the right path for the folder “bitcoind” on the same line as “daemonwait” (you can verify the path in another terminal with the command “whereis bitcoind”)
• you need to remove the “wait” in -daemonwait to have only -daemon
• Make sure that the bitcoin.conf file has the right path. 
• Change also the path for the datadir.
• Put a # in front of ExecStartPre=
• Change “user” and “group” for the actual user of the server instead of Bitcoin and Bitcoin
• Put a # in front of ProtectHome
</code></pre>
<blockquote>
<p>Press CTRL + X to save it, Y, enter</p>
</blockquote>
<p><em><strong>Shutdown Bitcoin</strong></em><br><code>bitcoin-cli stop</code></p>
<p><em><strong>Activate the new service file</strong></em><br><code>sudo systemctl enable bitcoind</code><br><code>sudo systemctl start bitcoind</code></p>
<p><em><strong>Validate the status</strong></em><br><code>sudo systemctl status bitcoind</code></p>
<h3>4. Enable TOR</h3>
<p><em><strong>Go back to home directory</strong></em><br><code>sudo apt install tor</code></p>
<p><em><strong>Validate that TOR has been activated</strong></em><br><code>sudo systemctl status tor</code></p>
<p><em><strong>Edit TOR rc file</strong></em><br><code>sudo nano /etc/tor/torrc</code></p>
<p><em><strong>Go all the way to bottom and enter 3 lines</strong></em><br>ControlPort 9051<br>CookieAuthentication 1<br>CookieAuthFileGroupReadable 1</p>
<p>CTRL-X, Save</p>
<p><em><strong>Restart Tor</strong></em><br><code>sudo systemctl restart tor</code></p>
<p><code>sudo usermod -a -G debian-tor "username"</code></p>
<p><em><strong>Modify bitcoin.conf to add TOR lines</strong></em><br><code>nano .bitcoin/bitcoin.conf</code></p>
<p>Add the following lines at the end of the file:</p>
<blockquote>
<p>proxy=127.0.0.1:9050<br>listen=1 b<br>bind=127.0.0.1<br>onlynet=onion<br>addnode=ty5nq4ua4v47jmebyib7wtk6b25exd735twap6g3rckbfhvlzvrkdhid.onion:8333</p>
</blockquote>
<p>CTRL+X, Y</p>
<p><em><strong>Reboot your node</strong></em><br><code>sudo reboot</code></p>
<p>Et voila!</p>
]]></itunes:summary>
      <itunes:image href="https://i.nostr.build/QzEv.jpg"/>
      </item>
      
      <item>
      <title><![CDATA[Installing Ubuntu Server]]></title>
      <description><![CDATA[Regardless if you want to run a Node or a Personal Server, the first thing you need to do is install a Headless Operating System.]]></description>
             <itunes:subtitle><![CDATA[Regardless if you want to run a Node or a Personal Server, the first thing you need to do is install a Headless Operating System.]]></itunes:subtitle>
      <pubDate>Tue, 12 Dec 2023 01:59:18 GMT</pubDate>
      <link>https://settebello.npub.pro/post/daecxfc4zbun7citjlpza/</link>
      <comments>https://settebello.npub.pro/post/daecxfc4zbun7citjlpza/</comments>
      <guid isPermaLink="false">naddr1qq2kgs29vduyvse50fp92n3hvd54gjjv2pdxzq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65w5z2mj9</guid>
      <category>ubuntu</category>
      
        <media:content url="https://i.nostr.build/xEEwz.png" medium="image"/>
        <enclosure 
          url="https://i.nostr.build/xEEwz.png" length="0" 
          type="image/png" 
        />
      <noteId>naddr1qq2kgs29vduyvse50fp92n3hvd54gjjv2pdxzq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65w5z2mj9</noteId>
      <npub>npub1yrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsp0ja94</npub>
      <dc:creator><![CDATA[Settebello]]></dc:creator>
      <content:encoded><![CDATA[<p>Regardless if you want to run a node or have your own server, it is important to install a headless server operational system. The term headless comes from the fact that this lightweight OS does not come with a user interface and can only be accessed via commande line using a SSH connection.</p>
<h3>Prerequisites</h3>
<ol>
<li><a href="https://yakihonne.com/article/naddr1qq24z4e4tuuyjapcd4vhgdp3vgm9yjzcgucrqq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65w93d7c8">Create a Ubuntu Bootable Stick</a></li>
</ol>
<h3>Installing Ubuntu Server</h3>
<ol>
<li>Connect your device up with a keyboard/mouse, ethernet cable, screen and with the boot USB inserted into the device but still powered off.</li>
<li>With the USB inserted, turn on your device. If it brings you to a Ubuntu screen then great move on to step 4, if not carry out the next step.</li>
<li>If the device does not boot to a Ubuntu screen with the USB plugged in, we need to tell it to boot from a USB rather than the internal hard drive. Shut the device. Turn it back on and hold “ALT” key once the computer is starting to boot. The “ALT” key is replacing the “OPTION” key on a Mac. Please select UEFI in the menu in order to reboot with the Boot stick.</li>
<li>You will arrive on the Ubuntu Server.</li>
<li>Next choose your desired language.</li>
<li>Select to update to new installer if any updates available.</li>
<li>Allow it to detect or select your regional keyboard layout.</li>
<li>Choose the basic installation, do not select any additional options.</li>
<li>At the next stage it will like you to connect to the internet, the WiFi will not work at this stage so you will need to plug in via ethernet if not already done.</li>
<li>Once connected to the internet an IP address is shown on the screen, write it down and press&nbsp;Done</li>
<li>Unless you’re using a proxy on the next screen (Configure Proxy) press&nbsp;Done.</li>
<li>Leave the default Mirror address by pressing&nbsp;Done.&nbsp;</li>
<li>At the next screen&nbsp;Guided Storage Configuration&nbsp;you can select the disk setup, Uncheck “Set up this disk as a LVM” since you want to use the whole disk as your node and press Done.</li>
<li>The next screen will confirm the file system summary click&nbsp;Done.</li>
<li>Ensure you have opted for the correct disk and confirm action at the pop-up screen.</li>
<li>At the profile screen, you can provide your name, the servers name and provide the&nbsp;username.</li>
<li>It will ask you if you want to enable Ubuntu Pro, select skip for now.</li>
<li>At the SSH Setup screen, select to install OpenSSH server and select&nbsp;Done.</li>
<li>We did not opt to install any additional features at the next screen (Featured Server Snaps) this is to keep the Umbrel OS very lightweight click&nbsp;Done.</li>
<li>Once the install completes, the screen will show you (Install Complete!).</li>
<li>Select&nbsp;Reboot now.</li>
<li>Remove the USB drive when it tells you and press&nbsp;Enter.</li>
</ol>
<p>This should now complete the Ubuntu installation stage, next we need to SSH to the server.</p>
<h4>Connecting to the Ubuntu Server using SSH</h4>
<p>Now that your Ubuntu Server is online, the rest of the operation will be done via another computer with SSH connection using Terminal. From now on, I will start the comments with # so they will not be confused with commands to enter into Terminal.</p>
<p>To connect to your server, you will need to use the following command with the name of the server from step 16 and the IP address noted down in the step 10 from the previous section</p>
<p><code>ssh "server name"@"IP address"</code></p>
<p>You will be prompt to enter the password from step 16</p>
<p><code>"enter password"</code></p>
<p>Congratulation, you are now connected and ready to start installing your node applications!</p>
]]></content:encoded>
      <itunes:author><![CDATA[Settebello]]></itunes:author>
      <itunes:summary><![CDATA[<p>Regardless if you want to run a node or have your own server, it is important to install a headless server operational system. The term headless comes from the fact that this lightweight OS does not come with a user interface and can only be accessed via commande line using a SSH connection.</p>
<h3>Prerequisites</h3>
<ol>
<li><a href="https://yakihonne.com/article/naddr1qq24z4e4tuuyjapcd4vhgdp3vgm9yjzcgucrqq3qyrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsxpqqqp65w93d7c8">Create a Ubuntu Bootable Stick</a></li>
</ol>
<h3>Installing Ubuntu Server</h3>
<ol>
<li>Connect your device up with a keyboard/mouse, ethernet cable, screen and with the boot USB inserted into the device but still powered off.</li>
<li>With the USB inserted, turn on your device. If it brings you to a Ubuntu screen then great move on to step 4, if not carry out the next step.</li>
<li>If the device does not boot to a Ubuntu screen with the USB plugged in, we need to tell it to boot from a USB rather than the internal hard drive. Shut the device. Turn it back on and hold “ALT” key once the computer is starting to boot. The “ALT” key is replacing the “OPTION” key on a Mac. Please select UEFI in the menu in order to reboot with the Boot stick.</li>
<li>You will arrive on the Ubuntu Server.</li>
<li>Next choose your desired language.</li>
<li>Select to update to new installer if any updates available.</li>
<li>Allow it to detect or select your regional keyboard layout.</li>
<li>Choose the basic installation, do not select any additional options.</li>
<li>At the next stage it will like you to connect to the internet, the WiFi will not work at this stage so you will need to plug in via ethernet if not already done.</li>
<li>Once connected to the internet an IP address is shown on the screen, write it down and press&nbsp;Done</li>
<li>Unless you’re using a proxy on the next screen (Configure Proxy) press&nbsp;Done.</li>
<li>Leave the default Mirror address by pressing&nbsp;Done.&nbsp;</li>
<li>At the next screen&nbsp;Guided Storage Configuration&nbsp;you can select the disk setup, Uncheck “Set up this disk as a LVM” since you want to use the whole disk as your node and press Done.</li>
<li>The next screen will confirm the file system summary click&nbsp;Done.</li>
<li>Ensure you have opted for the correct disk and confirm action at the pop-up screen.</li>
<li>At the profile screen, you can provide your name, the servers name and provide the&nbsp;username.</li>
<li>It will ask you if you want to enable Ubuntu Pro, select skip for now.</li>
<li>At the SSH Setup screen, select to install OpenSSH server and select&nbsp;Done.</li>
<li>We did not opt to install any additional features at the next screen (Featured Server Snaps) this is to keep the Umbrel OS very lightweight click&nbsp;Done.</li>
<li>Once the install completes, the screen will show you (Install Complete!).</li>
<li>Select&nbsp;Reboot now.</li>
<li>Remove the USB drive when it tells you and press&nbsp;Enter.</li>
</ol>
<p>This should now complete the Ubuntu installation stage, next we need to SSH to the server.</p>
<h4>Connecting to the Ubuntu Server using SSH</h4>
<p>Now that your Ubuntu Server is online, the rest of the operation will be done via another computer with SSH connection using Terminal. From now on, I will start the comments with # so they will not be confused with commands to enter into Terminal.</p>
<p>To connect to your server, you will need to use the following command with the name of the server from step 16 and the IP address noted down in the step 10 from the previous section</p>
<p><code>ssh "server name"@"IP address"</code></p>
<p>You will be prompt to enter the password from step 16</p>
<p><code>"enter password"</code></p>
<p>Congratulation, you are now connected and ready to start installing your node applications!</p>
]]></itunes:summary>
      <itunes:image href="https://i.nostr.build/xEEwz.png"/>
      </item>
      
      <item>
      <title><![CDATA[Hardware for your Bitcoin Node ]]></title>
      <description><![CDATA[]]></description>
             <itunes:subtitle><![CDATA[]]></itunes:subtitle>
      <pubDate>Fri, 08 Dec 2023 20:07:46 GMT</pubDate>
      <link>https://settebello.npub.pro/post/1702061855438/</link>
      <comments>https://settebello.npub.pro/post/1702061855438/</comments>
      <guid isPermaLink="false">naddr1qqxnzdesxgcrvvfcx56ngvecqgszpcta6rkphvyry6ywwwdd39cf6praav37652xsgh0m5kj9tjsf4crqsqqqa289fr52y</guid>
      <category>2</category>
      
        <media:content url="https://i.nostr.build/x0LV.png" medium="image"/>
        <enclosure 
          url="https://i.nostr.build/x0LV.png" length="0" 
          type="image/png" 
        />
      <noteId>naddr1qqxnzdesxgcrvvfcx56ngvecqgszpcta6rkphvyry6ywwwdd39cf6praav37652xsgh0m5kj9tjsf4crqsqqqa289fr52y</noteId>
      <npub>npub1yrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsp0ja94</npub>
      <dc:creator><![CDATA[Settebello]]></dc:creator>
      <content:encoded><![CDATA[<h2>1. Hardware Selection</h2>
<p>It is important to select adequately the hardware that will be used to build your Node. The Node will be running 24h /7 days and will countain your lightning channels. It is important to use high quality hardware and spend the extra dollars for it.</p>
<p>At the time of building my Node, there was a shortage of Raspberry Pi and I was looking for an optimal alternative. I have decided to go ahead and purchase a used Mac Mini (late 2012). </p>
<p>It is recommended NOT to purchase a Mac Mini newer than 2012 (i.e 2014 and up) because Apple started to solder the RAM to the Logic Board after 2012. The Mac Mini Late 2012 is the last model that is fully customizable with SSD and RAM upgrades.</p>
<p>Here is the list of hardware that will be used in this build:</p>
<ul>
<li>2 x 8G DDR3L Sodim 1600Mhz 1.35V</li>
<li>1 x Mac Mini (Late 2012) 2.5Ghz</li>
<li>1 x Samsung Evo 870 1Tb SSD ^</li>
</ul>
<p>^ Note: As discussed earlier, it is important to select hardware of quality. I had initially purchased a low cost 2Tb SSD but it failed while trying to download the Bitcoin blockchain.</p>
<p>#<a href='/tag/2/'>#2</a>. Hardware Upgrade</p>
<p>To facilitate the upgrade of the hardware, you will need the proper tools to remove some T6 &amp; T8 screws. </p>
<p>Here are the steps to dismount the few components of the Mac Mini to upgrade the hardware: </p>
<ol>
<li><p>Unplug the Mac Mini.</p>
</li>
<li><p>Turn it upside down with the black cover facing up.</p>
</li>
<li><p>Put your thumbs in the 2 grooves of the cover and turn the piece counterclockwise.<br><img src="https://nostr.build/i/ed7eb6c4132966df674a8d42fffa540d8ca6e6ff995a42494be50a9020859b45.jpg" alt=""></p>
</li>
<li><p>Remove the cover.</p>
</li>
<li><p>Remove 3 x T6 screws holding the fan.<br><img src="https://nostr.build/i/0102a0456ef063770b1628bba695f85befc3299e09682701236ad79b6b9c700f.jpg" alt=""></p>
</li>
<li><p>Lift the fan and disconnect the connector by pulling gently straight up the wires.</p>
</li>
<li><p>Remove 1x T6 screw at the bottom of the shroud (black plastic piece on the left of the fan).<br><img src="https://nostr.build/i/7a541ef3a9488560b546d01a3efe4234b2bedde9c301ad00461f776a8246ae26.jpg" alt=""></p>
</li>
<li><p>Remove the shroud by holding the top right part with your fingers and turning it clockwise.<br><img src="https://nostr.build/i/d371f164efe399d71776e681895ed5fb13135225ecad224a67b1d919bf8fc2a9.jpg" alt=""></p>
</li>
<li><p>Remove 4 x T8 screws of the grill WIFI cover.<br><img src="https://nostr.build/i/1b0bb5dea1b947d36e9529e5f4be666a535c67c200c8d1df0c3a95b49586aa2b.jpg" alt=""></p>
</li>
<li><p>The top of the grill is mounted under the Mac Mini case. Lift gently the bottom of the grill and pull towards yourself to remove the grill.</p>
</li>
<li><p>Move the grill aside, you do not have to disconnect the WIFI sensor, just be careful.</p>
</li>
</ol>
<h3>2.1 Upgrading the RAM</h3>
<p>The RAM is visible and accessible from the moment you remove the cover. Simply release each RAM by releasing the clips on the side. Once disengaged, the RAM will spring in a 45-degree angle. Remove it and put back the upgraded RAM at a 45 degree angle and push it down for it to clip.</p>
<h3>2.2 Upgrading the SSD</h3>
<p>It is important to note that the Mac Mini has 2 SSD bay. They are referred to as the “upper bay” and “lower bay”. Since we have flipped the Mac Mini upside down to remove the bottom cover, the “upper bay” is located under the “lower bay”.</p>
<p>The “upper bay” is mounted with an expansion kit that holds the SSD in position whereas the “lower bay” SSD is simply resting on top of the “upper bay” SSD.</p>
<p>One important aspect is that the connecting cables for the “lower bay” and “upper bay” SSD are not the same. The “upper bay” SSD connects on the logic board on the right and the “lower bay” SSD cable connects on the left. Removing the “upper bay” SSD requires removing the logic board therefore requires more work. It is recommended to install the new SSD in the “lower” bay. Here are the 2 scenarios:</p>
<p>1.Your Mac Mini has already a Hard Drive installed in the “lower” bay. In that case insert a credit card under the HD and gently pry it upwards. You will be able to slide it out of the bay. The reason to pry it gently is because since there is no “upper” bay drive, The HD is being held in the air by 2 screws on the side that are aligned in 2 holes in the Mac Mini case. Once the HD is removed, transfer the connecting cable and the 2 screws to the new SSD. To put back the new SSD, it is easier to rotate the Mac Mini 90 degree and have the mounting holes at the bottom and use the gravity to get the 2 mounting screws in the holes. After, connect the connector to the logic board.</p>
<ol start="2">
<li>Your Mac Mini has already a Hard Drive installed in the “upper bay”? Leave it there, you do not need mounting screws, but you need a new connecting cable. You will have to buy a “lower bay connector”. Once installed on the SSD, slide the SSD on top of the original one. The connector will plug on the logic board on the left of the “upper bay” SSD connector.</li>
</ol>
<p>A good preparation would be to go in “Disk Utility” menu on MacOS and search for “upper” or “lower” position before starting to disassemble.</p>
<p>Reassemble everything and you are done.</p>
]]></content:encoded>
      <itunes:author><![CDATA[Settebello]]></itunes:author>
      <itunes:summary><![CDATA[<h2>1. Hardware Selection</h2>
<p>It is important to select adequately the hardware that will be used to build your Node. The Node will be running 24h /7 days and will countain your lightning channels. It is important to use high quality hardware and spend the extra dollars for it.</p>
<p>At the time of building my Node, there was a shortage of Raspberry Pi and I was looking for an optimal alternative. I have decided to go ahead and purchase a used Mac Mini (late 2012). </p>
<p>It is recommended NOT to purchase a Mac Mini newer than 2012 (i.e 2014 and up) because Apple started to solder the RAM to the Logic Board after 2012. The Mac Mini Late 2012 is the last model that is fully customizable with SSD and RAM upgrades.</p>
<p>Here is the list of hardware that will be used in this build:</p>
<ul>
<li>2 x 8G DDR3L Sodim 1600Mhz 1.35V</li>
<li>1 x Mac Mini (Late 2012) 2.5Ghz</li>
<li>1 x Samsung Evo 870 1Tb SSD ^</li>
</ul>
<p>^ Note: As discussed earlier, it is important to select hardware of quality. I had initially purchased a low cost 2Tb SSD but it failed while trying to download the Bitcoin blockchain.</p>
<p>#<a href='/tag/2/'>#2</a>. Hardware Upgrade</p>
<p>To facilitate the upgrade of the hardware, you will need the proper tools to remove some T6 &amp; T8 screws. </p>
<p>Here are the steps to dismount the few components of the Mac Mini to upgrade the hardware: </p>
<ol>
<li><p>Unplug the Mac Mini.</p>
</li>
<li><p>Turn it upside down with the black cover facing up.</p>
</li>
<li><p>Put your thumbs in the 2 grooves of the cover and turn the piece counterclockwise.<br><img src="https://nostr.build/i/ed7eb6c4132966df674a8d42fffa540d8ca6e6ff995a42494be50a9020859b45.jpg" alt=""></p>
</li>
<li><p>Remove the cover.</p>
</li>
<li><p>Remove 3 x T6 screws holding the fan.<br><img src="https://nostr.build/i/0102a0456ef063770b1628bba695f85befc3299e09682701236ad79b6b9c700f.jpg" alt=""></p>
</li>
<li><p>Lift the fan and disconnect the connector by pulling gently straight up the wires.</p>
</li>
<li><p>Remove 1x T6 screw at the bottom of the shroud (black plastic piece on the left of the fan).<br><img src="https://nostr.build/i/7a541ef3a9488560b546d01a3efe4234b2bedde9c301ad00461f776a8246ae26.jpg" alt=""></p>
</li>
<li><p>Remove the shroud by holding the top right part with your fingers and turning it clockwise.<br><img src="https://nostr.build/i/d371f164efe399d71776e681895ed5fb13135225ecad224a67b1d919bf8fc2a9.jpg" alt=""></p>
</li>
<li><p>Remove 4 x T8 screws of the grill WIFI cover.<br><img src="https://nostr.build/i/1b0bb5dea1b947d36e9529e5f4be666a535c67c200c8d1df0c3a95b49586aa2b.jpg" alt=""></p>
</li>
<li><p>The top of the grill is mounted under the Mac Mini case. Lift gently the bottom of the grill and pull towards yourself to remove the grill.</p>
</li>
<li><p>Move the grill aside, you do not have to disconnect the WIFI sensor, just be careful.</p>
</li>
</ol>
<h3>2.1 Upgrading the RAM</h3>
<p>The RAM is visible and accessible from the moment you remove the cover. Simply release each RAM by releasing the clips on the side. Once disengaged, the RAM will spring in a 45-degree angle. Remove it and put back the upgraded RAM at a 45 degree angle and push it down for it to clip.</p>
<h3>2.2 Upgrading the SSD</h3>
<p>It is important to note that the Mac Mini has 2 SSD bay. They are referred to as the “upper bay” and “lower bay”. Since we have flipped the Mac Mini upside down to remove the bottom cover, the “upper bay” is located under the “lower bay”.</p>
<p>The “upper bay” is mounted with an expansion kit that holds the SSD in position whereas the “lower bay” SSD is simply resting on top of the “upper bay” SSD.</p>
<p>One important aspect is that the connecting cables for the “lower bay” and “upper bay” SSD are not the same. The “upper bay” SSD connects on the logic board on the right and the “lower bay” SSD cable connects on the left. Removing the “upper bay” SSD requires removing the logic board therefore requires more work. It is recommended to install the new SSD in the “lower” bay. Here are the 2 scenarios:</p>
<p>1.Your Mac Mini has already a Hard Drive installed in the “lower” bay. In that case insert a credit card under the HD and gently pry it upwards. You will be able to slide it out of the bay. The reason to pry it gently is because since there is no “upper” bay drive, The HD is being held in the air by 2 screws on the side that are aligned in 2 holes in the Mac Mini case. Once the HD is removed, transfer the connecting cable and the 2 screws to the new SSD. To put back the new SSD, it is easier to rotate the Mac Mini 90 degree and have the mounting holes at the bottom and use the gravity to get the 2 mounting screws in the holes. After, connect the connector to the logic board.</p>
<ol start="2">
<li>Your Mac Mini has already a Hard Drive installed in the “upper bay”? Leave it there, you do not need mounting screws, but you need a new connecting cable. You will have to buy a “lower bay connector”. Once installed on the SSD, slide the SSD on top of the original one. The connector will plug on the logic board on the left of the “upper bay” SSD connector.</li>
</ol>
<p>A good preparation would be to go in “Disk Utility” menu on MacOS and search for “upper” or “lower” position before starting to disassemble.</p>
<p>Reassemble everything and you are done.</p>
]]></itunes:summary>
      <itunes:image href="https://i.nostr.build/x0LV.png"/>
      </item>
      
      <item>
      <title><![CDATA[EGG ROLL IN A BOWL]]></title>
      <description><![CDATA[This recipe offers you the flavor of an Egg Roll without the hassle. Perfect for a quick broken-down meal!]]></description>
             <itunes:subtitle><![CDATA[This recipe offers you the flavor of an Egg Roll without the hassle. Perfect for a quick broken-down meal!]]></itunes:subtitle>
      <pubDate>Tue, 03 Oct 2023 09:27:05 GMT</pubDate>
      <link>https://settebello.npub.pro/post/egg-roll-in-a-bowl/</link>
      <comments>https://settebello.npub.pro/post/egg-roll-in-a-bowl/</comments>
      <guid isPermaLink="false">naddr1qqfx2em894ex7mrv945kuttp943x7amvqgszpcta6rkphvyry6ywwwdd39cf6praav37652xsgh0m5kj9tjsf4crqsqqqa287j2vva</guid>
      <category>nostrcooking</category>
      
        <media:content url="https://i.nostr.build/lzXP.jpg" medium="image"/>
        <enclosure 
          url="https://i.nostr.build/lzXP.jpg" length="0" 
          type="image/jpeg" 
        />
      <noteId>naddr1qqfx2em894ex7mrv945kuttp943x7amvqgszpcta6rkphvyry6ywwwdd39cf6praav37652xsgh0m5kj9tjsf4crqsqqqa287j2vva</noteId>
      <npub>npub1yrshm58vrwcgxf5guuu6mztsn5z8m6era4g5dq3wlhfdy2h9qntsp0ja94</npub>
      <dc:creator><![CDATA[Settebello]]></dc:creator>
      <content:encoded><![CDATA[<h2>Chef's notes</h2>
<p>Plant-Based option: Use veggie ground.</p>
<p>Gluten Free option: Use GF soy sauce or tamari and GF hoisin.</p>
<p>Nutrition Information:</p>
<ul>
<li>Calories: 404/serving</li>
<li>Carbs: 49.8g/serving</li>
<li>Protein: 25.3g/serving</li>
<li>Fat: 11.5g/serving</li>
<li>Fiber: 3.5g/serving</li>
<li>Sugar: 6.5g/serving</li>
<li>Sodium: 433.2mg/serving</li>
</ul>
<h2>Details</h2>
<ul>
<li>⏲️ Prep time: 5 min</li>
<li>🍳 Cook time: 25 min</li>
</ul>
<h2>Ingredients</h2>
<ul>
<li>1 cup rice, uncooked</li>
<li>1lb ground (beef, checken, turkey, or veggie ground)</li>
<li>1/2 yellow onion, diced</li>
<li>4 garlic cloves, minced</li>
<li>2 teaspoons grated ginger</li>
<li>4 cups coleslaw mix</li>
<li>2 tablespoons low sodium soy sauce</li>
<li>2 tablespoons hoisin</li>
<li>1 1/2 teaspoons rice vinegar</li>
<li>1 1/2 teaspoons sesame oil</li>
<li>2 green onions, diced</li>
</ul>
<h2>Directions</h2>
<ol>
<li>Cook rice according to package directions.</li>
<li>While de rice cooks, add the ground to a large skillet over medium high heat, cook 5-6 minutes until browned and just cooked through (add a little bit of oil if using a lean ground).</li>
<li>Add onions to the pan and cook until soft and translucent, around 4-5 minutes.</li>
<li>Add the garlic and ginger and cook until fragrant, around 30 seconds.</li>
<li>Add the coleslaw mix and cook 1-2 minutes until tender.</li>
<li>Stir in the soy sauce, hoisin, rice vinegar, and sesame oil.</li>
<li>Garnish with green onions and serve over the rice.</li>
</ol>
]]></content:encoded>
      <itunes:author><![CDATA[Settebello]]></itunes:author>
      <itunes:summary><![CDATA[<h2>Chef's notes</h2>
<p>Plant-Based option: Use veggie ground.</p>
<p>Gluten Free option: Use GF soy sauce or tamari and GF hoisin.</p>
<p>Nutrition Information:</p>
<ul>
<li>Calories: 404/serving</li>
<li>Carbs: 49.8g/serving</li>
<li>Protein: 25.3g/serving</li>
<li>Fat: 11.5g/serving</li>
<li>Fiber: 3.5g/serving</li>
<li>Sugar: 6.5g/serving</li>
<li>Sodium: 433.2mg/serving</li>
</ul>
<h2>Details</h2>
<ul>
<li>⏲️ Prep time: 5 min</li>
<li>🍳 Cook time: 25 min</li>
</ul>
<h2>Ingredients</h2>
<ul>
<li>1 cup rice, uncooked</li>
<li>1lb ground (beef, checken, turkey, or veggie ground)</li>
<li>1/2 yellow onion, diced</li>
<li>4 garlic cloves, minced</li>
<li>2 teaspoons grated ginger</li>
<li>4 cups coleslaw mix</li>
<li>2 tablespoons low sodium soy sauce</li>
<li>2 tablespoons hoisin</li>
<li>1 1/2 teaspoons rice vinegar</li>
<li>1 1/2 teaspoons sesame oil</li>
<li>2 green onions, diced</li>
</ul>
<h2>Directions</h2>
<ol>
<li>Cook rice according to package directions.</li>
<li>While de rice cooks, add the ground to a large skillet over medium high heat, cook 5-6 minutes until browned and just cooked through (add a little bit of oil if using a lean ground).</li>
<li>Add onions to the pan and cook until soft and translucent, around 4-5 minutes.</li>
<li>Add the garlic and ginger and cook until fragrant, around 30 seconds.</li>
<li>Add the coleslaw mix and cook 1-2 minutes until tender.</li>
<li>Stir in the soy sauce, hoisin, rice vinegar, and sesame oil.</li>
<li>Garnish with green onions and serve over the rice.</li>
</ol>
]]></itunes:summary>
      <itunes:image href="https://i.nostr.build/lzXP.jpg"/>
      </item>
      
      </channel>
      </rss>
    