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
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:
docker-deploy-stack --stack python/flask-mysql
Ou executar o comando sem argumentos para escolhê-lo a partir de um menu interativo:
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:
/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:
.
├── 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:
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:
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:
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:
docker compose up -d
Comandos que você vai usar com frequência
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.