CreatorKit Claude Opus 4.8 commited on
Commit
c66d152
·
1 Parent(s): f00aab1

chore: configura deploy no Hugging Face Spaces

Browse files

- Cabecalho de metadata do HF Spaces no topo do README (sdk docker,
app_port 7860).
- Dockerfile: usuario nao-root (UID 1000, exigido pelo HF), porta
padrao 7860 via ENV PORT, permissoes de escrita nas pastas de cache
e temporarios.
- README com passo a passo de deploy no HF Spaces (16GB RAM gratis,
roda a transcricao Whisper sem custo).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Files changed (2) hide show
  1. Dockerfile +11 -4
  2. README.md +23 -0
Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- # CreatorKit — imagem de produção
2
  # Debian slim (glibc) porque o onnxruntime do Whisper não roda bem em Alpine/musl.
3
  FROM node:20-slim
4
 
@@ -10,19 +10,26 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
10
  && chmod a+rx /usr/local/bin/yt-dlp \
11
  && apt-get clean && rm -rf /var/lib/apt/lists/*
12
 
 
 
 
13
  WORKDIR /app
14
 
15
  # Instala dependências (camada cacheável)
16
  COPY package*.json ./
17
  RUN npm install --omit=dev && npm cache clean --force
18
 
19
- # Copia o restante do código
20
  COPY . .
 
 
21
 
22
  ENV NODE_ENV=production
23
  ENV YTDLP_PATH=/usr/local/bin/yt-dlp
24
- # Cache dos modelos Whisper dentro do app
25
  ENV XENOVA_CACHE_DIR=/app/.cache
 
 
26
 
27
- EXPOSE 5050
 
28
  CMD ["node", "server.js"]
 
1
+ # CreatorKit — imagem de produção (Render, Hugging Face Spaces, etc.)
2
  # Debian slim (glibc) porque o onnxruntime do Whisper não roda bem em Alpine/musl.
3
  FROM node:20-slim
4
 
 
10
  && chmod a+rx /usr/local/bin/yt-dlp \
11
  && apt-get clean && rm -rf /var/lib/apt/lists/*
12
 
13
+ # Usuário não-root (Hugging Face Spaces roda como UID 1000)
14
+ RUN useradd -m -u 1000 user
15
+
16
  WORKDIR /app
17
 
18
  # Instala dependências (camada cacheável)
19
  COPY package*.json ./
20
  RUN npm install --omit=dev && npm cache clean --force
21
 
22
+ # Copia o restante do código e dá posse ao usuário não-root
23
  COPY . .
24
+ RUN mkdir -p /app/.cache /app/downloads /app/uploads /app/bin \
25
+ && chown -R user:user /app
26
 
27
  ENV NODE_ENV=production
28
  ENV YTDLP_PATH=/usr/local/bin/yt-dlp
 
29
  ENV XENOVA_CACHE_DIR=/app/.cache
30
+ # Porta padrão do Hugging Face Spaces (Render injeta sua própria via $PORT)
31
+ ENV PORT=7860
32
 
33
+ USER user
34
+ EXPOSE 7860
35
  CMD ["node", "server.js"]
README.md CHANGED
@@ -1,3 +1,13 @@
 
 
 
 
 
 
 
 
 
 
1
  # ✦ CreatorKit
2
 
3
  Plataforma local para criadores de conteúdo. Transcreve vídeos e gera caption, thread, post de blog, hooks, ideias, hashtags, bio, roteiro e calendário — tudo processado na própria máquina/servidor, sem API externa.
@@ -36,6 +46,19 @@ docker run -p 5050:5050 creatorkit
36
 
37
  A imagem já inclui `ffmpeg`, `python3` e `yt-dlp`.
38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  ## ☁️ Deploy em Render / Railway / Fly.io
40
 
41
  O projeto está pronto para qualquer plataforma que rode Docker:
 
1
+ ---
2
+ title: CreatorKit
3
+ emoji: 🎬
4
+ colorFrom: purple
5
+ colorTo: pink
6
+ sdk: docker
7
+ app_port: 7860
8
+ pinned: false
9
+ ---
10
+
11
  # ✦ CreatorKit
12
 
13
  Plataforma local para criadores de conteúdo. Transcreve vídeos e gera caption, thread, post de blog, hooks, ideias, hashtags, bio, roteiro e calendário — tudo processado na própria máquina/servidor, sem API externa.
 
46
 
47
  A imagem já inclui `ffmpeg`, `python3` e `yt-dlp`.
48
 
49
+ ## 🤗 Deploy no Hugging Face Spaces (grátis, com transcrição)
50
+
51
+ O HF Spaces dá **16 GB de RAM grátis**, o suficiente para rodar o Whisper. O projeto já está configurado (cabeçalho no topo deste README + porta `7860` no Dockerfile).
52
+
53
+ 1. Crie uma conta em https://huggingface.co
54
+ 2. **New Space** → SDK **Docker** → visibilidade **Public**
55
+ 3. Suba o código no repositório do Space:
56
+ ```bash
57
+ git remote add space https://huggingface.co/spaces/SEU-USUARIO/creatorkit
58
+ git push space main
59
+ ```
60
+ 4. O Space builda o `Dockerfile` sozinho. Em alguns minutos fica no ar com transcrição funcionando.
61
+
62
  ## ☁️ Deploy em Render / Railway / Fly.io
63
 
64
  O projeto está pronto para qualquer plataforma que rode Docker: