Cliente web para jogar MUD via navegador.
backend/: backend Python (FastAPI, WebSocket, sessões, sons, testes)frontend/: frontend estático (HTML, CSS, JS e assets)docker-compose.yml: composição local com serviçosmud-backendemud-frontendVERSION: versão base usada para tags de release no GitHub Actions
O projeto shamy é independente e deve ser operado em stack própria fora deste repositório.
docker compose up --build- Serviço público:
mud-frontend - Serviço interno:
mud-backend - Porta local:
127.0.0.1:18080
Este repositório não publica nem gerencia o shamy.
O deploy de produção é disparado automaticamente quando uma release é publicada no GitHub.
Subir manualmente em modo produção, se necessário:
docker compose down --remove-orphans
docker compose up -d --build --remove-orphansAtualizar versão na VPS manualmente (contingência):
git fetch --all --tags --prune
git checkout main
git pull --ff-only origin main
docker compose down --remove-orphans
docker compose up -d --build --remove-orphansA porta do frontend pode ser parametrizada por variáveis de ambiente:
FRONTEND_BIND_HOST=127.0.0.1
FRONTEND_PORT=18080Verificar status:
docker compose ps
docker compose logs --tail 100 mud-frontend
docker compose logs --tail 100 mud-backendAo publicar uma nova release no GitHub, o workflow .github/workflows/release-deploy-vps.yml conecta na VPS Ubuntu por SSH e executa o deploy usando o diretório definido em DEPLOY_PATH.
Configure no repositório:
- Variables:
DEPLOY_PATH,VPS_HOST - Secrets:
VPS_PORT,VPS_SSH_KEY,VPS_USER
O workflow faz:
git fetch --all --tags --prune- atualização da
main - checkout da tag da release publicada
docker compose up -d --build
cd backend
python -m pytest