浏览代码

dcraw almost working

C4illin 5 月之前
父节点
当前提交
3da6734e10
共有 2 个文件被更改,包括 61 次插入66 次删除
  1. 52 51
      .gitignore
  2. 9 15
      Dockerfile

+ 52 - 51
.gitignore

@@ -1,51 +1,52 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-
-# testing
-/coverage
-
-# next.js
-/.next/
-/out/
-
-# production
-/build
-
-# misc
-.DS_Store
-*.pem
-
-# debug
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-
-# local env files
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-
-# vercel
-.vercel
-
-**/*.trace
-**/*.zip
-**/*.tar.gz
-**/*.tgz
-**/*.log
-package-lock.json
-**/*.bun
-/src/uploads
-/uploads
-/mydb.sqlite
-/output
-/db
-/data
-/Bruno
-/tsconfig.tsbuildinfo
-/public/generated.css
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.js
+
+# testing
+/coverage
+
+# next.js
+/.next/
+/out/
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# local env files
+.env.local
+.env.development.local
+.env.test.local
+.env.production.local
+
+# vercel
+.vercel
+
+**/*.trace
+**/*.zip
+**/*.tar.gz
+**/*.tgz
+**/*.log
+package-lock.json
+**/*.bun
+/src/uploads
+/uploads
+/mydb.sqlite
+/output
+/db
+/data
+/Bruno
+/tsconfig.tsbuildinfo
+/public/generated.css
+/dcraw

+ 9 - 15
Dockerfile

@@ -2,10 +2,6 @@ FROM oven/bun:1.2.2-alpine AS base
 LABEL org.opencontainers.image.source="https://github.com/C4illin/ConvertX"
 WORKDIR /app
 
-RUN apk --no-cache add  \
-  gettext \
-  libc6-compat 
-
 # install dependencies into temp directory
 # this will cache them and speed up future builds
 FROM base AS install
@@ -18,21 +14,19 @@ RUN mkdir -p /temp/prod
 COPY package.json bun.lock /temp/prod/
 RUN cd /temp/prod && bun install --frozen-lockfile --production
 
-FROM base AS builder
+FROM base AS resvg
 RUN apk --no-cache add curl gcc
 ENV PATH=/root/.cargo/bin:$PATH
 RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
 RUN cargo install resvg
 
+FROM base AS dcraw
 # build dcraw
-RUN cd /tmp ; \
-  wget https://www.dechifro.org/dcraw/archive/dcraw-9.28.0.tar.gz ; \
-  tar -xzvf dcraw-*.tar.gz ; \
-  cd /tmp/dcraw ; \
-  sed 's/-llcms2/-llcms2 -lintl/' <install >install.new && mv install.new install ; \
-  chmod 755 install ;
-RUN cd /tmp/dcraw ; \
-  ./install ;
+RUN apk --no-cache add build-base wget tar jasper-dev jpeg-dev lcms2-dev libc6-compat gettext libintl gettext-dev gettext-libs gettext-lang gettext-static
+RUN mkdir -p /temp
+WORKDIR /temp
+RUN wget https://www.dechifro.org/dcraw/archive/dcraw-9.28.0.tar.gz ; \
+  tar -xzvf dcraw-*.tar.gz ; cd dcraw ; chmod 755 install ; ./install ; 
 
 # copy node_modules from temp directory
 # then copy all (non-ignored) project files into the image
@@ -81,8 +75,8 @@ RUN apk --no-cache add calibre --repository=http://dl-cdn.alpinelinux.org/alpine
 #   texmf-dist-fontsextra \
 
 COPY --from=install /temp/prod/node_modules node_modules
-COPY --from=builder /root/.cargo/bin/resvg /usr/local/bin/resvg
-COPY --from=builder /usr/local/bin/dcraw /usr/local/bin/dcraw
+COPY --from=resvg /root/.cargo/bin/resvg /usr/local/bin/resvg
+COPY --from=dcraw /usr/local/bin/dcraw /usr/local/bin/dcraw
 COPY --from=prerelease /app/public/generated.css /app/public/
 # COPY --from=prerelease /app/src/index.tsx /app/src/
 # COPY --from=prerelease /app/package.json .