poprawki do deployu

This commit is contained in:
Patryk Koreń
2026-07-09 22:34:24 +02:00
parent fa9e3b5ce7
commit 6aa9db54f4
7 changed files with 63 additions and 20 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
out/
pictures/

View File

@@ -4,6 +4,7 @@ import path from "path";
export const REMOTE_DIR = "/";
export const LOCAL_DIR = path.resolve("./downloads");
export const OUT_DIR = path.resolve("./out");
export async function downloadMissing(remoteDir: string = REMOTE_DIR) {
await fs.mkdir(LOCAL_DIR, { recursive: true })

View File

@@ -1,14 +1,16 @@
// src/routes/auth.ts
import { Router } from "express";
import { downloadMissing, LOCAL_DIR } from "../lib/nextcloud";
import { downloadMissing, LOCAL_DIR, OUT_DIR } from "../lib/nextcloud";
import path from "node:path";
import { encodeFrames } from "../lib/crateClip";
import fs from "node:fs"
const router = Router();
export const out_vid_path = `${OUT_DIR}/out.mp4`
router.get("/video", async (req, res) => {
const videoPath = path.resolve("./out.mp4");
const videoPath = path.resolve(out_vid_path);
const stat = fs.statSync(videoPath);
// Simple ETag based on file size + modification time
@@ -25,13 +27,15 @@ router.get("/video", async (req, res) => {
router.post("/createclip", async (req, res) => {
try {
await fs.mkdirSync(OUT_DIR, { recursive: true })
await encodeFrames({
inputPattern: `${LOCAL_DIR}/*.jpg`,
output: path.resolve("./out.mp4"),
output: out_vid_path,
fps: 8,
});
res.status(200).end();
} catch {
} catch (e) {
console.log(e)
res.status(501).end();
}
})

View File

@@ -12,7 +12,7 @@ dotenv.config();
const app = express();
app.use(cors({
origin: "http://localhost:5173",
origin: "https://papryk.com",
methods: ["GET", "POST"],
credentials: true
}));

View File

@@ -1,28 +1,38 @@
services:
backend:
papryk-com-backend:
build: ./back
container_name: papryk-backend
expose:
- "3000"
environment:
- NODE_ENV=development
volumes:
- ./pictures:/app/downloads
- ./out:/app/out
frontend:
papryk-com-frontend:
build:
context: ./front
args:
VITE_API_URL: "http://localhost/api"
VITE_API_URL: "https://papryk.com/api"
container_name: papryk-frontend
expose:
- "5173"
nginx:
papryk-com-nginx:
image: nginx:alpine
container_name: papryk-nginx
ports:
- "80:80"
# ports:
# - "80:80"
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- frontend
- backend
- papryk-com-frontend
- papryk-com-backend
networks:
- proxy-net
networks:
proxy-net:
external: true

View File

@@ -1,9 +1,29 @@
FROM oven/bun:latest
# FROM oven/bun:latest
#
# WORKDIR /app
#
# COPY package.json bun.lockb* ./
# RUN bun install
#
# COPY . .
#
# ARG VITE_API_URL
# ENV VITE_API_URL=$VITE_API_URL
#
# RUN rm -f .env .env.*
#
# RUN bun run build --mode production
#
# EXPOSE 5173
#
# CMD ["bun", "run", "preview", "--", "--host", "--port", "5173"]
# Build stage
FROM oven/bun:latest AS builder
WORKDIR /app
COPY package.json bun.lockb* ./
RUN bun install
RUN bun install --frozen-lockfile
COPY . .
@@ -11,9 +31,14 @@ ARG VITE_API_URL
ENV VITE_API_URL=$VITE_API_URL
RUN rm -f .env .env.*
RUN bun run build --mode production
EXPOSE 5173
CMD ["bun", "run", "preview", "--", "--host", "--port", "5173"]
# Production stage
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

View File

@@ -5,7 +5,8 @@ server {
# FRONTEND (Vite)
# =========================
location / {
proxy_pass http://frontend:5173;
# proxy_pass http://papryk-com-frontend:5173;
proxy_pass http://papryk-com-frontend:80;
proxy_http_version 1.1;
proxy_set_header Host $host;
@@ -19,7 +20,7 @@ server {
location /api/ {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://backend:3000;
proxy_pass http://papryk-com-backend:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;