mirror of
https://github.com/marcogll/telegram_new_socias.git
synced 2026-01-13 13:15:16 +00:00
feat: Add Docker Compose configuration and instructions for Collify deployment, including build optimizations and updated README.
This commit is contained in:
16
.dockerignore
Normal file
16
.dockerignore
Normal file
@@ -0,0 +1,16 @@
|
||||
.env
|
||||
.env.bak
|
||||
__pycache__/
|
||||
.git/
|
||||
.gitignore
|
||||
.venv/
|
||||
venv/
|
||||
*.pyc
|
||||
*.pyo
|
||||
*.pyd
|
||||
*.log
|
||||
dist/
|
||||
build/
|
||||
node_modules/
|
||||
README.md
|
||||
Vanessa.md
|
||||
17
Readme.md
17
Readme.md
@@ -85,6 +85,23 @@ Para detener los contenedores, presiona `Ctrl+C` en la terminal donde se están
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
### 4. Despliegue con imagen pre-construida (Collify)
|
||||
Si Collify solo consume imágenes ya publicadas, usa el archivo `docker-compose.collify.yml` que apunta a una imagen en registro (`DOCKER_IMAGE`).
|
||||
|
||||
1) Construir y publicar la imagen (ejemplo con Buildx y tag con timestamp):
|
||||
```bash
|
||||
export DOCKER_IMAGE=registry.example.com/vanessa-bot:prod-$(date +%Y%m%d%H%M)
|
||||
docker buildx build --platform linux/amd64 -t $DOCKER_IMAGE . --push
|
||||
```
|
||||
|
||||
2) Desplegar en el servidor (Collify) usando la imagen publicada:
|
||||
```bash
|
||||
export DOCKER_IMAGE=registry.example.com/vanessa-bot:prod-20240101
|
||||
docker compose -f docker-compose.collify.yml pull
|
||||
docker compose -f docker-compose.collify.yml up -d
|
||||
```
|
||||
`docker-compose.collify.yml` usa `env_file: .env`, así que carga las credenciales igual que en local o configúralas como variables de entorno en la plataforma.
|
||||
|
||||
---
|
||||
|
||||
## 🧩 Arquitectura Interna
|
||||
|
||||
39
docker-compose.collify.yml
Normal file
39
docker-compose.collify.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
bot:
|
||||
image: ${DOCKER_IMAGE:-vanessa-bot:latest}
|
||||
container_name: vanessa_bot
|
||||
restart: always
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
- MYSQL_HOST=db
|
||||
- MYSQL_USER=${MYSQL_USER}
|
||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
command: ["python", "main.py"]
|
||||
|
||||
db:
|
||||
image: mysql:8.0
|
||||
container_name: vanessa_db
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_DATABASE: ${MYSQL_DATABASE}
|
||||
MYSQL_USER: ${MYSQL_USER}
|
||||
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "mysqladmin ping -h localhost -u${MYSQL_USER} -p${MYSQL_PASSWORD}"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 6
|
||||
start_period: 30s
|
||||
volumes:
|
||||
- mysql_data:/var/lib/mysql
|
||||
|
||||
volumes:
|
||||
mysql_data:
|
||||
Reference in New Issue
Block a user