Upload 3 files
Browse files- Dockerfile +21 -0
- package.json +8 -0
- 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 |
+
});
|