Mudanças entre as edições de "INSTALACAO VRFICHA API"

De VRWiki
Linha 59: Linha 59:
 
==<b>CATRACAS</b>==
 
==<b>CATRACAS</b>==
 
* A aplicação VRFicha API gera arquivos XML para integração com catracas dos tipos Acesso e Blantech
 
* A aplicação VRFicha API gera arquivos XML para integração com catracas dos tipos Acesso e Blantech
* Quando executada em container Docker, a aplicação grava os arquivos nos diretórios:
+
* A aplicação é executada em container Docker, e grava os arquivos nos diretórios:
 
<b>Catraca Acesso</b>
 
<b>Catraca Acesso</b>
 
<pre style="color: silver; background: black;">
 
<pre style="color: silver; background: black;">
Linha 71: Linha 71:
 
Para que os arquivos sejam disponibilizados em uma pasta compartilhada da rede, recomenda-se:
 
Para que os arquivos sejam disponibilizados em uma pasta compartilhada da rede, recomenda-se:
  
1. Montar o compartilhamento SMB/Samba no sistema operacional host.
+
1. Montar o compartilhamento SMB/Samba no sistema operacional host.  
 
2. Configurar um volume no Docker para mapear o diretório compartilhado para dentro do container.
 
2. Configurar um volume no Docker para mapear o diretório compartilhado para dentro do container.
  
 
===<b>1. Montando um compartilhamento de rede no host</b>===
 
===<b>1. Montando um compartilhamento de rede no host</b>===
* Cenário
+
<b>Cenário</b>
 
Considere um compartilhamento disponível na rede:
 
Considere um compartilhamento disponível na rede:
 
<pre>\\192.168.1.100\ficha_entrada</pre>
 
<pre>\\192.168.1.100\ficha_entrada</pre>
Linha 85: Linha 85:
 
* Um servidor Linux utilizando Samba;
 
* Um servidor Linux utilizando Samba;
 
* Qualquer dispositivo que disponibilize compartilhamentos SMB.
 
* Qualquer dispositivo que disponibilize compartilhamentos SMB.
 +
 +
===<b>1.1 Montando em um host Windows</b>===
 +
<b>Utilizando o Explorador de Arquivos</b>
 +
1. Abra o Explorador de Arquivos.
 +
2. Clique em "Este Computador".
 +
3. Clique em "Mapear unidade de rede".
 +
4. Escolha uma letra de unidade, por exemplo:
 +
<pre>Z:</pre>
 +
5. Informe o caminho do compartilhamento:
 +
<pre>\\192.168.1.100\ficha_entrada</pre>
 +
6. Marque:
 +
Reconectar ao entrar
 +
7. Clique em Concluir.
 +
 +
Caso necessário, informe usuário e senha do compartilhamento.
 +
 +
Após a montagem, o compartilhamento estará disponível como:
 +
<pre>Z:\</pre>
 +
 +
===<b>Testando o acesso</b>===
 +
 +
Crie manualmente um arquivo:
 +
 +
<pre>Z:\xml\acesso\teste.xml</pre>
 +
ou
 +
<pre>Z:\xml\blantech\teste.xml</pre>
 +
 +
Se o arquivo for criado corretamente, a montagem está funcionando.
 +
 +
===<b>1.2 Montando em um host Linux</b>===
 +
 +
Instale o suporte CIFS caso ainda não esteja instalado.
 +
 +
Ubuntu/Debian:
 +
<pre style="color: silver; background: black;">
 +
sudo apt update
 +
sudo apt install cifs-utils
 +
</pre>
 +
 +
CentOS/RHEL:
 +
<pre style="color: silver; background: black;">
 +
sudo yum install cifs-utils
 +
</pre>
 +
 +
<b>Criando o ponto de montagem</b>
 +
<pre style="color: silver; background: black;">
 +
sudo mkdir -p /mnt/ficha_entrada
 +
</pre>
 +
 +
<b>Montando o compartilhamento</b>
 +
<pre style="color: silver; background: black;">
 +
sudo mount -t cifs \
 +
//192.168.1.100/ficha_entrada \
 +
/mnt/ficha_entrada \
 +
-o username=USUARIO,password=SENHA
 +
</pre>
 +
 +
Exemplo:
 +
 +
<pre style="color: silver; background: black;">
 +
sudo mount -t cifs \
 +
//192.168.1.100/ficha_entrada \
 +
/mnt/ficha_entrada \
 +
-o username=vr,password=123456
 +
</pre>
 +
 +
<b>Validando a montagem</b>
 +
 +
Execute:
 +
<pre style="color: silver; background: black;">
 +
ls /mnt/ficha_entrada
 +
</pre>
 +
 +
Os arquivos e diretórios do compartilhamento deverão ser exibidos.
 +
 +
Também é possível verificar:
 +
 +
