docs: add all untracked content
This commit is contained in:
parent
b4ff8f0287
commit
26d5a8b7be
45
cheat-sheet.md
Normal file
45
cheat-sheet.md
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
---
|
||||||
|
title: Maintenance Cheat Sheet
|
||||||
|
description: Simple commands for general management of the server
|
||||||
|
published: 1
|
||||||
|
date: 2026-01-22T18:02:12.325Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2026-01-22T18:02:09.446Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠️ Maintenance & CLI Cheat Sheet
|
||||||
|
|
||||||
|
Common commands for managing Docker, Caddy, and developing apps.
|
||||||
|
|
||||||
|
## 🐳 Docker Management
|
||||||
|
* **List running containers:**
|
||||||
|
```bas
|
||||||
|
docker ps
|
||||||
|
```
|
||||||
|
* **Restart all apps:**
|
||||||
|
```bash
|
||||||
|
cd ~/directory && docker compose up -d
|
||||||
|
```
|
||||||
|
* **Clean up unused images:**
|
||||||
|
```bash
|
||||||
|
docker system prune -a
|
||||||
|
```
|
||||||
|
|
||||||
|
### Caddy Specific
|
||||||
|
* **Check Config Syntax:**
|
||||||
|
```bash
|
||||||
|
docker exec -w /etc/caddy caddy-proxy caddy validate
|
||||||
|
```
|
||||||
|
* **Apply Changes (reload):**
|
||||||
|
```bash
|
||||||
|
docker exec -w /etc/caddy caddy-proxy caddy reload
|
||||||
|
```
|
||||||
|
|
||||||
|
# 🏗️ Development Reminders
|
||||||
|
|
||||||
|
Node.js Build Command: Use `Buildx` to ensure compatibility with linux/amd64 architecture.
|
||||||
|
```bash
|
||||||
|
docker buildx build --platform linux/amd64 -t your-image-name .
|
||||||
|
```
|
||||||
|
|
||||||
38
google-drive.md
Normal file
38
google-drive.md
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
---
|
||||||
|
title: 🛠️ Rclone & Google Drive Setup
|
||||||
|
description: Description for setup of Rclone and Google Drive on the server
|
||||||
|
published: 1
|
||||||
|
date: 2026-01-23T17:53:17.857Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2026-01-23T17:53:15.017Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🛠️ Rclone Cloud Integration
|
||||||
|
|
||||||
|
This server uses **Rclone** to mount a specific subdirectory of Google Drive.
|
||||||
|
|
||||||
|
## 🔑 Connection Credentials
|
||||||
|
* **Google Cloud Project:** `georgew`
|
||||||
|
* **API Enabled:** Google Drive API
|
||||||
|
* **Auth Type:** OAuth2 (Client ID & Secret)
|
||||||
|
* **Remote Name:** `gdrive`
|
||||||
|
|
||||||
|
## 📁 Mount Specifics
|
||||||
|
To maximize security, the mount is restricted to a single folder. If I want to change in future I should re-initialise the mount. This would also need to update the systemd service (below) and also to update the audiobookshelf admin library setting (point to the new folder for audiobooks):
|
||||||
|
* **Source (Google Drive):** `gdrive:audiobooks`
|
||||||
|
* **Destination (Server):** `~/google-drive`
|
||||||
|
* **Access Level:** "Least Privilege" (The server cannot see any other Google Drive data).
|
||||||
|
|
||||||
|
## ⚙️ System Management
|
||||||
|
The mount is managed by a **systemd service** to ensure it restarts automatically.
|
||||||
|
|
||||||
|
* **Service File:** `/etc/systemd/system/rclone-gdrive.service`
|
||||||
|
* **Common Commands:**
|
||||||
|
* Check Status: `sudo systemctl status rclone-gdrive`
|
||||||
|
* Restart Mount: `sudo systemctl restart rclone-gdrive`
|
||||||
|
* Force Unmount: `fusermount -uz ~/google-drive`
|
||||||
|
|
||||||
|
## 🚀 Moving Books
|
||||||
|
To move a book from the local SSD to the Cloud Archive:
|
||||||
|
`mv ~/audiobookshelf/audiobooks/AuthorName ~/google-drive/`
|
||||||
41
home.md
Normal file
41
home.md
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
---
|
||||||
|
title: Home
|
||||||
|
description: Useful links
|
||||||
|
published: 1
|
||||||
|
date: 2026-01-23T17:54:22.790Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2026-01-22T18:07:18.049Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🚀 George's Server Documentation
|
||||||
|
|
||||||
|
Welcome to the internal knowledge base for **personal-server-1**. This wiki contains everything needed to manage, maintain, and scale the current server infrastructure.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📂 Quick Navigation
|
||||||
|
|
||||||
|
### 🛡️ [Server Overview & Access](/server-overview)
|
||||||
|
*IP addresses, SSH credentials, Hetzner firewall settings, and security policies.*
|
||||||
|
|
||||||
|
### 🛠️ [Maintenance Cheat Sheet](/cheat-sheet)
|
||||||
|
*Essential Docker commands, Caddy reload instructions, and Node.js build reminders.*
|
||||||
|
|
||||||
|
### 📦 [Application Inventory](/inventory)
|
||||||
|
*A full list of running containers, their internal paths, and public URLs.*
|
||||||
|
|
||||||
|
### 📦 [Rclone and Google Drive (Audiobooks](/google-drive)
|
||||||
|
*Description for the setup of rclone, and audiobook library.*
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔗 External Dashboards
|
||||||
|
* **[Uptime Kuma (Status)](https://status.georgew.dev)** - Real-time monitoring and alert settings.
|
||||||
|
* **[Dozzle (Logs)](https://logs.georgew.dev)** - Live container log viewer.
|
||||||
|
* **[Hetzner Console](https://console.hetzner.cloud)** - Infrastructure management and billing.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> **Note:** Access to this wiki is restricted to authorized users. All server changes should be documented here immediately to maintain a "Single Source of Truth."
|
||||||
30
inventory.md
Normal file
30
inventory.md
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
title: Inventory
|
||||||
|
description: List of services
|
||||||
|
published: 1
|
||||||
|
date: 2026-01-23T18:38:08.683Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2026-01-22T18:04:19.256Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# 📦 Application Inventory
|
||||||
|
|
||||||
|
Current status and internal paths for all services running on this server.
|
||||||
|
|
||||||
|
| Application | Internal Path | Public URL | Purpose |
|
||||||
|
| :--- | :--- | :--- | :--- |
|
||||||
|
| **Portfolio** | `~/portfolio` | `georgew.dev` | Public resume/site. |
|
||||||
|
| **Survey App** | `~/survey` | `datasaur.dev` | Internal tools. |
|
||||||
|
| **Caddy** | `~/caddy` | N/A | SSL & Routing. |
|
||||||
|
| **Dozzle** | `~/dozzle` | `logs.georgew.dev` | Real-time logs (Secured). |
|
||||||
|
| **Uptime Kuma**| `~/uptime-kuma`| `status.georgew.dev`| Monitoring & Alerts. |
|
||||||
|
| **Wiki.js** | `~/wiki` | `wiki.georgew.dev` | This documentation!. |
|
||||||
|
| **Audiobookshelf** | `~/audiobookshelf` | `http://100.66.70.69:13378` | Audiobook & Podcast Server. |
|
||||||
|
| **Rclone Mount** | `~/google-drive` | N/A | Google Drive Cloud Storage Bridge. |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔔 Notifications
|
||||||
|
* **Service Alerts:** Managed via Uptime Kuma.
|
||||||
|
* **Channel:** Telegram Bot (`@georgew_server_bot`).
|
||||||
41
server-overview.md
Normal file
41
server-overview.md
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
---
|
||||||
|
title: Server Overview
|
||||||
|
description: Details of the server
|
||||||
|
published: 1
|
||||||
|
date: 2026-01-23T17:45:34.480Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2026-01-22T17:55:26.650Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🖥️ Server Overview & Access
|
||||||
|
|
||||||
|
This page contains the core connection details for the George's Personal Server hosted on Hetzner Cloud.
|
||||||
|
|
||||||
|
## 📍 Connection Details
|
||||||
|
* **Hetzner IP:** `188.34.204.15`
|
||||||
|
* **Location:** Nuremberg, Germany (hel1)
|
||||||
|
* **SSH User:** `george`
|
||||||
|
* **SSH Command:** `ssh george@188.34.204.15`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔒 Security Configuration
|
||||||
|
* **Firewall (UFW):** Active.
|
||||||
|
* Allowed Ports: `22` (SSH), `80` (HTTP), `443` (HTTPS).
|
||||||
|
* **Fail2Ban:** Active. Protects against brute-force SSH attempts.
|
||||||
|
* **Snapshot Policy:** Manual snapshots should be taken in the Hetzner Console before major changes.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🌐 Domain Management
|
||||||
|
* **Registrar:** Namecheap.
|
||||||
|
* **DNS Strategy:** Individual A Records for subdomains.
|
||||||
|
|
||||||
|
## 💾 Storage Architecture
|
||||||
|
The server uses a **Hybrid Storage** model to balance performance and cost:
|
||||||
|
* **Local SSD (Hot):** 28GB available on `/`. Stores app configs and "Current Listen" audiobooks.
|
||||||
|
* **Cloud Storage (Cold):** 2TB Google One via Rclone.
|
||||||
|
* **Mount Point:** `~/google-drive`
|
||||||
|
* **Logic:** Uses a 10GB local VFS cache to ensure smooth streaming without high latency.
|
||||||
|
|
||||||
Loading…
Reference in a new issue