Private
Public Access
1
0
Commit Graph

18 Commits

Author SHA1 Message Date
constantprojects
3846070818 Add cd ~/websitebox to docker compose command in setup summary
Users copying the command from the summary were running it from
their home directory, causing 'no configuration file provided'.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 08:59:55 -07:00
constantprojects
a35569863e Add colored output and UX improvements to setup.sh
- Config option labels (domain, email, etc.) shown in bold blue
- Errors in red, warnings in yellow, success checkmarks in green
- Password field: note that input won't appear on screen
- SMTP prompt: "if you don't know what this is, press Enter to skip"
- Summary next steps: detailed A record fields (Type, Name, Value, TTL)
  with explanations, dig command with success/failure examples,
  "copy this command into the server terminal" instead of "run"
- Matching color scheme with install.sh (header, section, etc.)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 08:59:14 -07:00
constantprojects
d76c572af8 Fix stdin: use targeted /dev/tty redirects instead of exec
The exec < /dev/tty approach silently killed the script under set -e
if /dev/tty wasn't accessible. Replace with surgical redirects on
just the interactive reads and setup.sh invocation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 08:52:48 -07:00
constantprojects
dcbcf799c4 Fix stdin hijack when run via curl | bash
When piped through curl, stdin is the download stream, not the
terminal. This caused setup wizard prompts to read empty input
(the 'rogue enter' bug). Fix: reopen stdin from /dev/tty before
any interactive prompts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 08:50:39 -07:00
constantprojects
eca351057b Add colored output to install.sh, update all URLs to Gitea
Color system: green checkmarks for success, orange bold for info/hints,
cyan section headers, bold white title headers, yellow warnings, red
errors. Rolling progress preview lines shown in dim. UFW "Rules updated"
noise suppressed.

Updated all repository URLs from github.com/websitebox/websitebox to
git.constantprojects.xyz/tankadmin/websitebox across install.sh,
guide.md, and README.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 08:49:13 -07:00
constantprojects
9ec246cb65 Add rolling 4-line progress preview to install.sh
Long-running apt commands now show a live 4-line preview window that
overwrites in place using terminal escape codes. Users see what's
happening without the screen flooding with package manager output.
Preview auto-clears when each step completes.

Also fixes: duplicate else branch in Docker if/else block,
adds DEBIAN_FRONTEND=noninteractive and --force-confold to prevent
interactive dpkg prompts (sshd_config, etc).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 08:45:18 -07:00
constantprojects
06ecfe1034 Auto-keep existing config files during apt upgrade
Adds --force-confold to prevent interactive dpkg prompts (e.g.
sshd_config) that would block unattended installation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 08:41:35 -07:00
constantprojects
5973331f64 Add progress descriptions to install.sh for slow connections
Each major install step now shows what it does and how long to expect:
- System update: 2-10 min on fresh servers
- Security tools: under a minute
- Docker: 1-3 min (largest download)
- Clone: a few seconds

Updated guide.md terminal output to match.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 08:38:33 -07:00
constantprojects
c05c32f70c Polish guide.md for accessibility (iteration 4)
- Add itemized cost breakdown in intro step
- Explain "root" before SSH step, recommend password managers
- Add VPS web console fallback tip
- Explain what ssh root@IP means inline
- Explain what curl | bash does with link to source code
- Add registrar-specific DNS navigation instructions
- Add www CNAME record tip
- Add dig/dnsutils install hint
- Expand dpkg pink/purple screen guidance
- Add SSH reconnection tip if connection drops during install
- Fix "Going Further" to reference automated (not manual) security setup
- Improve password storage callout with Bitwarden/1Password links
- Add SMTP pricing details for email services
- Describe WordPress dashboard sidebar layout
- Explain Ctrl+C key combo for beginners
- Add SSH timeout troubleshooting with web console reference
- Add GitHub issues link for getting help

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 16:35:26 -07:00
constantprojects
b7dc25fbf2 Automate server hardening in install.sh, update guide accordingly
Move firewall (UFW), fail2ban, auto-updates, and Docker log rotation
from manual guide steps into install.sh automation. Update guide.md
to describe the automated process instead of manual commands.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 16:32:47 -07:00
constantprojects
d63701abfb Add auto-updates and Docker log rotation to server setup
In the "Secure Your Server" guide step:
- Install unattended-upgrades for automatic OS security patches
- dpkg-reconfigure to enable daily auto-updates
- Callout explaining auto-updates won't touch Docker/WordPress
- Create /etc/docker/daemon.json with log rotation (10MB max,
  3 files per container) before Docker is installed
