mirror of
https://github.com/ShaYmez/HBMonv2.git
synced 2026-01-06 23:49:12 -05:00
Optimize Dockerfile for better build performance
Refactor Dockerfile to improve layer caching and dependency management.
This commit is contained in:
parent
74113a6d9f
commit
bc2befab60
51
Dockerfile
51
Dockerfile
@ -1,37 +1,34 @@
|
||||
###############################################################################
|
||||
# Copyright (C) 2024 Shane aka, ShaYmez <support@gb7nr.co.uk>
|
||||
# Copyright (C) 2024 Shane aka, ShaYmez <support@gb7nr.co.uk>
|
||||
# Version 2.0.1
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
###############################################################################
|
||||
|
||||
FROM python:alpine3.20
|
||||
|
||||
COPY entrypoint /entrypoint
|
||||
|
||||
RUN adduser -D -u 54000 radio
|
||||
RUN apk update && \
|
||||
apk add git gcc musl-dev libffi-dev openssl-dev cargo && \
|
||||
pip install --upgrade pip --break-system-packages && \
|
||||
pip cache purge && \
|
||||
git clone https://github.com/shaymez/HBMonv2.git /hbmon && \
|
||||
cd /hbmon && \
|
||||
pip install --no-cache-dir --break-system-packages -r requirements.txt && \
|
||||
apk del git gcc musl-dev libffi-dev openssl-dev && \
|
||||
chown -R radio /hbmon
|
||||
|
||||
WORKDIR /hbmon
|
||||
|
||||
# Install build dependencies
|
||||
RUN apk add --no-cache git gcc musl-dev libffi-dev openssl-dev cargo
|
||||
|
||||
# Copy only requirements first for better layer caching
|
||||
COPY requirements.txt .
|
||||
|
||||
RUN pip install --upgrade pip \
|
||||
&& pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
# Remove build dependencies
|
||||
RUN apk del git gcc musl-dev libffi-dev openssl-dev cargo
|
||||
|
||||
# Copy the application code
|
||||
COPY . .
|
||||
|
||||
RUN chown -R radio /hbmon
|
||||
|
||||
COPY entrypoint /entrypoint
|
||||
RUN chmod +x /entrypoint
|
||||
|
||||
USER radio
|
||||
|
||||
ENTRYPOINT [ "/entrypoint" ]
|
||||
ENTRYPOINT ["/entrypoint"]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user