-
Notifications
You must be signed in to change notification settings - Fork 20
feat: Implement Docker image #56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,48 @@ | ||||||
FROM ubuntu:jammy-20231004 | ||||||
LABEL Maxence Laude <maxence@laude.pro> | ||||||
|
||||||
ARG DEBIAN_FRONTEND=noninteractive | ||||||
ARG UEFIExtract_VERSION=A68 | ||||||
|
||||||
RUN echo 'apt::install-recommends "false";' > /etc/apt/apt.conf.d/no-install-recommends | ||||||
RUN apt update && \ | ||||||
apt install -y git ruby ruby-dev upx-ucl p7zip-full innoextract build-essential unzip curl file && \ | ||||||
gem install bundler && \ | ||||||
apt autoremove -y && \ | ||||||
apt autoclean && \ | ||||||
apt clean && \ | ||||||
rm -rf /var/lib/apt/lists/* | ||||||
|
||||||
RUN groupadd -g 1000 app \ | ||||||
&& useradd -d /app -s /bin/bash -g app app \ | ||||||
&& chown -R app:app /app | ||||||
|
||||||
RUN git clone https://github.com/awilliam/rom-parser && \ | ||||||
cd rom-parser && \ | ||||||
make && \ | ||||||
chmod +x rom-parser && \ | ||||||
mv rom-parser /usr/local/bin | ||||||
|
||||||
WORKDIR /app | ||||||
|
||||||
USER app | ||||||
|
||||||
COPY --chown=app:app . . | ||||||
|
||||||
# https://github.com/coderobe/VBiosFinder/issues/50 | ||||||
# https://github.com/coderobe/VBiosFinder/pull/51 | ||||||
RUN git remote add vkhodygo https://github.com/vkhodygo/VBiosFinder.git && \ | ||||||
git fetch vkhodygo && \ | ||||||
git rebase | ||||||
|
||||||
RUN mkdir -p /app/.gem && \ | ||||||
bundle config set --local path '/app/.gem' && \ | ||||||
bundle install --path=vendor/bundle | ||||||
|
||||||
ENV PATH=$PATH:$HOME/.gem/bin | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Home doesn't work well, absolute path is better
Suggested change
|
||||||
|
||||||
RUN curl -LO https://github.com/LongSoft/UEFITool/releases/download/A68/UEFIExtract_NE_${UEFIExtract_VERSION}_x64_linux.zip && unzip UEFIExtract_NE_${UEFIExtract_VERSION}_x64_linux.zip && mv uefiextract ./3rdparty/UEFIExtract | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. URL doesn't update with argument properly
Suggested change
Comment on lines
+28
to
+44
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It is much better to layer modules and less frequently changing things first:
|
||||||
|
||||||
RUN mkdir ./output | ||||||
|
||||||
ENTRYPOINT ["./vbiosfinder", "extract"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Chown of /app before creation causes an error
0.102 chown: cannot access '/app': No such file or directory