Elysiadev11 commited on
Commit
d01a676
·
verified ·
1 Parent(s): 8d0350f

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +61 -0
Dockerfile ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ============================================================
2
+ # 9Router - Hugging Face Spaces Dockerfile
3
+ # Port: 7860 (wajib untuk HF Spaces)
4
+ # ============================================================
5
+
6
+ FROM node:20-slim
7
+
8
+ # Install git dan dependencies sistem
9
+ RUN apt-get update && apt-get install -y \
10
+ git \
11
+ curl \
12
+ && rm -rf /var/lib/apt/lists/*
13
+
14
+ # Set working directory
15
+ WORKDIR /app
16
+
17
+ # Clone repo 9router
18
+ RUN git clone https://github.com/decolua/9router.git .
19
+
20
+ # Install dependencies npm
21
+ RUN npm install
22
+
23
+ # Build Next.js app
24
+ RUN npm run build
25
+
26
+ # Buat direktori untuk data storage
27
+ RUN mkdir -p /data /root/.9router
28
+
29
+ # ============================================================
30
+ # Environment Variables
31
+ # Set defaults yang aman - override via HF Spaces Secrets
32
+ # ============================================================
33
+ ENV PORT=7860
34
+ ENV HOSTNAME=0.0.0.0
35
+ ENV NODE_ENV=production
36
+ ENV DATA_DIR=/data
37
+
38
+ # BASE_URL akan di-set otomatis saat runtime jika ada SPACE_HOST
39
+ # Secrets ini HARUS di-set di HF Spaces Settings:
40
+ # INITIAL_PASSWORD - password login dashboard
41
+ # JWT_SECRET - secret untuk JWT token
42
+ # API_KEY_SECRET - secret untuk API keys
43
+ # MACHINE_ID_SALT - salt untuk machine ID
44
+
45
+ # Fallback defaults (GANTI via Secrets di HF Spaces!)
46
+ ENV INITIAL_PASSWORD=changeme123
47
+ ENV JWT_SECRET=please-change-this-jwt-secret-in-hf-spaces-settings
48
+ ENV API_KEY_SECRET=please-change-this-api-key-secret
49
+ ENV MACHINE_ID_SALT=please-change-this-salt
50
+ ENV REQUIRE_API_KEY=false
51
+ ENV AUTH_COOKIE_SECURE=true
52
+ ENV ENABLE_REQUEST_LOGS=false
53
+
54
+ # Expose port HF Spaces
55
+ EXPOSE 7860
56
+
57
+ # Script startup: set BASE_URL dari SPACE_HOST jika tersedia
58
+ COPY start-hf.sh /app/start-hf.sh
59
+ RUN chmod +x /app/start-hf.sh
60
+
61
+ CMD ["/app/start-hf.sh"]