Compare commits
6 Commits
f7dd8b24f4
...
uwu
| Author | SHA1 | Date | |
|---|---|---|---|
| 0db3b40a40 | |||
| 3a8b09e47e | |||
| f327b05bce | |||
| 8e1b609346 | |||
| 5572256b6b | |||
| fe77148fe0 |
10
.github/workflows/release-server.yaml
vendored
10
.github/workflows/release-server.yaml
vendored
@@ -146,7 +146,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
file: fluxer_server/Dockerfile
|
file: fluxer_server/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: ${{ steps.docker_meta.outputs.tags }}
|
tags: ${{ steps.docker_meta.outputs.tags }}
|
||||||
labels: |
|
labels: |
|
||||||
@@ -180,12 +180,10 @@ jobs:
|
|||||||
# push-to-registry: true
|
# push-to-registry: true
|
||||||
|
|
||||||
create-release:
|
create-release:
|
||||||
name: create release
|
name: create release (disabled for Gitea)
|
||||||
needs: [meta, build-server]
|
needs: [meta, build-server]
|
||||||
if: |
|
# GitHub release API doesn't exist in Gitea - disabled
|
||||||
always() &&
|
if: false
|
||||||
needs.meta.outputs.version != '' &&
|
|
||||||
(needs.build-server.result == 'success' || needs.build-server.result == 'skipped')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 25
|
timeout-minutes: 25
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ FROM node:24-trixie-slim AS base
|
|||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN corepack enable && corepack prepare pnpm@10.26.0 --activate
|
RUN corepack enable && corepack prepare pnpm@10.29.3 --activate
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
curl \
|
curl \
|
||||||
@@ -69,9 +69,13 @@ FROM deps AS build
|
|||||||
COPY tsconfigs /usr/src/app/tsconfigs
|
COPY tsconfigs /usr/src/app/tsconfigs
|
||||||
|
|
||||||
COPY packages/ ./packages/
|
COPY packages/ ./packages/
|
||||||
RUN pnpm --filter @fluxer/config generate
|
|
||||||
COPY fluxer_server/ ./fluxer_server/
|
COPY fluxer_server/ ./fluxer_server/
|
||||||
|
|
||||||
|
# Reinstall to ensure all dependencies are properly linked after copying source
|
||||||
|
RUN pnpm install --frozen-lockfile
|
||||||
|
|
||||||
|
RUN pnpm --filter @fluxer/config generate
|
||||||
|
|
||||||
RUN pnpm --filter @fluxer/marketing build:css
|
RUN pnpm --filter @fluxer/marketing build:css
|
||||||
|
|
||||||
COPY fluxer_media_proxy/data/model.onnx ./fluxer_media_proxy/data/model.onnx
|
COPY fluxer_media_proxy/data/model.onnx ./fluxer_media_proxy/data/model.onnx
|
||||||
@@ -156,7 +160,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
RUN corepack enable && corepack prepare pnpm@10.26.0 --activate
|
RUN corepack enable && corepack prepare pnpm@10.29.3 --activate
|
||||||
|
|
||||||
COPY --from=build /usr/src/app/node_modules ./node_modules
|
COPY --from=build /usr/src/app/node_modules ./node_modules
|
||||||
COPY --from=build /usr/src/app/packages ./packages
|
COPY --from=build /usr/src/app/packages ./packages
|
||||||
@@ -214,4 +218,4 @@ HEALTHCHECK --interval=30s --timeout=10s --retries=3 \
|
|||||||
CMD curl -f http://localhost:8080/_health || exit 1
|
CMD curl -f http://localhost:8080/_health || exit 1
|
||||||
|
|
||||||
# Target the fluxer_server package specifically
|
# Target the fluxer_server package specifically
|
||||||
ENTRYPOINT ["pnpm", "--filter", "@fluxer/server", "start"]
|
ENTRYPOINT ["pnpm", "--filter", "fluxer_server", "start"]
|
||||||
|
|||||||
@@ -49,6 +49,12 @@ export class NSFWDetectionService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async initialize(): Promise<void> {
|
async initialize(): Promise<void> {
|
||||||
|
try {
|
||||||
|
await fs.access(this.modelPath);
|
||||||
|
} catch {
|
||||||
|
this.session = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
const modelBuffer = await fs.readFile(this.modelPath);
|
const modelBuffer = await fs.readFile(this.modelPath);
|
||||||
this.session = await ort.InferenceSession.create(modelBuffer);
|
this.session = await ort.InferenceSession.create(modelBuffer);
|
||||||
}
|
}
|
||||||
@@ -60,7 +66,7 @@ export class NSFWDetectionService {
|
|||||||
|
|
||||||
async checkNSFWBuffer(buffer: Buffer): Promise<NSFWCheckResult> {
|
async checkNSFWBuffer(buffer: Buffer): Promise<NSFWCheckResult> {
|
||||||
if (!this.session) {
|
if (!this.session) {
|
||||||
throw new Error('NSFW Detection service not initialized');
|
return {isNSFW: false, probability: 0};
|
||||||
}
|
}
|
||||||
|
|
||||||
const processedImage = await this.preprocessImage(buffer);
|
const processedImage = await this.preprocessImage(buffer);
|
||||||
|
|||||||
Reference in New Issue
Block a user