Installer un site vitrine sur un VPS
Convex, bootstrap, DNS, Traefik. Staging Let's Encrypt d'abord. Le rollback rejoue le pipeline sur un sha.
Installer un site vitrine sur un VPS, avec AstroTan, c'est un ordre. Convex d'abord, variables ensuite, DNS, puis Compose derrière Traefik. Inverser deux étapes, c'est un certificat refusé ou un frontend qui parle à un schéma trop vieux.
Personne ne « déploie AstroTan » pour toi. Tu clones le template. Chaque instance a son Convex, ses domaines, sa machine. Cette page dit la séquence. Le pilier dit ce que tu installes.
Ce qu'il te faut avant de commencer
Un déploiement Convex (URLs *.convex.cloud / *.convex.site, clé de deploy). Un dépôt GitHub. Deux domaines, site et admin. Un VPS avec Docker, un utilisateur non-root, les ports 80 et 443 libres. Une clé SSH pour le workflow.
Les packages GHCR sont privés par défaut. Décide public ou docker login avant le premier pull. Sinon Compose échoue sur une image que la machine n'a pas le droit de lire.
Bootstrap, puis le premier déploiement
pnpm bootstrap est le seul script qui voit toute la configuration. Il lit .env.deploy, pose les variables Convex, écrit les .env.local, pousse les secrets GitHub, prépare .env.vps. Tu copies ce fichier sur la machine, chmod 600. Le pipeline ne l'écrase jamais.
Après le premier convex deploy, tu relances bootstrap une fois : il crée les lignes pages (sans elles chaque URL répond 404) et le premier compte, rôle owner. Un premier compte admin bloque le déploiement à un seul administrateur, sans issue par l'interface.
Certificats en staging
Let's Encrypt production autorise cinq certificats par sept jours. Le premier essai se fait contre la CA de staging. Le DNS doit pointer sur le VPS, sans proxy orange devant le challenge HTTP-01. Quand le staging répond, tu bascules.
Umami, Redis et Postgres partent dans la même pile. Le site public n'embarque aucun cookie de mesure tant que tu n'as pas déclaré le tracker et obtenu une réponse.
Rollback : rejouer un sha
Remettre les anciennes images laisse le schéma d'aujourd'hui face au frontend d'hier. convex deploy a déjà remplacé functions et tables. Le retour arrière relance le pipeline entier sur un sha : functions, images, compose.
Pour le SEO une fois en ligne, site SEO GEO. Pour un proto Cursor, vibecoding. Les fonctions, les tarifs, écrire.