¿Cómo despliego un Stack?
Un Stack es un entorno completo listo para tu aplicación: el contenedor de tu lenguaje, la base de datos si el Stack la incluye, un nginx que recibe el tráfico del puerto 80, un servicio de backups automáticos y un administrador de archivos web. Se instala con un solo comando.
Antes de empezar
Necesitás conectarte por SSH a tu servidor con los datos que te enviamos al activar el servicio.
Ejemplo de datos de conexión SSH:
Host: 69.61.21.122
Usuario: root
Contraseña: (la contraseña root de tu cloud)
Puerto: (puerto específico para tu cloud)

Ejemplo de conexión con Putty
Docker y Docker Compose ya vienen instalados en el servidor. No hace falta que instales nada más.
Ver los Stacks disponibles
docker-deploy-stack --list
El comando lista cada Stack con su lenguaje y su identificador, en el formato lenguaje/stack. Ese identificador es el que vas a usar para instalarlo.
Instalar un Stack
Podés instalarlo directamente, sin menú:
docker-deploy-stack --stack python/flask-mysql
O ejecutar el comando sin argumentos para elegirlo desde un menú interactivo:
docker-deploy-stack

Opciones útiles
| Opción | Para qué sirve |
|---|---|
--list |
Lista los Stacks disponibles. |
--stack lenguaje/stack |
Instala ese Stack sin pasar por el menú. |
--language python |
Muestra en el menú solo los Stacks de ese lenguaje. |
--install-dir /opt/stacks |
Instala en otro directorio. Por defecto es /root. |
--dry-run |
Muestra qué se instalaría, sin descargar nada. |
Dónde queda instalado
Por defecto, en:
/root/stack/<lenguaje>/<stack>/
Por ejemplo, /root/stack/python/flask-mysql/. Si usaste --install-dir, la ruta es ese directorio seguido de stack/<lenguaje>/<stack>/.
Ese directorio es el centro de todo. Adentro vas a encontrar:
.
├── app/ el código de tu aplicación
├── app.Dockerfile cómo se construye la imagen de tu aplicación
├── compose.yaml la definición de todos los servicios
├── nginx/default.conf el nginx que recibe el tráfico del puerto 80
├── backup/ el script de backups automáticos
├── .env la configuración editable del Stack
└── .env.example los valores por defecto, como referencia
Levantar el Stack
Entrá al directorio del Stack y levantalo:
cd /root/stack/python/flask-mysql
docker compose up -d
La primera vez tarda unos minutos, porque descarga las imágenes y construye la de tu aplicación.
Cuando termina, ya podés abrir el dominio de tu servidor en el navegador y ver la aplicación de ejemplo que trae el Stack.

Las contraseñas se generan solas
No hay ningún archivo de contraseñas para editar antes de levantar el Stack. La primera vez que arranca, el Stack genera una contraseña aleatoria para la base de datos y la guarda en un volumen interno de Docker, al que solo llegan los contenedores que la necesitan.
Si en algún momento necesitás esa contraseña, por ejemplo para conectarte con un cliente de base de datos:
docker compose exec db cat /run/secrets/db-password
Configurar el Stack
Al instalarlo se crea un archivo .env a partir de .env.example. Ahí están los valores que podés cambiar:
APP_PORT=80 # puerto público del Stack
APP_ENV=development # entorno de la aplicación
DB_NAME=example # nombre de la base de datos
BACKUP_ENABLED=1 # backups automáticos
BACKUP_INTERVAL_SECONDS=86400 # cada cuánto se hace un backup
BACKUP_RETENTION_DAYS=7 # cuántos días se conservan
Después de cambiar el .env, aplicá los cambios:
docker compose up -d
Comandos que vas a usar seguido
docker compose ps # qué contenedores están corriendo
docker compose logs -f # ver los logs en vivo
docker compose restart # reiniciar los servicios
docker compose down # detener y eliminar los contenedores
Siguiente paso
El Stack instalado trae una aplicación de ejemplo. Para reemplazarla por la tuya, seguí como-despliego-una-aplicacion-en-un-stack.md.