Docs

Premier déploiement

Du Dockerfile à l’application en ligne, en HTTPS, avec le CLI ark. Quatre commandes et dix minutes.

Une application Arkya, c’est ton image Docker, servie en HTTPS sur une adresse arkya.app. Tu construis l’image sur ton poste, ark l’envoie au registre d’Arkya et la met en service.

Ce qu’il te faut

  • Un compte Arkya avec un peu de solde. Voir Créer ton compte.
  • Node.js 20 ou plus récent, pour le CLI.
  • Docker, pour construire et envoyer l’image.
  • Un projet avec un Dockerfile, dont le serveur écoute sur le port donné par la variable PORT.
server.js
const http = require("node:http");

const port = Number(process.env.PORT ?? 8080);
http
  .createServer((request, response) => response.end("Bonjour depuis Arkya\n"))
  .listen(port, "0.0.0.0");

Les règles de l’image sont dans Préparer ton image.

1. Installer et connecter ark

Crée un jeton dans Jetons d’API, sur app.arkya.gg/cles, puis :

Terminal
npm install -g @arkyanet/cli
ark login

ark login te demande le jeton, le range sur ton poste et connecte Docker au registre registry.arkya.gg.

2. Créer l’application

Depuis le dossier de ton projet :

Terminal
ark init

La commande te demande le nom de l’application, puis son projet. Le nom s’écrit en minuscules, chiffres et tirets, entre 3 et 40 caractères.

Comme la création est payante, ark init te lit ensuite la demande de démarrage immédiat. Réponds o pour que l’application soit créée tout de suite. Voir Démarrage immédiat.

ark init écrit enfin arkya.json, le manifeste de ton application :

arkya.json
{
  "app": "mon-api",
  "dockerfile": "Dockerfile",
  "context": ".",
  "project": "Production",
  "env": {}
}

3. Déployer

Terminal
ark deploy

ark deploy construit l’image pour linux/amd64, l’envoie au registre, attend son analyse de sécurité, puis la met en service. Il affiche l’adresse de ton application, de la forme mon-api-a1b2c3d.arkya.app.

Le nom de la version est le commit Git en cours. Chaque déploiement en crée une nouvelle, et les anciennes restent disponibles.

4. Vérifier

Terminal
ark status
ark logs mon-api

ark status montre l’état, l’image en service et les dernières versions. ark logs lit ce que ton application écrit sur sa sortie standard.

Et ensuite