+ 3dviewer

This commit is contained in:
2026-06-26 09:19:34 +02:00
parent 793ae12d24
commit 10b778fa8e
8 changed files with 74 additions and 6 deletions
Generated
+4 -4
View File
@@ -733,11 +733,11 @@
"openspec": "openspec_2"
},
"locked": {
"lastModified": 1781945761,
"narHash": "sha256-WOLjTr1BkFeZDjXmOv+5pSDDvS1tzpd74nirwWxWmps=",
"lastModified": 1782364199,
"narHash": "sha256-uPNb0Mpror1QVMnoxxSrc3538jcj4cUKfFN2oXAPxXk=",
"ref": "refs/heads/master",
"rev": "b50dcf843b13eb6989bc3d9f0c490f509b6f533c",
"revCount": 330,
"rev": "f0c028a62c54d37f5bd52fe0656a613d04acefd8",
"revCount": 331,
"type": "git",
"url": "https://code.m3ta.dev/m3tam3re/nixpkgs"
},
@@ -5,7 +5,6 @@
./librechat.nix
./litellm.nix
./librechat-dev.nix
# ./frappe-lms.nix
./netbird.nix
./portainer.nix
./zammad-hr.nix
+1
View File
@@ -20,6 +20,7 @@
environment.systemPackages = with pkgs; [
neovim
ghostty
git
python3
python3Packages.pysmb
@@ -3,6 +3,7 @@
#./baserow.nix
./excalidraw.nix
./kestra.nix
./online3dviewer.nix
./stirling-pdf.nix
];
system.activationScripts.createPodmanNetworkWeb = lib.mkAfter ''
@@ -0,0 +1,31 @@
{
config,
pkgs,
...
}: let
serviceName = "online3dviewer";
servicePort = config.m3ta.ports.get serviceName;
in {
virtualisation.oci-containers.containers."${serviceName}" = {
image = "docker.io/nginxinc/nginx-unprivileged:stable-alpine";
ports = ["127.0.0.1:${toString servicePort}:8080"];
volumes = ["${pkgs.online3dviewer}:/usr/share/nginx/html:ro"];
extraOptions = [
"--ip=10.89.0.15"
"--network=web"
"--security-opt=no-new-privileges"
"--cap-drop=ALL"
];
};
services.traefik.dynamicConfigOptions.http = {
services.${serviceName}.loadBalancer.servers = [{url = "http://localhost:${toString servicePort}/";}];
routers.${serviceName} = {
rule = "Host(`3dv.l.az-gruppe.com`)";
tls = {certResolver = "ionos";};
service = serviceName;
entrypoints = "websecure";
};
};
}
+1
View File
@@ -56,6 +56,7 @@
stirling-pdf = 3032;
bpi = 3033;
excalidraw = 3034;
online3dviewer = 3035;
};
};
};
+1 -1
View File
@@ -1,4 +1,4 @@
{pkgs, ...}: {
# Define your custom packages here
# pomodoro-timer = pkgs.callPackage ./pomodoro-timer {};
online3dviewer = pkgs.callPackage ./online3dviewer {};
}
+35
View File
@@ -0,0 +1,35 @@
{
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "online3dviewer-site";
version = "0.18.0";
src = fetchFromGitHub {
owner = "kovacsv";
repo = "Online3DViewer";
rev = version;
hash = "sha256-D/EONwMc/9RFUs2AuzBDBsJiTdTsHfEDz5TlL9+JjI0=";
};
npmDepsHash = "sha256-Q7pYIE8aUCiwxIEMK41tMGVhJrqXoilBu/JP+oGPxi4=";
npmBuildScript = "build_website";
installPhase = ''
runHook preInstall
mkdir -p $out/o3dv
cp -r website/index.html website/embed.html website/robots.txt $out/
cp -r website/assets website/info $out/
cp -r build/website/. $out/o3dv/
for html in $out/index.html $out/embed.html; do
substituteInPlace "$html" \
--replace '<link rel="stylesheet" type="text/css" href="../build/website_dev/o3dv.website.min.css">' '<link rel="stylesheet" type="text/css" href="o3dv/o3dv.website.min.css?v=${version}">' \
--replace '<script type="text/javascript" src="../build/website_dev/o3dv.website.min.js"></script>' '<script type="text/javascript" src="o3dv/o3dv.website.min.js?v=${version}"></script>'
done
runHook postInstall
'';
}