Commit inicial - upload de todos os arquivos da pasta

This commit is contained in:
2026-06-13 17:32:41 -03:00
commit 759e2663ec
311 changed files with 31868 additions and 0 deletions

214
Deploy-Coolify.md Normal file
View File

@@ -0,0 +1,214 @@
Sim, dá para usar **Nixpacks**. Você **não deve compactar `node_modules`, `dist`, `.git`, logs, cache, uploads grandes**.
Compacte somente o código-fonte necessário:
```txt
meu-projeto/
├─ frontend/
│ ├─ package.json
│ ├─ package-lock.json
│ ├─ index.html
│ ├─ vite.config.*
│ ├─ src/
│ └─ public/
tsconfig.json
tsconfig.app.json
tsconfig.node.json
tailwind.config.ts
postcss.config.js
eslint.config.js
.env.example
README.md
├─ backend/
│ ├─ package.json
│ ├─ package-lock.json
│ ├─ src/
│ └─ .env.example
prisma
nest-cli.json
tsconfig.build.json
tsconfig.json
└─ README.md
```
Ignore no `.zip`:
```txt
node_modules/
dist/
build/
.git/
.env
.env.local
*.log
.cache/
.vite/
coverage/
uploads/
tmp/
```
## Recomendado no Coolify
Crie **2 aplicações separadas**:
```txt
App 1: frontend React + Vite
App 2: backend API
```
---
# 1. Deploy do Backend
No Coolify:
**Source:** Upload ZIP ou Git
**Build Pack:** Nixpacks
**Base Directory:** `backend`
Build:
```bash
npm install
```
Build Command, se usar TypeScript:
```bash
npm run build
```
Start Command:
```bash
npm run start
```
Se o backend roda em dev com `npm run dev`, crie um script de produção no `backend/package.json`:
```json
{
"scripts": {
"build": "tsc",
"start": "node dist/server.js"
}
}
```
Ou, se for JavaScript puro:
```json
{
"scripts": {
"start": "node src/server.js"
}
}
```
No backend, use a porta via variável:
```js
const PORT = process.env.PORT || 3000;
app.listen(PORT, "0.0.0.0");
```
No Coolify, configure as variáveis de ambiente do backend, exemplo:
```env
DATABASE_URL=...
JWT_SECRET=...
NODE_ENV=production
```
---
# 2. Deploy do Frontend React + Vite
No Coolify:
**Build Pack:** Nixpacks
**Base Directory:** `frontend`
Build:
```bash
npm install
```
Build Command:
```bash
npm run build
```
Start Command:
```bash
npm run preview -- --host 0.0.0.0 --port $PORT
```
No `frontend/package.json`, deixe assim:
```json
{
"scripts": {
"build": "vite build",
"preview": "vite preview"
}
}
```
Variável para apontar para o backend:
```env
VITE_API_URL=https://api.seudominio.com
```
No código React:
```js
const API_URL = import.meta.env.VITE_API_URL;
```
---
# 3. O que compactar
Compacte a pasta raiz do projeto contendo `frontend` e `backend`, mas sem arquivos pesados.
Exemplo:
```bash
zip -r projeto.zip . \
-x "*/node_modules/*" \
-x "*/dist/*" \
-x "*/build/*" \
-x ".git/*" \
-x "*/.env*" \
-x "*/.cache/*"
```
Melhor ainda: suba no **GitHub/GitLab** e conecte o repositório no Coolify. É mais fácil de atualizar depois.
Configuração da imagem:
Frontend:
```txt
Install Command: npm install
Build Command: npm run build
Start Command: npm run preview -- --host 0.0.0.0 --port $PORT
```
Backend:
```txt
Install Command: npm install
Build Command: npm run build
Start Command: npm run start
```