Utilizar os dois bancos (API e Dashboard)
[Concluído]
Fiquei com uma dúvida, como eu utilizaria os dois banco de dados da dashboard e da API ? Pois estou criando usuários na Dashboard, mas não consigo logar na Dashboard, só consigo logar como Admin, e também não consigo subir a API pois usa a mesma porta que o EAD
Olá, Thiago!
Como vai?
Para conseguir rodar os dois projetos simultaneamente na mesma máquina, eles precisam usar portas diferentes.
--
Para usar o mesmo banco de dados nos dois projetos (Dasbhoard + API), basta deixar os containers na mesma rede (usar o mesmo nome de rede).
Fui claro amigo? Se ficou com alguma dúvida, conte comigo.
Boa tarde, continuo com o mesmo problema referente a dois container da api e da dashboard, segue a explicação
https://docs.google.com/document/d/1y4h_PvB3Kgvg8ZJcN6HEN3RUPIx2_hAzTiba3cZ3Ipw/edit?usp=sharing
Nenhum dos serviços conseguiu acesso ao container do MySQL, nem api, nem Dashboard, certo?
--
Quando fizer o deploy, você não terá problemas, porque terá um serviço de banco de dados alimentando as duas aplicações. (https://academy.especializati.com.br/aula/banco-de-dados-na-digital-ocean)
--
Primeiro passo, listar as networks:
docker network ls
Pega o nome da rede do MySQL, e adicione nos dois outros docker-compose.yml a configuração, exemplo:
nginx:
image: nginx:alpine
restart: unless-stopped
ports:
- "8180:80"
volumes:
- ./:/var/www
- ./docker/nginx/:/etc/nginx/conf.d/
networks:
- setup-docker-mysql_default
networks:
setup-docker-mysql_default:
external: true
(https://docs.docker.com/compose/networking/#use-a-pre-existing-network)
(https://docs.docker.com/compose/compose-file/06-networks/#external)
MAIS IMPORTANTE, precisa reiniciar os containers (recriar):
docker compose down
docker compose up -d --build
Agora eu consegui fazer os dois conectainer conectarem no do mysql (intermediário), consegui rodar as migrate também, porém na dashboard ead, estou tendo esse erro, consigo registrar, logar porém do nada ele da 419 e redireciona para o login
CSRF token mismatch. /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php#85
Como está o seu formulário de login? Provavelmente está faltando a diretiva @csrf
Isso não acontecia quando eu usava os dockers com os bancos separados, depois da mudança que ficou assim, todos formulários estão desta forma, se eu fizer o deploy direto na digital ocean, acredita que vai solucionar isso ?
<form method="POST" action="{{ route('register') }}">
É importante resolver primeiro local.
Tem um print full (de toda a janela) com os detalhes do erro?
https://uploaddeimagens.com.br/
Preciso entender melhor o problema para te ajudar.
--
Como está armazenando as sessões? No banco de dados?
Acho que agora vai dar pra entender melhor, eu percebi que se eu paro o container da api isso não ocorre, acredito que está ocorrendo algum conflito
https://www.loom.com/share/03ac3a8b71bb4efd8b7c636e90fc145e
https://uploaddeimagens.com.br/imagens/eFr58B8
Está usando o container do redis de forma compartilhada também?
Faz um teste, defina as sessões como file, e tente novamente.
Mudei para file e resolveu o problema, agora só preciso descobrir do porque quando cadastro um curso pela dashboard, ele não lista para quando o aluno loga no Vuejs, sendo que usa agora o mesmo banco, estou debugando aqui, obrigado pela ajuda
Na API, lista o novo curso?
Consegui fazer funcionar aqui, obrigado pela ajuda
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!