Compare commits
2 Commits
fix/deploy
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f298e4a2a6 | ||
|
|
b58ba41458 |
9
Dockerfile.oci
Normal file
9
Dockerfile.oci
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
FROM alpine:3.21
|
||||||
|
RUN apk add --no-cache git ca-certificates
|
||||||
|
WORKDIR /app
|
||||||
|
COPY repo-vis-server ./
|
||||||
|
COPY dist ./web/dist/
|
||||||
|
ENV PORT=8080
|
||||||
|
ENV FRONTEND_DIR=./web/dist
|
||||||
|
EXPOSE 8080
|
||||||
|
CMD ["./repo-vis-server"]
|
||||||
13
Makefile
13
Makefile
@ -39,18 +39,9 @@ deploy-oci: build-arm
|
|||||||
ssh $(OCI_HOST) "rm -rf $(OCI_TMP) && mkdir -p $(OCI_TMP)"
|
ssh $(OCI_HOST) "rm -rf $(OCI_TMP) && mkdir -p $(OCI_TMP)"
|
||||||
scp server/target/$(MUSL_TARGET_ARM)/release/repo-vis-server $(OCI_HOST):$(OCI_TMP)/
|
scp server/target/$(MUSL_TARGET_ARM)/release/repo-vis-server $(OCI_HOST):$(OCI_TMP)/
|
||||||
cd web && tar czf /tmp/_rv_dist.tar.gz dist && scp /tmp/_rv_dist.tar.gz $(OCI_HOST):$(OCI_TMP)/
|
cd web && tar czf /tmp/_rv_dist.tar.gz dist && scp /tmp/_rv_dist.tar.gz $(OCI_HOST):$(OCI_TMP)/
|
||||||
|
scp Dockerfile.oci $(OCI_HOST):$(OCI_TMP)/Dockerfile
|
||||||
@echo "==> Building image on OCI..."
|
@echo "==> Building image on OCI..."
|
||||||
ssh $(OCI_HOST) 'cd $(OCI_TMP) && tar xzf _rv_dist.tar.gz && cat > Dockerfile <<DEOF\n\
|
ssh $(OCI_HOST) 'cd $(OCI_TMP) && tar xzf _rv_dist.tar.gz && \
|
||||||
FROM alpine:3.21\n\
|
|
||||||
RUN apk add --no-cache git ca-certificates\n\
|
|
||||||
WORKDIR /app\n\
|
|
||||||
COPY repo-vis-server ./\n\
|
|
||||||
COPY dist ./web/dist/\n\
|
|
||||||
ENV PORT=8080\n\
|
|
||||||
ENV FRONTEND_DIR=./web/dist\n\
|
|
||||||
EXPOSE 8080\n\
|
|
||||||
CMD ["./repo-vis-server"]\n\
|
|
||||||
DEOF\n\
|
|
||||||
sudo docker build -t repo-vis:latest . && \
|
sudo docker build -t repo-vis:latest . && \
|
||||||
sudo docker save repo-vis:latest -o /tmp/_rv.tar && \
|
sudo docker save repo-vis:latest -o /tmp/_rv.tar && \
|
||||||
sudo k3s ctr images import /tmp/_rv.tar'
|
sudo k3s ctr images import /tmp/_rv.tar'
|
||||||
|
|||||||
@ -302,11 +302,12 @@ export class RepoRenderer {
|
|||||||
// Watermark — tiled path text, 45° rotated, slightly larger than code font
|
// Watermark — tiled path text, 45° rotated, slightly larger than code font
|
||||||
if (!tile.watermark) {
|
if (!tile.watermark) {
|
||||||
const codeFontSize = (d.h / d.lines) * 0.65;
|
const codeFontSize = (d.h / d.lines) * 0.65;
|
||||||
const wmFontSize = codeFontSize * 2.5;
|
// Clamp wmFontSize to avoid degenerate tiny values on files with huge line counts
|
||||||
|
const wmFontSize = Math.max(codeFontSize * 2.5, 1.0);
|
||||||
const wmLabel = `${this.repoName}/${d.path}`;
|
const wmLabel = `${this.repoName}/${d.path}`;
|
||||||
// Estimate how many repetitions to fill the area
|
// Estimate how many repetitions to fill the area; cap to prevent RangeError on massive tiles
|
||||||
const charsPerLine = Math.ceil(Math.max(d.w, d.h) * 1.5 / (wmFontSize * 0.5));
|
const charsPerLine = Math.min(Math.ceil(Math.max(d.w, d.h) * 1.5 / (wmFontSize * 0.5)), 400);
|
||||||
const lineCount = Math.ceil(Math.max(d.w, d.h) * 1.5 / (wmFontSize * 1.5));
|
const lineCount = Math.min(Math.ceil(Math.max(d.w, d.h) * 1.5 / (wmFontSize * 1.5)), 150);
|
||||||
const wmContent = buildWatermark(wmLabel, charsPerLine, lineCount);
|
const wmContent = buildWatermark(wmLabel, charsPerLine, lineCount);
|
||||||
|
|
||||||
const wm = new Text();
|
const wm = new Text();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user