n8n - Automated Server Audit

1 n8n Automated Server Audit — “Intelligent Server Update Monitor with AI Recommendations”#

When local SMTP is unavailable or when you want a richer, centrally-consolidated overview of the entire fleet’s update posture, an n8n workflow (imported from Intelligent Server Update Monitor with AI Recommendations.json) runs on a repeating schedule to SSH into every node, inspect pending packages via apt list --upgradable, send those results through a local Ollama instance for intelligent categorisation, and deliver the verdict in your inbox.

AI - Pi CLI

Installing and Launching Pi (pi.dev)#

Follow these steps to set up the Pi coding agent on your Mac Studio and link it straight to your custom local short-context models.


1 Environment Preparation#

Because Pi is a JavaScript terminal application, it runs on Node.js. If you do not have Node installed yet, use Homebrew to get it ready.

1.1 Install Node.js via Homebrew#

brew install node

2 Installation#

Install the official global Pi command-line tool. As noted in the documentation, we include the security flag to bypass unnecessary third-party package scripts.

GenDash and Hugo setup on Mac

Sections 1–3 describe GenDash and pushgen. Section 4 describes DashApps and pushdash. For DashApps page content, edit /Users/marc/Obsidian/DashApps/Notes (or Images) as the source of truth. pushdash syncs that local copy over the server’s staging inputs; its default run also publishes the website source. For local-only edits, do not run pushdash.

Hugo file GenDash: Obsidian to Hugo Automated Publishing Guide

This guide outlines the infrastructure and configuration required to sync an Obsidian vault across multiple devices and automate the publishing process to a Hugo website via Cloudflare Pages.

Apple Store Submission Checklist