<pre style="color: silver; background: black;">
 +
mount | grep cifs
 +
</pre>
 +
 +
<b>Montagem automática na inicialização (opcional)</b>
 +
 +
Adicionar ao arquivo:
 +
<pre>/etc/fstab</pre>
 +
 +
Exemplo:
 +
<pre>//192.168.1.100/ficha_entrada /mnt/ficha_entrada cifs username=vr,password=123456,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0</pre>
 +
 +
Após salvar:
 +
<pre style="color: silver; background: black;">
 +
sudo mount -a
 +
</pre>
 +
 +
===<b>2. Configurando o Docker Compose</b>===
 +
 +
Após a montagem do compartilhamento no host, basta mapear o diretório para dentro do container.
 +
 +
===<b>2.1 Configuração para catraca Acesso</b>===
 +
 +
A aplicação grava os XMLs em:
 +
<pre>./acesso/</pre>
 +
 +
que corresponde a:
 +
<pre>/VRFichaAPI/acesso</pre>
 +
 +
dentro do container.
 +
 +
<b>Host Linux</b>
 +
 +
Supondo que o compartilhamento esteja montado em:
 +
<pre>
 +
/mnt/ficha_entrada/xml/acesso
 +
</pre>
 +
 +
Configure:
 +
 +
<pre>
 +
services:
 +
  vrficha-api:
 +
    image: vrsoftbr/vrfichaapi:4.1.9
 +
 +
    volumes:
 +
      - /mnt/ficha_entrada/xml/acesso:/VRFichaAPI/acesso
 +
 +
    ports:
 +
      - "9015:9015"
 +
</pre>
 +
 +
<b>Host Windows</b>
 +
 +
Supondo que o compartilhamento esteja mapeado na unidade:
 +
<pre>Z:</pre>
 +
 +
e que os XMLs devam ser gravados em:
 +
 +
<pre>Z:\xml\acesso</pre>
 +
 +
Configure:
 +
<pre>
 +
services:
 +
  vrficha-api:
 +
    image: vrsoftbr/vrfichaapi:4.1.9
 +
 +
    volumes:
 +
      - Z:\xml\acesso:/VRFichaAPI/acesso
 +
 +
    ports:
 +
      - "9015:9015"
 +
</pre>
 +
 +
===<b>2.2 Configuração para catraca Blantech</b>===
 +
 +
A aplicação grava os XMLs em:
 +
 +
<pre>./blantech/</pre>
 +
 +
que corresponde a:
 +
<pre>/VRFichaAPI/blantech</pre>
 +
 +
dentro do container.
 +
 +
<b>Host Linux</b>
 +
<pre>
 +
services:
 +
  vrficha-api:
 +
    image: vrsoftbr/vrfichaapi:4.1.9
 +
 +
    volumes:
 +
      - /mnt/ficha_entrada/xml/blantech:/VRFichaAPI/blantech
 +
 +
    ports:
 +
      - "9015:9015"
 +
</pre>
 +
<b>Host Windows</b>
 +
<pre>
 +
services:
 +
  vrficha-api:
 +
    image: vrsoftbr/vrfichaapi:4.1.9
 +
 +
    volumes:
 +
      - Z:\xml\blantech:/VRFichaAPI/blantech
 +
 +
    ports:
 +
      - "9015:9015"
 +
</pre>
 +
 +
===<b>2.3 Ambiente que utiliza ambos os tipos de catraca</b>===
 +
 +
Caso a loja possa utilizar tanto Acesso quanto Blantech, recomenda-se mapear ambos os diretórios.
 +
 +
<b>Host Linux</b>
 +
<pre>
 +
services:
 +
  vrficha-api:
 +
    image: vrsoftbr/vrfichaapi:4.1.9
 +
 +
    volumes:
 +
      - /mnt/ficha_entrada/xml/acesso:/VRFichaAPI/acesso
 +
      - /mnt/ficha_entrada/xml/blantech:/VRFichaAPI/blantech
 +
 +
    ports:
 +
      - "9015:9015"
 +
</pre>
 +
 +
<b>Host Windows</b>
 +
<pre>
 +
services:
 +
  vrficha-api:
 +
    image: vrsoftbr/vrfichaapi:4.1.9
 +
 +
    volumes:
 +
      - Z:\xml\acesso:/VRFichaAPI/acesso
 +
      - Z:\xml\blantech:/VRFichaAPI/blantech
 +
 +
    ports:
 +
      - "9015:9015"
 +
</pre>
 +
 +
<b>Validação Final</b>
 +
 +
Após iniciar o container:
 +
 +
<pre style="color: silver; background: black;">
 +
docker compose up -d
 +
</pre>
 +
 +
Verifique se os diretórios estão montados corretamente:
 +
 +
<pre style="color: silver; background: black;">
 +
