123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- {
- description = "ConvertX";
- inputs = {
- nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
- flake-utils.url = "github:numtide/flake-utils";
- };
- outputs = { self, nixpkgs, flake-utils, ... }:
- flake-utils.lib.eachDefaultSystem (system:
- let pkgs = import nixpkgs { inherit system; };
- appSrc = ./.;
- app = pkgs.dockerTools.buildLayeredImage {
- name = "convertx";
- tag = "latest";
- contents = [
- pkgs.bun
- pkgs.resvg
- pkgs.ffmpeg
- pkgs.graphicsmagick
- pkgs.ghostscript
- pkgs.vips
- pkgs.pandoc
- pkgs.texlive.combined.scheme-full
- pkgs.calibre
- pkgs.inkscape
- pkgs.poppler_utils
- pkgs.assimp
- pkgs.jxrlib
- pkgs.libheif
- pkgs.libjxl
- pkgs.python3Packages.numpy
- ];
- config = {
- Env = [
- "NODE_ENV=production"
- "PATH=/bin:/usr/bin"
- ];
- WorkingDir = "/app";
- Cmd = [ "bun" "run" "./src/index.tsx" ];
- ExposedPorts = {
- "3000/tcp" = {};
- };
- };
- extraCommands = ''
- export PATH=${pkgs.bun}/bin:$PATH
- mkdir -p /app
- cp -r ${./dist}/* /app/
- '';
- };
- in {
- packages.default = app;
- }
- );
- }
|