Central de Ajuda

Como implanto um Stack?

Um Stack é um ambiente completo pronto para sua aplicação: o container da sua linguagem, o banco de dados se o Stack o inclui, um nginx que recebe o tráfego da porta 80, um serviço de backups automáticos e um gerenciador de arquivos web. Ele é instalado com um único comando.

Antes de começar

Você precisa se conectar via SSH ao seu servidor com os dados que enviamos ao ativar o serviço.

Exemplo de dados de conexão SSH:

Host: 69.61.21.122
Usuário: root
Senha: (a senha root do seu cloud)
Porta: (porta específica para seu cloud)

Exemplo de conexão com Putty

Docker e Docker Compose já vêm instalados no servidor. Não é necessário instalar mais nada.

Ver os Stacks disponíveis

bash
docker-deploy-stack --list

O comando lista cada Stack com sua linguagem e seu identificador, no formato linguagem/stack. Esse identificador é o que você vai usar para instalá-lo.

Instalar um Stack

Você pode instalá-lo diretamente, sem menu:

bash
docker-deploy-stack --stack python/flask-mysql

Ou executar o comando sem argumentos para escolhê-lo a partir de um menu interativo:

bash
docker-deploy-stack

Opções úteis

Opção Para que serve
--list Lista os Stacks disponíveis.
--stack linguagem/stack Instala esse Stack sem passar pelo menu.
--language python Mostra no menu apenas os Stacks dessa linguagem.
--install-dir /opt/stacks Instala em outro diretório. Por padrão é /root.
--dry-run Mostra o que seria instalado, sem baixar nada.

Onde fica instalado

Por padrão, em:

text
/root/stack/<linguagem>/<stack>/

Por exemplo, /root/stack/python/flask-mysql/. Se você usou --install-dir, o caminho é esse diretório seguido de stack/<linguagem>/<stack>/.

Esse diretório é o centro de tudo. Dentro você vai encontrar:

text
.
├── app/                  o código da sua aplicação
├── app.Dockerfile        como a imagem da sua aplicação é construída
├── compose.yaml          a definição de todos os serviços
├── nginx/default.conf    o nginx que recebe o tráfego da porta 80
├── backup/               o script de backups automáticos
├── .env                  a configuração editável do Stack
└── .env.example          os valores padrão, como referência

Iniciar o Stack

Acesse o diretório do Stack e inicie-o:

bash
cd /root/stack/python/flask-mysql
docker compose up -d

A primeira vez leva alguns minutos, porque baixa as imagens e constrói a da sua aplicação.

Quando terminar, você já pode abrir o domínio do seu servidor no navegador e ver a aplicação de exemplo que o Stack traz.

As senhas são geradas automaticamente

Não existe nenhum arquivo de senhas para editar antes de iniciar o Stack. A primeira vez que ele inicia, o Stack gera uma senha aleatória para o banco de dados e a guarda em um volume interno do Docker, ao qual somente chegam os contêineres que precisam dela.

Se em algum momento você precisar dessa senha, por exemplo para se conectar com um cliente de banco de dados:

bash
docker compose exec db cat /run/secrets/db-password

Configurar o Stack

Ao instalá-lo é criado um arquivo .env a partir de .env.example. Ali estão os valores que você pode alterar:

bash
APP_PORT=80                      # porta pública do Stack
APP_ENV=development              # ambiente da aplicação
DB_NAME=example                  # nome do banco de dados
BACKUP_ENABLED=1                 # backups automáticos
BACKUP_INTERVAL_SECONDS=86400    # a cada quanto é feito um backup
BACKUP_RETENTION_DAYS=7          # por quantos dias são mantidos

Depois de alterar o .env, aplique as mudanças:

bash
docker compose up -d

Comandos que você vai usar com frequência

bash
docker compose ps          # quais contêineres estão rodando
docker compose logs -f     # ver os logs ao vivo
docker compose restart     # reiniciar os serviços
docker compose down        # parar e remover os contêineres

Próximo passo

O Stack instalado traz uma aplicação de exemplo. Para substituí-la pela sua, siga como-despliego-una-aplicacion-en-un-stack.md.

Guia g.0320 · Versão de origem 1 · pt-BR