feat: add Ollama proxy timeouts, SSH key migration, polish skills, and demo content

- Update all skill SSH commands from sshpass to key-based auth (~/.ssh/archipelago-deploy)
- Add proxy_connect_timeout 120s to nginx Ollama location blocks
- Add new polish/sweep skills for overnight automation
- Add demo content (documents, photos) for demo stack
- Add .ssh/ to .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-08 08:06:52 +00:00
parent d3f0f1192e
commit e8a0e1af19
29 changed files with 1871 additions and 11 deletions

View File

@@ -0,0 +1,39 @@
{
"backups": [
{
"id": "bkp-2025-03-01",
"timestamp": "2025-03-01T02:00:00Z",
"type": "full",
"apps": ["bitcoin-knots", "lnd", "mempool", "nextcloud"],
"size_mb": 2340,
"status": "success",
"encrypted": true,
"destination": "local-usb"
},
{
"id": "bkp-2025-02-15",
"timestamp": "2025-02-15T02:00:00Z",
"type": "incremental",
"apps": ["bitcoin-knots", "lnd"],
"size_mb": 156,
"status": "success",
"encrypted": true,
"destination": "local-usb"
},
{
"id": "bkp-2025-02-01",
"timestamp": "2025-02-01T02:00:00Z",
"type": "full",
"apps": ["bitcoin-knots", "lnd", "mempool", "nextcloud", "vaultwarden"],
"size_mb": 2890,
"status": "success",
"encrypted": true,
"destination": "local-usb"
}
],
"schedule": {
"full": "1st of month, 02:00 UTC",
"incremental": "15th of month, 02:00 UTC"
},
"retention": "6 months"
}

View File

@@ -0,0 +1,28 @@
# Bitcoin Whitepaper Notes
## Key Concepts
### Peer-to-Peer Electronic Cash
- No trusted third party needed
- Double-spending solved via proof-of-work
- Longest chain = truth
### Proof of Work
- SHA-256 based hashing
- Difficulty adjusts every 2016 blocks (~2 weeks)
- Incentive: block reward + transaction fees
### Network
- Nodes broadcast transactions
- Miners collect into blocks
- Blocks are chained via hash references
## My Thoughts
- The 21M supply cap is genius - digital scarcity
- Lightning Network solves the scaling concern
- Self-custody is the whole point
## Reading List
- [ ] Mastering Bitcoin - Andreas Antonopoulos
- [ ] The Bitcoin Standard - Saifedean Ammous
- [ ] Programming Bitcoin - Jimmy Song

View File

@@ -0,0 +1,8 @@
channel_id,peer_alias,capacity_sats,local_balance,remote_balance,status,opened_date
ch_001,ACINQ,5000000,2450000,2550000,active,2024-11-15
ch_002,WalletOfSatoshi,2000000,1200000,800000,active,2024-12-01
ch_003,Voltage,10000000,4500000,5500000,active,2024-12-20
ch_004,Kraken,3000000,1800000,1200000,active,2025-01-05
ch_005,BitcoinBeach,1000000,500000,500000,active,2025-01-22
ch_006,LNBig,8000000,3200000,4800000,active,2025-02-10
ch_007,Breez,1500000,900000,600000,inactive,2025-02-28
1 channel_id peer_alias capacity_sats local_balance remote_balance status opened_date
2 ch_001 ACINQ 5000000 2450000 2550000 active 2024-11-15
3 ch_002 WalletOfSatoshi 2000000 1200000 800000 active 2024-12-01
4 ch_003 Voltage 10000000 4500000 5500000 active 2024-12-20
5 ch_004 Kraken 3000000 1800000 1200000 active 2025-01-05
6 ch_005 BitcoinBeach 1000000 500000 500000 active 2025-01-22
7 ch_006 LNBig 8000000 3200000 4800000 active 2025-02-10
8 ch_007 Breez 1500000 900000 600000 inactive 2025-02-28

View File

@@ -0,0 +1,31 @@
# Archipelago Node Setup Checklist
## Hardware
- [x] Intel NUC / Mini PC (16GB RAM minimum)
- [x] 2TB NVMe SSD (for Bitcoin blockchain)
- [x] USB drive for Archipelago installer
- [x] Ethernet cable (recommended over WiFi)
## Initial Setup
- [x] Flash Archipelago ISO to USB
- [x] Boot from USB, follow installer
- [x] Set admin password
- [x] Connect to local network
## Core Apps
- [x] Bitcoin Knots - Full node validation
- [x] LND - Lightning Network
- [x] Mempool Explorer - Block/tx visualizer
- [ ] BTCPay Server - Payment processing
- [ ] Fedimint - Federated mint
## Security
- [x] Enable 2FA (TOTP)
- [x] Set up Tor hidden services
- [ ] Configure Tailscale VPN for remote access
- [ ] Back up node identity (DID)
## Monitoring
- [ ] Set up Grafana dashboards
- [ ] Configure Uptime Kuma alerts
- [ ] Review system logs weekly