docker exec -it vrficha-api sh
 +
</pre>
 +
 +
Para catraca Acesso:
 +
<pre style="color: silver; background: black;">
 +
ls -la /VRFichaAPI/acesso
 +
</pre>
 +
 +
Para catraca Blantech:
 +
<pre style="color: silver; background: black;">
 +
ls -la /VRFichaAPI/blantech
 +
</pre>
 +
 +
Os arquivos XML gerados pela aplicação deverão aparecer nesses diretórios e, consequentemente, no compartilhamento de rede configurado no host.

Edição das 19h50min de 22 de junho de 2026

REQUISITOS MÍNIMOS

Para que o VR Ficha API funcione corretamente de maneira consistente é necessário ter um computador com esta configuração ou superior:

  • VRUbuntu 20.04.0-1 (No Windows, utilizar o WSL)
  • Processador: i3 (5ª geração +) ou equivalente
  • Memória RAM: 8 GB
  • Disco: 80 GB
  • Docker instalado

INSTALAÇÃO

  • Certifique-se de que as configurações do VR Ubuntu foram todas executadas neste link
  • Certifique-se de que o Docker está instalando no sistema operacional na versão mais recente.
  • Faça o download do arquivo docker-compose-vrfichaapi.yml clicando aqui
  • Se o cliente já possuir o VR Service Manager rodando, o RabbitMQ do Service Manager pode ser utilizado, caso contrário, baixe o arquivo docker-compose-rabbitmq.yml clicando aqui para subir o sistema de mensageria no servidor onde ficará o VR Ficha API.
  • No arquivo docker-compose-vrfichaapi.yml é configurado a porta de comunicação com a API, a conexão com o banco de dados e a conexão com o RabbitMQ. (Obs.: A conexão com o RabbitMQ configurada tem que ser a mesma no serviço de impressão dos pedidos, para que este funcione corretamente)
services:
  vrficha-api:
    image: vrsoftbr/vrfichaapi:4.1.10
    ports:
      - "9015:9015"
    environment:
      - TZ=GMT-3
      - PORT=9015
      - DATABASE_IP=
      - DATABASE_PORTA=
      - DATABASE_NOME=
      - DATABASE_USUARIO=
      - DATABASE_SENHA=
      - SYSTEM_NUMEROLOJA=
      - RABBITMQ_IP=
      - RABBITMQ_PORTA=5672
      - RABBITMQ_USUARIO=vr
      - RABBITMQ_SENHA=vr!RbtMQ
    networks:
      - vr-network

networks:
  vr-network:
    external: true
  • Você deve preencher corretamente os dados de conexão com o banco, o numero da loja e os dados de conexão com o RabbitMQ. Não é mais utilizado vr.properties. A configuração é feita diretamente no arquivo de compose do docker.
  • Caso seja necessário alterar a porta, alterar em environment o valor de PORT, e também alterar as portas em ports

INICIALIZAÇÃO

  • Para iniciar a API, basta executar este comando, passando na flag -f o nome do arquivo yml (Executar comando no mesmo diretório onde o arquivo está)
docker compose -f docker-compose-vrfichaapi.yml up -d

Obs: Será necessário estar autenticado no docker, pois a imagem é privada. Caso não esteja, executar o comando docker login e informar as credenciais

  • Caso seja necessário subir o RabbitMQ, executar o docker compose no arquivo do RabbitMQ também
docker compose -f docker-compose-rabbitmq.yml up -d

IMPRESSÃO DAS FICHAS

  • Para realizar a impressão das fichas, é necessário que o VRFichaMobileImpressao esteja sendo executado no servidor e conectado ao mesmo serviço do RabbitMQ em que a API do VRFicha Mobile está, pois ele irá consumir a fila do RabbitMQ e imprimir as fichas na impressora configurada no VRFicha. Você pode encontrar como configura-lo clicando aqui

CATRACAS

  • A aplicação VRFicha API gera arquivos XML para integração com catracas dos tipos Acesso e Blantech
  • A aplicação é executada em container Docker, e grava os arquivos nos diretórios:

Catraca Acesso

/VRFichaAPI/acesso

Catraca Blantech

/VRFichaAPI/blantech

Para que os arquivos sejam disponibilizados em uma pasta compartilhada da rede, recomenda-se:

1. Montar o compartilhamento SMB/Samba no sistema operacional host. 2. Configurar um volume no Docker para mapear o diretório compartilhado para dentro do container.

1. Montando um compartilhamento de rede no host

Cenário Considere um compartilhamento disponível na rede:

\\192.168.1.100\ficha_entrada

ou

\\SERVIDOR\ficha_entrada

O servidor pode ser:

  • Um computador Windows;
  • Um servidor Linux utilizando Samba;
  • Qualquer dispositivo que disponibilize compartilhamentos SMB.

1.1 Montando em um host Windows

