Web principal y panel de servicios para TodoSobreAllTech/Cintiabot.
apps/web: frontend React + Vite.apps/api: API Express.apps/pocketbase: migraciones y hooks de PocketBase.
- Copia
.env.examplea.env. - Rellena las variables reales en
.env. - No subas
.enval repositorio.
cp .env.example .envnpm install
npm run devdocker compose up -d --buildLa web queda expuesta en http://localhost:8080.
El docker-compose.yml incluye labels para Traefik en el servicio web y no crea otro contenedor Traefik. Solo conecta la web a una red externa ya existente.
Variables principales:
WEB_HOST=todosobreall.tech
TRAEFIK_NETWORK=traefik
TRAEFIK_ENTRYPOINT=websecure
TRAEFIK_CERT_RESOLVER=letsencryptSi Traefik ya esta corriendo, averigua primero su red:
docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Ports}}'
docker inspect traefik --format '{{json .NetworkSettings.Networks}}'Si el contenedor tiene otro nombre, sustituye traefik por el nombre real. Despues pon ese nombre de red en .env:
TRAEFIK_NETWORK=nombre_de_la_red_existenteSolo si no existe ninguna red externa para Traefik, creala una vez:
docker network create traefikEl bloque networks.traefik.external: true hace que Compose reutilice esa red y falle si no existe, evitando crear una red aislada que Traefik no pueda ver.
Consulta CHANGELOG.md para ver el historial de cambios del proyecto.
Este repositorio no debe incluir:
.envreales.- Tokens de Telegram.
- Claves de cifrado.
apps/pocketbase/pb_data.- Binarios generados de PocketBase.