Skip to content

Commit bbe172b

Browse files
committed
Initial commit — production-ready serverdeploy
All-native AlmaLinux 9 hosting stack: - Caddy + Coraza WAF + OWASP CRS + secure_headers + ratelimit - MariaDB 12 + PostgreSQL 16 (per-tenant DB users, locked-down GRANTs) - Node.js 22 + PHP-FPM 8.3 (per-site UID, sandboxed pools) - Stalwart Mail Server with per-domain DKIM - CrowdSec + nftables firewall bouncer + GeoIP-aware ban scenario - MaxMind GeoIP block (offline mmdb or geoipupdate API) with multi-CDN trusted_proxies (Cloudflare/Fastly/Akamai/CloudFront/Bunny/Sucuri/StackPath) - phpMyAdmin + pgAdmin4 (optional, dedicated UIDs, behind allowlist+basic-auth) - restic backups to Backblaze B2, encrypted - Per-minute health check with 15-min cooldown alerts - Single-command tools: newsite, delsite, restoresite, listsite, siteuser, adminip, geoblock, waf-whitelist
0 parents  commit bbe172b

29 files changed

Lines changed: 7014 additions & 0 deletions

.gitignore

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Editor / OS
2+
*.swp
3+
*.swo
4+
*~
5+
.DS_Store
6+
.idea/
7+
.vscode/
8+
9+
# Local backups left by editors / scripts
10+
*.bak
11+
*.bak.*
12+
*.tmp
13+
*.orig
14+
15+
# Claude Code working state
16+
.claude/
17+
18+
# Anything that looks like a secret — defence in depth even though
19+
# /etc/serverdeploy/config lives on the deployed server, not in the repo
20+
*.password
21+
*-admin.txt
22+
*-basic-auth.txt
23+
*.pem
24+
*.key
25+
.env
26+
.env.*

0 commit comments

Comments
 (0)