# Réseau et adresses

> Port interne, adresse publique, alias de projet : qui joint quoi.

Un service Arkya a jusqu'à trois façons d'être joint. Elles ne servent pas au même
usage, et toutes ne sont pas ouvertes en même temps.

## Le port interne

C'est le port sur lequel ton processus écoute **dans** le conteneur. Pour un serveur
Minecraft, 25565. Pour une application web, ce que tu veux — mais Arkya te le pose
dans `$PORT` au démarrage, et le plus simple est de l'écouter.

```bash
ark net mon-service
```

```
alias interne  api-boutique
projet         Production
port interne   8080
sur Internet   ouvert 51.210.44.12:30017
```

<Warning>
  Une application qui écoute en dur sur un port codé en clair ne répondra pas. Lis
  `process.env.PORT` (ou son équivalent) et écoute dessus.
</Warning>

## L'adresse publique

Quand un service est publié, le nœud lui réserve une adresse IP et un port. C'est ce
que `ark ls` montre dans la colonne adresse, et ce que tu donnes à tes joueurs ou à
ton nom de domaine.

```bash
ark net mon-service --public
ark net mon-service --private
```

Fermer ne détruit rien : le port reste réservé, mais plus rien n'est publié sur le
nœud. Seuls les services du même projet peuvent encore joindre celui-ci.

## L'alias de projet

À l'intérieur d'un projet, un service se joint par son alias — voir
[Les projets](/comprendre/projets#l-alias-interne). C'est la bonne façon de brancher
une application sur sa base : rien ne transite par Internet, et rien ne casse quand
une adresse change.

## Pointer un nom de domaine

Pour un service publié, crée un enregistrement `A` vers l'IP donnée par `ark net`.
Si le port public n'est pas 80 ou 443, il faudra soit un `SRV` (Minecraft le lit),
soit un reverse proxy devant.

<CodeGroup>

```dns Web
api.exemple.fr.  300  IN  A  51.210.44.12
```

```dns Minecraft
_minecraft._tcp.jeu.exemple.fr. 300 IN SRV 0 5 30017 jeu.exemple.fr.
jeu.exemple.fr.                 300 IN A   51.210.44.12
```

</CodeGroup>

## Ce qui ne se change pas depuis le CLI

Le port interne d'un serveur de jeu est posé par son édition : Arkya le connaît, et
le changer casserait l'installation. `ark net` te dira que l'exposition n'est pas
modifiable plutôt que d'échouer à moitié.
