Migrate GitHub wiki into docs/ folder#852
Merged
Merged
Conversation
Tests already pass on master before merging to production, so running the full 50-minute suite again just delays the deploy unnecessarily. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The rclone install script requires unzip/7z/busybox which aren't present in the php:8.2-fpm base image. Using the apt package is simpler and uses Debian mirrors. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The php:8.2-fpm MySQL client rejects the self-signed cert on the Fly private network. Backup runs over the internal network so SSL is not needed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Service accounts have no personal Drive quota; backups must go into the Shared Drive. Pass --drive-team-drive to all rclone calls. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
--ssl-mode=DISABLED is MySQL-specific; MariaDB client rejects it as "unknown variable", producing 0 bytes of output. Use --skip-ssl instead, which both clients accept. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Using gdrive:<ID>/ treats the ID as a folder name path, which caused rclone to create a new folder literally named with the ID string. --drive-root-folder-id correctly targets the folder by its Drive ID, so renaming the folder in Google Drive won't break the backup. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ckups) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Dockerfile.fly: build arg STARTUP_SCRIPT selects startup script; copies both startup.sh and yesterday-startup.sh into image - docker/yesterday-startup.sh: downloads closest-to-3am-UTC backup from GDrive, restores to external MySQL, writes snapshot timestamp, falls back to oldest available backup if no yesterday backup exists - fly-yesterday.toml: wire up build arg, YESTERDAY_MODE=true, APP_URL=yesterday.restarters.net, 10min health check grace period - YesterdayBanner middleware: shares snapshot time with all views - yesterday-banner.blade.php: amber banner with timestamp + link to live - header/header_plain: include banner after body tag - startup.sh: fix stale daily cron fallback to hourly Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Dockerfile.fly: conditionally installs default-mysql-server when building with STARTUP_SCRIPT=yesterday-startup.sh - yesterday-startup.sh: initialises and starts local MariaDB on 127.0.0.1, creates DB+user, then restores backup into it - fly-yesterday.toml: DB_HOST=127.0.0.1 with local credentials (no separate Fly MySQL app required) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- docker/restart-yesterday.sh: uses Fly Machines API (curl) to restart all restarters-yesterday machines; reads FLY_YESTERDAY_RESTART_TOKEN secret set on the production app - Dockerfile.fly: copies restart-yesterday.sh into image; adds '0 5 * * *' cron entry alongside backup and watchdog - startup.sh: fallback check ensures restart-yesterday is in crontab after deploys that predate this entry Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…irst Health check fires immediately on boot; supervisord must start before the restore so nginx can respond to /robots.txt. MariaDB and restore now run in background — app shows DB errors for ~2min while restoring. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replaces 16 GitHub wiki pages with versioned Markdown docs in the repo: - docs/contributing.md — branching strategy, hotfix workflow - docs/integrations.md — Discourse SSO, MediaWiki sync, WordPress, cross-module auth - docs/queue-and-email.md — queue driver, retry/failure, email mailer config - docs/operations.md — procedure for deleting groups created in error - docs/frontend-architecture.md — Vue/Blade integration, component patterns, API tokens Updates README.md to link to docs/ rather than the GitHub wiki. Obsolete wiki pages (Deployment, Installation, Tech debt laundry list, Regression Testing, Development History, Home) have no repo equivalent needed — their content is either superseded by existing docs or no longer relevant. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
docs/rather than the GitHub wikicontributing.md,integrations.md,queue-and-email.md,operations.md,frontend-architecture.mdWhat each doc covers
docs/contributing.mddocs/integrations.mddocs/queue-and-email.mddocs/operations.mddocs/frontend-architecture.mdObsolete wiki pages (no repo equivalent needed)
docs/fly-deployment.mddocs/local-development.mdTest plan
🤖 Generated with Claude Code