timindev commited on
Commit
eb618ee
·
verified ·
1 Parent(s): aeba886

Upload 3 files

Browse files
Files changed (3) hide show
  1. Dockerfile +21 -0
  2. package.json +8 -0
  3. server.js +25 -0
Dockerfile ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM node:18-slim
2
+
3
+ WORKDIR /app
4
+
5
+ RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/*
6
+
7
+ # clone UV App
8
+ RUN git clone https://github.com/titaniumnetwork-dev/Ultraviolet-App.git uv
9
+
10
+ WORKDIR /app
11
+
12
+ # install dependencies
13
+ COPY package.json /app/package.json
14
+ RUN npm install
15
+
16
+ COPY server.js /app/server.js
17
+
18
+ ENV PORT=7860
19
+ EXPOSE 7860
20
+
21
+ CMD ["node", "server.js"]
package.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "uv-space",
3
+ "version": "1.0.0",
4
+ "main": "server.js",
5
+ "dependencies": {
6
+ "express": "^4.18.2"
7
+ }
8
+ }
server.js ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const express = require("express");
2
+ const path = require("path");
3
+
4
+ const app = express();
5
+ const PORT = process.env.PORT || 7860;
6
+
7
+ // ⭐ 必须:COOP / COEP(UV 核心)
8
+ app.use((req, res, next) => {
9
+ res.setHeader("Cross-Origin-Opener-Policy", "same-origin");
10
+ res.setHeader("Cross-Origin-Embedder-Policy", "require-corp");
11
+ res.setHeader("Access-Control-Allow-Origin", "*");
12
+ next();
13
+ });
14
+
15
+ // 静态文件
16
+ app.use(express.static(path.join(__dirname, "uv")));
17
+
18
+ // SPA fallback(UV 必须)
19
+ app.get("*", (req, res) => {
20
+ res.sendFile(path.join(__dirname, "uv", "index.html"));
21
+ });
22
+
23
+ app.listen(PORT, "0.0.0.0", () => {
24
+ console.log("Running on:", PORT);
25
+ });