# Como faço o deploy do meu app MEAN?

https://www.seturack.com/pt-br/base-de-conhecimento/artigo/how-do-i-deploy-my-mean-app

1. No painel, abra **Meus servidores** e clique no seu servidor.
2. Na aba **Visão geral**, espere a linha **App** mostrar "MEAN está pronto". A página se atualiza sozinha.
3. Abra o link da linha **Endereço do site**. Se a página de exemplo mostrar `MongoDB: OK`, o app está alcançando o banco de dados.

## Pastas

- `/home/app/uygulama/sunucu`: o app Express (`server.js`). A string de conexão está no arquivo `.env` ao lado dele.
- `/home/app/uygulama/istemci`: o código-fonte do Angular. O build grava o resultado na pasta `sunucu/public`.

## Alterando o código

[Conecte-se por SSH](https://www.seturack.com/pt-br/base-de-conhecimento/artigo/how-to-connect-with-ssh) e execute:

`su - app`

`cd ~/uygulama`

Depois de copiar seu código, reinicie o app:

`pm2 restart uygulama`

O app deve escutar na porta **3000**.

## MongoDB

O MongoDB só pode ser acessado de dentro do servidor. As linhas **Login** e **Senha** do painel são a conta de administrador. Para se conectar a partir do seu computador, use um túnel SSH.

## Seu próprio domínio

1. Aponte o registro A do seu domínio para o endereço IP do seu servidor.
2. Como root, troque o nome antigo em todos os lugares: `sed -i 's/OLD_NAME/yourdomain.com/g' /etc/caddy/Caddyfile`. O `OLD_NAME` é a parte depois de `https://` no endereço mostrado no painel.
3. Execute `systemctl reload caddy`.

O Caddy obtém e renova o certificado sozinho.

Apenas as portas **80**, **443** e **22** do SSH ficam abertas para fora.

**Ainda não tem um servidor?** [Peça um servidor com MEAN instalado](https://www.seturack.com/pt-br/mean-vps): você escolhe o tamanho e paga só pelo que escolheu.
