Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
File renamed without changes.
14 changes: 14 additions & 0 deletions app/backend/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#### SERVER VARS
NODE_ENV=development
API_PORT=3000
API_HOST=localhost

#### DATABASE VARS
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_DB_NAME=zoo_functions
MYSQL_USER=root
MYSQL_PASSWORD=password

#### SECRECT VARS
JWT_SECRET=suaSenhaSecreta
3 changes: 3 additions & 0 deletions app/backend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# dependencies
/node_modules
.env
4 changes: 4 additions & 0 deletions app/backend/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM node:16.14

RUN apt update
RUN apt install lsof
67 changes: 67 additions & 0 deletions app/backend/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
version: "3"

services:
# Serviço que irá rodar o node
node:
# Faz o build do Dockerfile da pasta atual e utiliza o resultado desse build
# como a imagem do container
build: .
# Define um user específico, diferente de root para a execução dos comandos
# user: eval
# Nome do container para facilitar execução
container_name: zoo_functions
# Mesmo que `docker run -t`
tty: true
# Mesmo que `docker run -i`
stdin_open: true
# Substitui o comando padrão da imagem do node
command: bash
# Restarta a imagem caso algo a faça parar
restart: always
# Diretório padrão de execução
working_dir: /app-backend
# Lista de volumes (diretórios) mapeados de fora para dentro do container
volumes:
# Monta o diretório atual, com todos os dados do projeto,
# dentro do diretório /app
- ./:/app-backend
# Lista de serviços do qual este serviço depende
depends_on:
# Precisa do banco funcionando antes de subir o node
- db
# Lista de portas mapeadas de dentro para fora do container
# na notação porta_de_fora:porta_de_dentro
ports:
# Expõe a porta padrão da aplicação: altere aqui caso use outra porta
- 3000:3000
# Configura as variáveis de ambiente dentro do container
environment:
MYSQL_USER: root
MYSQL_PASSWORD: password
MYSQL_HOST: db # Nome do service logo abaixo
JWT_SECRET: secretJWT
API_HOST: 'node'
API_PORT: 3000
NODE_ENV: 'development'
networks:
- zoo_functions_net

# Serviço que irá rodar o banco de dados
db:
container_name: zoo_functions_db
image: mysql:8.0.23
# Indica de forma fixa a plataforma na qual o banco irá rodar
platform: linux/x86_64
restart: always
ports:
- 3306:3306
- 33060:33060
environment:
MYSQL_ROOT_PASSWORD: password
networks:
- zoo_functions_net

# Lista de redes que os containeres irão utilizar
networks:
zoo_functions_net:
driver: bridge
Empty file added app/backend/index.js
Empty file.
Loading