- mkdir -p to handle pre-Docker directory creation
- Harmless docker restart with || true fallback
- Updated intro text to reflect four setup concerns

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 16:25:20 -07:00
constantprojects
f8983792f7 Add firewall (UFW) and fail2ban setup step to guide.md
New "Secure Your Server" step between connecting and installing:
- apt update/upgrade for security patches
- UFW firewall: allow SSH, HTTP, HTTPS only
- fail2ban: brute-force SSH protection
- Clear danger callout about SSH lockout risk
- Expected terminal output for verification
- Plain-English explanations of what each command does
- Updated "Going Further" to reference earlier security setup

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 16:22:10 -07:00
constantprojects
8914f64be5 Add guide.md sync rule to CLAUDE.md critical rules
Any change that alters user-facing flow must also be reflected in
guide.md. This ensures the beginner deployment guide stays accurate
as the codebase evolves.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 15:18:49 -07:00
constantprojects
5ec16a3952 Final polish pass on guide.md (iteration 3)
- Fix all step number references to use descriptive names instead
  (step numbering shifts when steps are added/removed)
- Add WordPress.org vs WordPress.com explainer callout
- Fix Age Gate link to wordpress.org plugin directory
- Explain ./ prefix for running scripts
- Add popular SMTP relay services (Mailgun, SendGrid, Amazon SES)
- Break down nuclear option commands line by line
- Add server security tip (SSH keys) in Going Further
- Add WordPress block editor guide link

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 14:48:12 -07:00
constantprojects
bcbeec7bcb Polish guide.md for absolute beginners (iteration 2)
- Add "What You're Building" intro step explaining WordPress and
  what users will end up with, plus a pre-flight checklist
- Add Debian 12 to supported OS choices
- Fix broken Porkbun registrar link
- Explain terminal concepts: cd, ~, dig +short
- Break down intimidating password reset command with worked example
- Add "Going Further" step with next ideas (offsite backups, contact
  forms, SEO, CDN, learning resources)
- Add "what does success look like" description after first visit
- Clarify SSH reconnection instructions in maintenance section
- Add dig fallback for systems without dig installed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 14:46:09 -07:00
constantprojects
0f927f1a17 Enhance guide.md for non-technical audiences
- Add detailed explanations of every concept (VPS, SSH, DNS, Docker)
- Add hyperlinks to all external tools and services
- Expand setup wizard walkthrough with full terminal output example
- Add concrete examples for each wizard prompt
- Add tips for common gotchas (paste shortcuts, invisible passwords, etc.)
- Expand troubleshooting with worked examples
- Add plugin descriptions and links (Wordfence, UpdraftPlus, Age Gate)
- Add healthcheck expected output example
- Add monthly maintenance recommendation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 14:44:02 -07:00
constantprojects
43e0353224 Add deployment guide and fix stale README theme listing
- Create guide.md: step-by-step deployment guide in ProjectPublic
  markup format, written for non-technical users
- Add guide-format.txt: markup syntax reference
- Fix README.md: remove references to deleted templates/ and parts/
  directories in theme tree listing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 14:34:04 -07:00
constantprojects
a440026701 Initial commit: complete WebsiteBox project
Docker-based self-hosted WordPress deployment system with:
- Four-container stack (nginx, wordpress/php-fpm, mariadb, certbot)
- Automatic SSL via Let's Encrypt with self-signed fallback
- First-boot WordPress setup via WP-CLI (GeneratePress + child theme, plugins)
- Interactive setup wizard and one-line install script
- Backup, update, healthcheck, and SSL renewal scripts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:24:23 -07:00