Utilizando o Explorador de Arquivos 1. Abra o Explorador de Arquivos. 2. Clique em "Este Computador". 3. Clique em "Mapear unidade de rede". 4. Escolha uma letra de unidade, por exemplo:

Z:

5. Informe o caminho do compartilhamento:

\\192.168.1.100\ficha_entrada

6. Marque: Reconectar ao entrar 7. Clique em Concluir.

Caso necessário, informe usuário e senha do compartilhamento.

Após a montagem, o compartilhamento estará disponível como:

Z:\

Testando o acesso

Crie manualmente um arquivo:

Z:\xml\acesso\teste.xml

ou

Z:\xml\blantech\teste.xml

Se o arquivo for criado corretamente, a montagem está funcionando.

1.2 Montando em um host Linux

Instale o suporte CIFS caso ainda não esteja instalado.

Ubuntu/Debian:

sudo apt update
sudo apt install cifs-utils

CentOS/RHEL:

sudo yum install cifs-utils

Criando o ponto de montagem

sudo mkdir -p /mnt/ficha_entrada

Montando o compartilhamento

sudo mount -t cifs \
//192.168.1.100/ficha_entrada \
/mnt/ficha_entrada \
-o username=USUARIO,password=SENHA

Exemplo:

sudo mount -t cifs \
//192.168.1.100/ficha_entrada \
/mnt/ficha_entrada \
-o username=vr,password=123456

Validando a montagem

Execute:

ls /mnt/ficha_entrada

Os arquivos e diretórios do compartilhamento deverão ser exibidos.

Também é possível verificar:

mount | grep cifs

Montagem automática na inicialização (opcional)

Adicionar ao arquivo:

/etc/fstab

Exemplo:

//192.168.1.100/ficha_entrada /mnt/ficha_entrada cifs username=vr,password=123456,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

Após salvar:

sudo mount -a

2. Configurando o Docker Compose

Após a montagem do compartilhamento no host, basta mapear o diretório para dentro do container.

2.1 Configuração para catraca Acesso

A aplicação grava os XMLs em:

./acesso/

que corresponde a:

/VRFichaAPI/acesso

dentro do container.

Host Linux

Supondo que o compartilhamento esteja montado em:

/mnt/ficha_entrada/xml/acesso

Configure:

services:
  vrficha-api:
    image: vrsoftbr/vrfichaapi:4.1.9

    volumes:
      - /mnt/ficha_entrada/xml/acesso:/VRFichaAPI/acesso

    ports:
      - "9015:9015"

Host Windows

Supondo que o compartilhamento esteja mapeado na unidade:

Z:

e que os XMLs devam ser gravados em:

Z:\xml\acesso

Configure:

services:
  vrficha-api:
    image: vrsoftbr/vrfichaapi:4.1.9

    volumes:
      - Z:\xml\acesso:/VRFichaAPI/acesso

    ports:
      - "9015:9015"

2.2 Configuração para catraca Blantech

A aplicação grava os XMLs em:

./blantech/

que corresponde a:

/VRFichaAPI/blantech

dentro do container.

Host Linux

services:
  vrficha-api:
    image: vrsoftbr/vrfichaapi:4.1.9

    volumes:
      - /mnt/ficha_entrada/xml/blantech:/VRFichaAPI/blantech

    ports:
      - "9015:9015"

Host Windows

services:
  vrficha-api:
    image: vrsoftbr/vrfichaapi:4.1.9

    volumes:
      - Z:\xml\blantech:/VRFichaAPI/blantech

    ports:
      - "9015:9015"

2.3 Ambiente que utiliza ambos os tipos de catraca

Caso a loja possa utilizar tanto Acesso quanto Blantech, recomenda-se mapear ambos os diretórios.

Host Linux

services:
  vrficha-api:
    image: vrsoftbr/vrfichaapi:4.1.9

    volumes:
      - /mnt/ficha_entrada/xml/acesso:/VRFichaAPI/acesso
      - /mnt/ficha_entrada/xml/blantech:/VRFichaAPI/blantech

    ports:
      - "9015:9015"

Host Windows

services:
  vrficha-api:
    image: vrsoftbr/vrfichaapi:4.1.9

    volumes:
      - Z:\xml\acesso:/VRFichaAPI/acesso
      - Z:\xml\blantech:/VRFichaAPI/blantech

    ports:
      - "9015:9015"

Validação Final

Após iniciar o container:

docker compose up -d

Verifique se os diretórios estão montados corretamente:

docker exec -it vrficha-api sh

Para catraca Acesso:

ls -la /VRFichaAPI/acesso

Para catraca Blantech:

ls -la /VRFichaAPI/blantech

Os arquivos XML gerados pela aplicação deverão aparecer nesses diretórios e, consequentemente, no compartilhamento de rede configurado no host.