App Store Submission Checklist#

  • 1.1 Active Apple Developer Program Membership: Annual subscription required to distribute on the store.
  • 1.3 App Store Connect User Access: Proper permissions for the team members managing the submission.
  • 1.2 Facultative - I’ll start with the individual account - D-U-N-S Number: Unique identifier used by Apple to verify business entities for organizations.
  • 1.4 Paid Applications Agreement: Signed contract required for apps with a purchase price or subscriptions, via https://appstoreconnect.apple.com/ (Demande TPS-TVQ fait 27 avril)
  • 1.5 Banking and Tax Information: Verified details needed for Apple to process your earnings.
  • 1.6 Public Privacy Policy URL: A web link detailing how you handle and protect user data. (https://github.com/marcoue/GenDash-Support/ and Privacy form in App store)
  • 1.7 Export Compliance Documentation: Proof of clearance for apps utilizing specific types of encryption. (Via Info.plist file in Xcode)
  • 1.8 Digital Services Act (DSA) Compliance: Mandatory legal registration for distribution within the European Union. (Opted out for now as it requires my personal home address)

2. Technical Requirements#

  • 2.1 Latest Mandatory Xcode Version Build: The binary must be compiled with the current Apple-approved IDE.
  • 2.2 Latest iOS SDK Compatibility: Ensuring the app supports current system APIs and frameworks.
  • 2.3 App Privacy Manifest: A .privacyinfo file documenting the data types accessed by your code.
  • 2.4 SHA-256 Certificate Support: Modern security standard required for app signing certificates.
  • 2.5 64-bit Architecture Support: Technical requirement for compatibility with all modern iOS hardware.
  • 2.6 Optimized Binary Size: Monitoring the final build to stay within cellular download limits. (When app is completed)
  • 2.7 Bitcode Disabled: Adherence to modern standards where bitcode is no longer required for thinning.

3. Metadata#

  • 3.1 App Name: The primary title of the application as it appears in search.
  • 3.2 Subtitle: A secondary tagline used to summarize the app’s purpose.
  • 3.3 Description: A full text overview of features and functionality for potential users.
  • 3.4 Keywords: A hidden list of terms that improve the app’s search discoverability.
  • 3.5 Promotional Text: A short, editable field to highlight news or limited-time updates.
  • 3.6 Marketing URL: A link to your product’s landing page or company website.
  • 3.7 Support URL: A direct link where users can go for technical help or FAQs.
  • 3.8 Version Number and Build String: Incremental identifiers for tracking your releases and builds.
  • 3.9 Category Selection: Tags that determine which store departments the app resides in.

4. Visual Assets#

  • 4.1 App Icon: A 1024x1024 px image representing the app on home screens.
  • 4.2 Screenshots for 6.7" Display: Visuals for the largest iPhone models like the Pro Max.
  • 4.5 iPad Screenshots: Required imagery if your app is compatible with iPadOS.

5. App Review Information#

  • 5.1 Demo Account Credentials: Login data provided to allow reviewers to access hidden features.
  • 5.2 Review Notes: Extra instructions to help the reviewer understand complex workflows.
  • 5.3 Reviewer Contact Information: Name and number for the person Apple should call with questions.
  • 5.4 Hardware Requirements: Documentation of any external hardware needed for the app to work.

6. Privacy & Content#

  • 6.1 Privacy Nutrition Labels: A summary of what data is collected and how it is linked.
  • 6.2 Accessibility Nutrition Labels: A declaration of the app’s support for assistive technologies.
  • 6.3 Age Ratings: A self-assessment used to determine content suitability for different age groups.
  • 6.4 App Tracking Transparency (ATT) Prompt: The system-level request for permission to track user data.
  • 6.5 Content Rights: Legal confirmation that you have the rights to use all displayed content.

7. Pricing & Availability#

  • 7.1 Pricing Tier Selection: The defined cost for purchasing the app or in-app services.
  • 7.2 Regional Availability: A list of specific countries where the app will be available.
  • 7.3 Pre-order Status: A setting to allow users to sign up for the app before launch.
  • 7.4 Release Methodology: A choice between manual, scheduled, or automatic publication.

8. Critical Alerts Entitlement & Implementation#

  • Submit the “Critical Alerts Entitlement” Request Fill out the official Apple form providing a safety-based justification for why GenDash fuel/status alerts must bypass the mute switch.

AI - Antigravity

The Antigravity Pro Developer Playbook#

Using an agentic IDE like Antigravity in 2026 requires a shift from “typing code” to “orchestrating intelligence.” This guide covers the mental models and technical strategies to build complex apps like GenDash while maximizing credit efficiency.

1 XCode MCP#

{
  "mcpServers": {
    "xcode-tools": {
      "command": "npx",
      "args": ["-y", "xcodebuildmcp@latest", "mcp"]
    }
  }
}

2 The Model Garage: Choosing the Right Engine#

In Antigravity, you have a team of experts. Don’t use a supercar for a grocery run.

Proxmox - Initial Setup

Proxmox Initial Install & Provisioning#

This guide contains the steps performed immediately after installing Proxmox VE. These steps are designed to be integrated into the ultimate_master_restore.sh script.


1 System Maintenance#

1.1 Update System (Included in Restore script)#

apt update && apt full-upgrade -y
apt autoremove && apt autoclean

2 SSH Configuration#

2.1 Configure SSH Public Key (Included in Restore script)#

Edit authorized keys:

nano ~/.ssh/authorized_keys

Paste SSH keys for [1Password Private note](https://start.1password.com/open/i?a=G7ECSBBRRFHWPDIM7F7J6TWP7I&v=4bxn4d3worhhq7rc6m3usjciia&i=6hoe6ndejfr5evqpatwk2xsatq&h=my.1password.com)

Restart SSH:

AI - Gemini CLI - Proxmox MCP

Proxmox MCP Installation (Sillicon Mac) Intel below#

This guide details the process for installing the Proxmox Model Context Protocol (MCP) server and integrating it with Gemini-CLI to manage virtual machines and containers directly from the terminal.

1 Prerequisites#

  • Proxmox VE: Access to a Proxmox cluster or node.
  • Gemini-CLI: Installed via Homebrew or npm.
  • Python 3.10+: Required for the MCP server environment.
  • API Token: Created in Proxmox (Datacenter > Permissions > API Tokens). Ensure the token has sufficient permissions (e.g., PVEAuditor or PVEVMAdmin) and ‘Privilege Separation’ is unchecked.

2 Server Installation#

Run the following commands to clone the repository and set up the Python environment in a dedicated directory.

Proxmox - Postfix Notification Cleanup


Postfix Notification Management Guide#

This guide breaks down the process into manual steps. Each block contains specific commands to audit, remove, or verify your mail configuration.


1. Part 1: Test if Configuration is Present#

These commands verify if the Gmail relay and header rewriting are currently active on the server.

1.1. Check Service and Dependencies#

Verify if Postfix is active and if the relay-specific modules are installed.

systemctl is-active postfix
dpkg -l | grep -E 'libsasl2-modules|mailutils|postfix-pcre'

1.2. Locate Credential and Mapping Files#

Check for the existence of the SASL password database and the header check configuration.

Claude Code CLI

Local AI Coding Agent Setup#

This guide documents the steps taken to install and configure Claude Code to run 100% locally on the Mac Studio M4 (64GB) using Ollama, ensuring complete privacy for local folders and Obsidian vaults.


1. Prerequisites (Mac Studio)#

  • Hardware: Mac Studio M4 (64GB Unified Memory).
  • Environment: Node.js v25.8.0 installed.
  • Local Brain: Ollama installed and running.

2. Install Claude Code (Native)#

Instead of using npm, we used the official native installer from Anthropic for better performance and signed binary security.

Obsidian Plugins

Obsidian Plugins#


1 Obsidian Git (Multi-Device Sync)#

We sync our vaults between desktop and laptop computers directly using the Obsidian Git plugin connecting to GitHub.

  • Repository: git@github.com:marcoue/obsidian-homelab.git
  • Shortcuts:
    • Cmd + S: Commit & Push local changes.
    • Cmd + Shift + S: Pull remote changes.
  • Auto-Syncing: Configured to pull on startup, pull updates in background every 5 minutes, and backup (commit/push) in background every 10 minutes.

1.1 [RETIRED] Self-Hosted LiveSync (CouchDB)#

Note: The CouchDB Docker container on MMDocker (10.1.2.230) has been stopped and disabled, and the plugin has been uninstalled from all vaults to avoid sync storms and deletion loops.#

2 Obsidian Terminal Plugin: Configuration Guide#

This guide details the setup for the Obsidian Terminal Plugin on a MacStudio (macOS) to ensure it correctly utilizes the modern Python environment and integrated Zsh shell.