Skip to content
Merged
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
3 changes: 0 additions & 3 deletions .docker/.dockerignore

This file was deleted.

23 changes: 13 additions & 10 deletions .docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
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 ./

RUN if [ -f package-lock.json ]; then \
npm ci --legacy-peer-deps; \
else \
npm install --legacy-peer-deps; \
fi
Comment thread
jvictordev1 marked this conversation as resolved.

EXPOSE 5173

EXPOSE 6006
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["npm", "run", "docs:dev", "--", "--host", "0.0.0.0"]
37 changes: 37 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# 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*

# Misc
*.md
!package.json
!package-lock.json

# Local docs assets (optional exclusion)
docs/.vitepress/cache/
20 changes: 13 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand All @@ -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
Expand Down
18 changes: 15 additions & 3 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,21 @@ 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
- node_modules:/usr/src/app/node_modules
ports:
- 6006:6006
- "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:
2 changes: 1 addition & 1 deletion on-server.sh
Original file line number Diff line number Diff line change
@@ -1 +1 @@
docker-compose exec cuida $*
docker compose exec cuida $*
46 changes: 46 additions & 0 deletions setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#!/bin/bash

set -e

find_port() {
local port=$1
while :; do
if ! nc -z localhost "$port" 2>/dev/null; then
echo "$port"
return 0
fi
((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)
Comment thread
lucasn4s marked this conversation as resolved.
echo "Port 5173 in use, using port $PORT"
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

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"
Loading