Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Coolify! #611

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Coolify! #611

wants to merge 1 commit into from

Conversation

northeastprince
Copy link
Collaborator

@northeastprince northeastprince commented Jan 14, 2025

Migration Plan

Before operation commencement

  • Prep and test Litestream restore command
  • Spin up temporary Hetzner server that responds 503 with a Retry-After and plaintext response showing a conservative downtime estimate of 5 minutes
  • Prep DNS PR changing A record's TTL to a second
  • Prep DNS PR changing A record to point to Coolify server

M-minus A record's TTL (currently 10 minutes)

  • Merge DNS PR changing TTL

M-minus 0

  • Pause all job queues
  • Remove app server from LB pool and add temp server
  • Run Litestream restore command one last time to sync latest data
  • Smoke test on temp endpoint
  • Merge DNS PR changing destination to Coolify server
  • Unpause queues

@zachlatta
Copy link
Member

Thanks so much for doing this. Please use Postgres if you can instead of a volume. The VPS should be considered stateless

@northeastprince
Copy link
Collaborator Author

Won't Postgres be hosted on the VM?

@zachlatta
Copy link
Member

Yeah, but it'll be automatically backed up to the s3 backup destination so it can easily be restored.

@northeastprince
Copy link
Collaborator Author

The database is currently synchronously replicated to S3 with Litestream

@zachlatta
Copy link
Member

zachlatta commented Jan 14, 2025 via email

@northeastprince
Copy link
Collaborator Author

Oh, that's awesome! It looks like there might either be multiple Hack Club orgs in Hetzner Cloud (the one I have access to is owned by @maxwofford) or I just can't see the bucket in question. But this app needs persistent (not autocleaned like the backups one) storage anyway to store images and whatnot anyway, so should I just create a separate bucket under the org and use that one?

@northeastprince
Copy link
Collaborator Author

Additionally, I'll need permissions to merge DNS PRs to minimize downtime unless someone else wants to take point on this. Feel free to add anything I missed to the migration plan above!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants