Skip to content

Commit

Permalink
Nativefier latest
Browse files Browse the repository at this point in the history
  • Loading branch information
zeldaroot committed Oct 1, 2021
1 parent 8ae0d9b commit 175f425
Showing 1 changed file with 1 addition and 50 deletions.
51 changes: 1 addition & 50 deletions config/app/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,52 +1,3 @@
FROM node:12-alpine
LABEL description="Alpine image to build Nativefier apps"

# Install dependencies and cleanup extraneous files
RUN apk update \
&& apk add bash wine imagemagick dos2unix git \
&& rm -rf /var/cache/apk/*

# Use node (1000) as default user not root
USER node

ENV NPM_PACKAGES="/home/node/npm-packages"
ENV PATH="$PATH:$NPM_PACKAGES/bin"
ENV MANPATH="$MANPATH:$NPM_PACKAGES/share/man"

# Setup a global packages location for "node" user so we can npm link
RUN mkdir $NPM_PACKAGES \
&& npm config set prefix $NPM_PACKAGES

# Add sources with node as the owner so that it has the power it needs to build in /nativefier
RUN git clone "https://github.com/jiahaog/nativefier.git" -b v44.0.4 "/nativefier" \
&& chown node:node /nativefier

WORKDIR /nativefier

# Fix line endings that may have gotten mangled in Windows
RUN find ./icon-scripts ./src ./app -type f -print0 | xargs -0 dos2unix

# Link (which will install and build)
# Run tests (to ensure we don't Docker build & publish broken stuff)
# Cleanup leftover files in this step to not waste Docker layer space
# Make sure nativefier is executable
RUN npm link \
&& npm test \
&& rm -rf /tmp/nativefier* ~/.npm/_cacache ~/.cache/electron \
&& chmod +x $NPM_PACKAGES/bin/nativefier

# Run a {lin,mac,win} build
# 1. to check installation was sucessful
# 2. to cache electron distributables and avoid downloads at runtime
# Also delete generated apps so they don't get added to the Docker layer
# !Important! The `rm -rf` command must be in the same `RUN` command (using an `&&`), to not waste Docker layer space
RUN nativefier https://github.com/nativefier/nativefier /tmp/nativefier \
&& nativefier -p osx https://github.com/nativefier/nativefier /tmp/nativefier \
&& nativefier -p windows https://github.com/nativefier/nativefier /tmp/nativefier \
&& rm -rf /tmp/nativefier

RUN echo Generated Electron cache size: $(du -sh ~/.cache/electron) \
&& echo Final image size: $(du -sh / 2>/dev/null)

FROM nativefier/nativefier:latest
ENTRYPOINT ["nativefier"]
CMD ["--help"]

0 comments on commit 175f425

Please sign in to comment.