View File

@@ -0,0 +1,37 @@
THE SOVEREIGNTY MANIFESTO
=========================
We hold these truths to be self-evident:
1. Your data belongs to you.
Not to corporations. Not to governments. Not to platforms.
To you.
2. Your money should be uncensorable.
No one should have the power to freeze your funds,
reverse your transactions, or inflate away your savings.
3. Your communications should be private.
End-to-end encryption is a right, not a feature.
Metadata collection is surveillance.
4. Your compute should be sovereign.
Running your own server is not paranoia.
It's digital self-reliance.
5. Your identity should be self-issued.
You don't need permission from a corporation
to prove who you are.
---
The tools exist. Bitcoin. Lightning. Tor. Nostr.
Self-hosted infrastructure. Open source software.
The question isn't whether it's possible.
The question is whether you'll do it.
Run your own node.
Hold your own keys.
Own your own data.
Be sovereign.

View File

@@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="800" viewBox="0 0 1200 800">
<defs>
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#1a1a2e;stop-opacity:1" />
<stop offset="100%" style="stop-color:#16213e;stop-opacity:1" />
</linearGradient>
</defs>
<rect width="1200" height="800" fill="url(#bg)"/>
<text x="600" y="380" text-anchor="middle" font-family="Arial" font-size="32" fill="rgba(255,255,255,0.6)">bitcoin-conference-2024</text>
<text x="600" y="430" text-anchor="middle" font-family="Arial" font-size="16" fill="rgba(255,255,255,0.3)">Demo Photo Placeholder</text>
</svg>

After

Width:  |  Height:  |  Size: 674 B

View File

@@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="800" viewBox="0 0 1200 800">
<defs>
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#1a1a2e;stop-opacity:1" />
<stop offset="100%" style="stop-color:#16213e;stop-opacity:1" />
</linearGradient>
</defs>
<rect width="1200" height="800" fill="url(#bg)"/>
<text x="600" y="380" text-anchor="middle" font-family="Arial" font-size="32" fill="rgba(255,255,255,0.6)">home-server-build</text>
<text x="600" y="430" text-anchor="middle" font-family="Arial" font-size="16" fill="rgba(255,255,255,0.3)">Demo Photo Placeholder</text>
</svg>

After

Width:  |  Height:  |  Size: 668 B

View File

@@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="800" viewBox="0 0 1200 800">
<defs>
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#1a1a2e;stop-opacity:1" />
<stop offset="100%" style="stop-color:#16213e;stop-opacity:1" />
</linearGradient>
</defs>
<rect width="1200" height="800" fill="url(#bg)"/>
<text x="600" y="380" text-anchor="middle" font-family="Arial" font-size="32" fill="rgba(255,255,255,0.6)">lightning-network-visualization</text>
<text x="600" y="430" text-anchor="middle" font-family="Arial" font-size="16" fill="rgba(255,255,255,0.3)">Demo Photo Placeholder</text>
</svg>

After

Width:  |  Height:  |  Size: 682 B

View File

@@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="800" viewBox="0 0 1200 800">
<defs>
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#1a1a2e;stop-opacity:1" />
<stop offset="100%" style="stop-color:#16213e;stop-opacity:1" />
</linearGradient>
</defs>
<rect width="1200" height="800" fill="url(#bg)"/>
<text x="600" y="380" text-anchor="middle" font-family="Arial" font-size="32" fill="rgba(255,255,255,0.6)">node-rack-setup</text>
<text x="600" y="430" text-anchor="middle" font-family="Arial" font-size="16" fill="rgba(255,255,255,0.3)">Demo Photo Placeholder</text>
</svg>

After

Width:  |  Height:  |  Size: 666 B

View File

@@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="800" viewBox="0 0 1200 800">
<defs>
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#1a1a2e;stop-opacity:1" />
<stop offset="100%" style="stop-color:#16213e;stop-opacity:1" />
</linearGradient>
</defs>
<rect width="1200" height="800" fill="url(#bg)"/>
<text x="600" y="380" text-anchor="middle" font-family="Arial" font-size="32" fill="rgba(255,255,255,0.6)">sunset-from-balcony</text>
<text x="600" y="430" text-anchor="middle" font-family="Arial" font-size="16" fill="rgba(255,255,255,0.3)">Demo Photo Placeholder</text>
</svg>

After

Width:  |  Height:  |  Size: 670 B