From e33f9e2974da1465ccf0cf272f1806b3fea43ded Mon Sep 17 00:00:00 2001 From: Welton Moura Date: Sun, 27 Apr 2025 14:14:32 -0300 Subject: [PATCH] docker: add container websocket in docker-compose --- WebSocketServer/Dockerfile | 14 ++++++++++++++ .../websocket => WebSocketServer}/servidor.py | 0 docker-compose.yml | 10 ++++++++++ gestaoRaul/comandas/htmx_views.py | 14 ++++++-------- gestaoRaul/comandas/views.py | 1 - gestaoRaul/home/templates/home.html | 4 ++-- gestaoRaul/templates/static/base.js | 7 +------ 7 files changed, 33 insertions(+), 17 deletions(-) create mode 100644 WebSocketServer/Dockerfile rename {gestaoRaul/websocket => WebSocketServer}/servidor.py (100%) diff --git a/WebSocketServer/Dockerfile b/WebSocketServer/Dockerfile new file mode 100644 index 0000000..ddfb0aa --- /dev/null +++ b/WebSocketServer/Dockerfile @@ -0,0 +1,14 @@ + +FROM python:3.12-slim + +WORKDIR /app + +RUN apt-get update && apt-get install -y git && apt-get clean + +RUN git clone https://github.com/welton89/websocket-RRBEC.git /app + +RUN pip install --upgrade pip && pip install websockets + +EXPOSE 8765 + +CMD ["python", "websocket_server.py"] diff --git a/gestaoRaul/websocket/servidor.py b/WebSocketServer/servidor.py similarity index 100% rename from gestaoRaul/websocket/servidor.py rename to WebSocketServer/servidor.py diff --git a/docker-compose.yml b/docker-compose.yml index 49023c3..4734cb9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -55,6 +55,16 @@ services: networks: - app_network + websocket_server: + build: + context: ./WebSocketServer + dockerfile: Dockerfile + ports: + - "8765:8765" + restart: on-failure + networks: + - app_network + volumes: static_volume: db_data: diff --git a/gestaoRaul/comandas/htmx_views.py b/gestaoRaul/comandas/htmx_views.py index f495bdd..61167d4 100644 --- a/gestaoRaul/comandas/htmx_views.py +++ b/gestaoRaul/comandas/htmx_views.py @@ -15,17 +15,15 @@ import websockets async def enviar_mensagem(msg): try: - uri = "ws://192.168.1.150:8765" + uri = "ws://websocket_server:8765" async with websockets.connect(uri) as websocket: await websocket.send(msg) - print(f"> Enviado: {msg}") + # print(f"> Enviado: {msg}") - resposta = await websocket.recv() - print(f"< Recebido: {resposta}") + # resposta = await websocket.recv() + # print(f"< Recebido: {resposta}") except Exception as e: - print(f"Erro ao enviar mensagem: {e}") - - + print(f"Erro ao enviar mensagem via websocket: {e}") def somar(consumo:ProductComanda, comanda:Comanda): @@ -87,7 +85,7 @@ def addProduct(request, product_id, comanda_id): 'speak': f'Novo pedido! {product.name}, para {comanda.name}.' }) - # asyncio.run(enviar_mensagem(msg)) + asyncio.run(enviar_mensagem(msg)) consumo = ProductComanda.objects.filter(comanda=comanda_id) valores = somar(consumo,comanda) diff --git a/gestaoRaul/comandas/views.py b/gestaoRaul/comandas/views.py index 0b1f5d0..57b065e 100644 --- a/gestaoRaul/comandas/views.py +++ b/gestaoRaul/comandas/views.py @@ -98,7 +98,6 @@ def addContaCliente(request): clientId = int(request.POST.get('select-client')) comanda = Comanda.objects.get(id=comandaId) client = Client.objects.get(id=clientId) - # client.debt = Decimal(0) comanda.client = client comanda.dt_close = timezone.now() comanda.status = 'FIADO' diff --git a/gestaoRaul/home/templates/home.html b/gestaoRaul/home/templates/home.html index ef75756..ad4948b 100644 --- a/gestaoRaul/home/templates/home.html +++ b/gestaoRaul/home/templates/home.html @@ -17,13 +17,13 @@ RRB&C - DashBoard -

Últimos 30 diAs

+

Últimos 30 dias

-

Faturament0

+

Faturamento

Carregando...

diff --git a/gestaoRaul/templates/static/base.js b/gestaoRaul/templates/static/base.js index 66f7d2a..9abe4cf 100644 --- a/gestaoRaul/templates/static/base.js +++ b/gestaoRaul/templates/static/base.js @@ -19,11 +19,6 @@ document.addEventListener('DOMContentLoaded', function() { - - - - - function verificarCookieNotificacao() { var iconNotify = document.getElementById('icon-notify'); if (document.cookie.indexOf('notificacao=') === -1) { @@ -56,7 +51,7 @@ function cookieNotificacao() { } } -const websocket = new WebSocket('ws://192.168.1.150:8765'); +const websocket = new WebSocket('ws://0.0.0.0:8765'); const nomeUsuario = document.getElementById('user-info').textContent; websocket.addEventListener('open', (event) => {