Skip to content

About

Official site for movetoeu.cloud

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

movetoeu.cloud

Landing page for movetoeu.cloud — deploy production-ready Kubernetes clusters on EU cloud providers using Terraform/OpenTofu.

Stack

  • Vite + React + TypeScript
  • shadcn/ui + Tailwind CSS
  • Vitest + Testing Library

Development

npm i
npm run dev      # http://localhost:8080
npm run build
npm run lint
npm run test

Deploying

The static site lives on Hetzner webhosting and is deployed over SFTP with deploy.sh (needs brew install lftp):

cp deploy.env.example deploy.env   # already filled in locally
./deploy.sh --dry-run              # show what would change, upload nothing
./deploy.sh                        # test, build, mirror dist/ -> public_html/
./deploy.sh --no-build             # mirror the existing dist/ as-is

It authenticates with the ssh key registered under SSH in konsoleH, mirrors dist/ into the docroot (deleting stale hashed assets), and then checks that the live site actually serves the new bundle. public/.htaccess ships with the build: it routes unknown paths to index.html for client-side routing and sets cache headers.

Waitlist API

Signup forms POST to the notify endpoint, which lives in its own project at ../api (FastAPI + Lettermint, an EU-based email API). It is deployed separately to https://api.movetoeu.cloud.

  • Production: .env.production sets VITE_NOTIFY_ENDPOINT to https://api.movetoeu.cloud/api/notify. Since that is a different origin, the API host needs ALLOW_ORIGINS=https://movetoeu.cloud in its env file.
  • Dev: no env var is set, so the forms hit /api/notify and Vite proxies /api to localhost:3001. Run the API there with cd ../api && uv run uvicorn main:app --port 3001.

About

Official site for movetoeu.cloud

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages