From 1b1c91b12ca9820831fdf24b520179e6a8dee3d9 Mon Sep 17 00:00:00 2001 From: Lucas Nascimento Date: Mon, 18 May 2026 16:52:33 -0300 Subject: [PATCH 1/8] Ajusta configs de container docker --- .docker/.dockerignore | 42 +++++++++++++++++++++++++++++++++++++++--- .docker/Dockerfile | 25 +++++++++++++++---------- docker-compose.yml | 14 +++++++++++--- 3 files changed, 65 insertions(+), 16 deletions(-) diff --git a/.docker/.dockerignore b/.docker/.dockerignore index 6f8b9bfd5..6c8083dcc 100644 --- a/.docker/.dockerignore +++ b/.docker/.dockerignore @@ -1,3 +1,39 @@ -* -!bin/ -!Dockerfile \ No newline at end of file +# Dependencies +node_modules/ + +# Build outputs +dist/ + +# Git +.git/ +.gitignore + +# IDE +.idea/ +.vscode/ +*.swp +*.swo + +# OS +.DS_Store +Thumbs.db + +# Documentation build +docs/.vitepress/dist/ + +# Test coverage +coverage/ + +# Logs +*.log +npm-debug.log* + +# Docker +.docker/ +docker-compose.yml +Dockerfile* + +# Misc +*.md +!package.json +!package-lock.json \ No newline at end of file diff --git a/.docker/Dockerfile b/.docker/Dockerfile index c99946554..c06b1d3d8 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -1,14 +1,19 @@ -FROM node:16.18.1-alpine3.16 +FROM node:20-alpine -COPY bin/entrypoint.sh /usr/local/bin/entrypoint.sh +WORKDIR /usr/src/app -RUN mkdir -p /usr/src/app \ - && apk update \ - && apk add --no-cache bash==5.1.16-r2 \ - && rm -rf /var/cache/apk/* \ - && rm -rf /tmp/* +RUN apk add --no-cache bash git -WORKDIR /usr/src/app +COPY package.json package-lock.json* ./ + +RUN if [ -f package-lock.json ]; then \ + npm ci --legacy-peer-deps; \ + else \ + npm install --legacy-peer-deps; \ + fi + +COPY . . + +EXPOSE 5173 -EXPOSE 6006 -ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] +CMD ["npm", "run", "docs:dev"] diff --git a/docker-compose.yml b/docker-compose.yml index 835862da5..8ac0dc4a3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,9 +2,17 @@ version: '3.7' services: cuida: - container_name: main - image: sysvaleops/cuida:dev-1.0 + container_name: cuida-dev + build: + context: . + dockerfile: .docker/Dockerfile volumes: - .:/usr/src/app + - /usr/src/app/node_modules ports: - - 6006:6006 + - "5173:5173" + environment: + - NODE_ENV=development + stdin_open: true + tty: true + command: ["npm", "run", "docs:dev", "--", "--host", "0.0.0.0"] From 3655ecd768c579a4eba985d86c6bc3c1e0b28f40 Mon Sep 17 00:00:00 2001 From: Lucas Nascimento Date: Mon, 18 May 2026 16:52:49 -0300 Subject: [PATCH 2/8] Cria script para inicializar o container local --- setup.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 setup.sh diff --git a/setup.sh b/setup.sh new file mode 100755 index 000000000..4b515401e --- /dev/null +++ b/setup.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +find_port() { + local port=$1 + while :; do + if ! nc -z localhost "$port" 2>/dev/null; then + echo "$port" + return 0 + fi + ((port++)) + done +} + +if nc -z localhost 5173 2>/dev/null; then + PORT=$(find_port 5174) + echo "Port 5173 in use, using port $PORT" +else + PORT=5173 +fi + +sed -i "s/- \"5173:5173\"/- \"$PORT:5173\"/" docker-compose.yml +docker compose up -d +sed -i "s/- \"$PORT:5173\"/- \"5173:5173\"/" docker-compose.yml +echo "Docs available at http://localhost:$PORT" \ No newline at end of file From be1ca9069bd348c7ba71410da68925ae9dc41e47 Mon Sep 17 00:00:00 2001 From: Lucas Nascimento Date: Mon, 18 May 2026 16:53:01 -0300 Subject: [PATCH 3/8] Atualiza readme para utilizar docker --- README.md | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 5c9eafada..18bac94d7 100644 --- a/README.md +++ b/README.md @@ -73,13 +73,18 @@ e importe o arquivo de tokens na sua tag script. git clone https://github.com/Sysvale/cuida.git ``` -- Instale as dependências e suba o container docker: +- Suba o container docker: ```bash -docker-compose up -d +./setup.sh ``` -A documentação estará disponível na porta `5173`, em [http://localhost:5173/](http://localhost:5173). +A porta onde o projeto estará disponível será exibida no terminal. + +- Instale as dependências no container: +```bash +./on-server.sh npm i +``` - Caso não queira usar docker, instale as dependências com: @@ -95,15 +100,16 @@ npm i npm run docs:dev ``` -### Testando-o +- Usando o container docker: -- Utilizando o docker: ```bash -docker-compose exec cuida npm run test +./on-server.sh npm run docs:dev ``` -ou +### Testando-o + +- Utilizando o docker: ```bash ./on-server.sh npm run test From ac6ed833dbc6414375cc1c0d22c99db397c17d8f Mon Sep 17 00:00:00 2001 From: Lucas Nascimento Date: Mon, 18 May 2026 17:00:41 -0300 Subject: [PATCH 4/8] Move dockerignore --- .docker/.dockerignore => .dockerignore | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .docker/.dockerignore => .dockerignore (100%) diff --git a/.docker/.dockerignore b/.dockerignore similarity index 100% rename from .docker/.dockerignore rename to .dockerignore From 0f16ad0dec29bd6d330b267a3f7f06fe01868664 Mon Sep 17 00:00:00 2001 From: Lucas Nascimento Date: Mon, 18 May 2026 17:06:11 -0300 Subject: [PATCH 5/8] Fix issues from PR #1090 review --- .dockerignore | 10 ++++------ on-server.sh | 2 +- setup.sh | 26 ++++++++++++++++++++++++-- 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/.dockerignore b/.dockerignore index 6c8083dcc..28f10f0c9 100644 --- a/.dockerignore +++ b/.dockerignore @@ -28,12 +28,10 @@ coverage/ *.log npm-debug.log* -# Docker -.docker/ -docker-compose.yml -Dockerfile* - # Misc *.md !package.json -!package-lock.json \ No newline at end of file +!package-lock.json + +# Local docs assets (optional exclusion) +docs/.vitepress/cache/ \ No newline at end of file diff --git a/on-server.sh b/on-server.sh index ce0431f29..5e6c63e80 100755 --- a/on-server.sh +++ b/on-server.sh @@ -1 +1 @@ -docker-compose exec cuida $* +docker compose exec cuida-dev $* diff --git a/setup.sh b/setup.sh index 4b515401e..798983277 100755 --- a/setup.sh +++ b/setup.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -e + find_port() { local port=$1 while :; do @@ -11,6 +13,11 @@ find_port() { done } +restore_compose() { + sed -i '' "s/- \"$PORT:5173\"/- \"5173:5173\"/" docker-compose.yml 2>/dev/null || \ + sed -i "s/- \"$PORT:5173\"/- \"5173:5173\"/" docker-compose.yml +} + if nc -z localhost 5173 2>/dev/null; then PORT=$(find_port 5174) echo "Port 5173 in use, using port $PORT" @@ -18,7 +25,22 @@ else PORT=5173 fi +# Use temp file for cross-platform sed +cp docker-compose.yml docker-compose.yml.bak +trap 'mv docker-compose.yml.bak docker-compose.yml' EXIT + +# macOS compatible sed (add empty string after -i) +sed -i '' "s/- \"5173:5173\"/- \"$PORT:5173\"/" docker-compose.yml 2>/dev/null || \ sed -i "s/- \"5173:5173\"/- \"$PORT:5173\"/" docker-compose.yml -docker compose up -d -sed -i "s/- \"$PORT:5173\"/- \"5173:5173\"/" docker-compose.yml + +if ! docker compose up -d; then + echo "Docker compose failed, restoring original docker-compose.yml" + mv docker-compose.yml.bak docker-compose.yml + exit 1 +fi + +# Restore original (remove trap first) +trap - EXIT +mv docker-compose.yml.bak docker-compose.yml + echo "Docs available at http://localhost:$PORT" \ No newline at end of file From 8e7ebb8af0218669536346cbf7a7eea5c7920f5d Mon Sep 17 00:00:00 2001 From: Lucas Nascimento Date: Wed, 20 May 2026 09:26:16 -0300 Subject: [PATCH 6/8] Ajusta container docker do projeto --- .docker/Dockerfile | 4 ++-- docker-compose.yml | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.docker/Dockerfile b/.docker/Dockerfile index c06b1d3d8..afdc9b69b 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -4,7 +4,7 @@ WORKDIR /usr/src/app RUN apk add --no-cache bash git -COPY package.json package-lock.json* ./ +COPY package*.json ./ RUN if [ -f package-lock.json ]; then \ npm ci --legacy-peer-deps; \ @@ -16,4 +16,4 @@ COPY . . EXPOSE 5173 -CMD ["npm", "run", "docs:dev"] +CMD ["npm", "run", "docs:dev", "--", "--host", "0.0.0.0"] diff --git a/docker-compose.yml b/docker-compose.yml index 8ac0dc4a3..c0287c9cc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,17 +2,21 @@ version: '3.7' services: cuida: - container_name: cuida-dev + container_name: cuida_dev build: context: . dockerfile: .docker/Dockerfile volumes: - .:/usr/src/app - - /usr/src/app/node_modules + - node_modules:/usr/src/app/node_modules ports: - "5173:5173" environment: - NODE_ENV=development stdin_open: true tty: true + working_dir: /usr/src/app command: ["npm", "run", "docs:dev", "--", "--host", "0.0.0.0"] + +volumes: + node_modules: From 2ec018170c5cb38508018e9f04c17069d8d5a0cf Mon Sep 17 00:00:00 2001 From: Lucas Nascimento Date: Wed, 20 May 2026 09:57:39 -0300 Subject: [PATCH 7/8] Ajusta script docker --- on-server.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/on-server.sh b/on-server.sh index 5e6c63e80..727276439 100755 --- a/on-server.sh +++ b/on-server.sh @@ -1 +1 @@ -docker compose exec cuida-dev $* +docker compose exec cuida $* From 225cea8c8e6831bfed75d2ea9d4f004242cc3f04 Mon Sep 17 00:00:00 2001 From: Lucas Nascimento Date: Wed, 20 May 2026 13:21:50 -0300 Subject: [PATCH 8/8] =?UTF-8?q?Remove=20copy=20desnecess=C3=A1rio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .docker/Dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/.docker/Dockerfile b/.docker/Dockerfile index afdc9b69b..94d160685 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -12,8 +12,6 @@ RUN if [ -f package-lock.json ]; then \ npm install --legacy-peer-deps; \ fi -COPY . . - EXPOSE 5173 CMD ["npm", "run", "docs:dev", "--", "--host", "0.0.0.0"]