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
|
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
|
## 🧩 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