mirror of
https://github.com/dockersrc/alpine
synced 2026-06-30 17:45:53 -04:00
6cc202ac60
- Renamed `dockerfs/` directory tree to `rootfs/` for all setup scripts, binaries, functions, and template files - Updated all Dockerfile variants (3.14 through 3.23, edge, and base) to reference the new `rootfs/` path - Updated README.md to reflect the new directory structure - Preserved file contents during the rename (100% similarity across moved files) Dockerfile Dockerfile.3.14 Dockerfile.3.15 Dockerfile.3.16 Dockerfile.3.17 Dockerfile.3.18 Dockerfile.3.19 Dockerfile.3.20 Dockerfile.3.21 Dockerfile.3.22 Dockerfile.3.23 Dockerfile.edge dockerfs/root/docker/setup/00-init.sh dockerfs/root/docker/setup/01-system.sh dockerfs/root/docker/setup/02-packages.sh dockerfs/root/docker/setup/03-files.sh dockerfs/root/docker/setup/04-users.sh dockerfs/root/docker/setup/05-custom.sh dockerfs/root/docker/setup/06-post.sh dockerfs/root/docker/setup/07-cleanup.sh dockerfs/usr/local/bin/copy dockerfs/usr/local/bin/entrypoint.sh dockerfs/usr/local/bin/pkmgr dockerfs/usr/local/bin/symlink dockerfs/usr/local/etc/docker/functions/entrypoint.sh dockerfs/usr/local/share/template-files/config/env/default.sample dockerfs/usr/local/share/template-files/config/env/examples/00-directory.sh dockerfs/usr/local/share/template-files/config/env/examples/addresses.sh dockerfs/usr/local/share/template-files/config/env/examples/certbot.sh dockerfs/usr/local/share/template-files/config/env/examples/couchdb.sh dockerfs/usr/local/share/template-files/config/env/examples/dockerd.sh dockerfs/usr/local/share/template-files/config/env/examples/global.sh dockerfs/usr/local/share/template-files/config/env/examples/healthcheck.sh dockerfs/usr/local/share/template-files/config/env/examples/mariadb.sh dockerfs/usr/local/share/template-files/config/env/examples/mongodb.sh dockerfs/usr/local/share/template-files/config/env/examples/networking.sh dockerfs/usr/local/share/template-files/config/env/examples/other.sh dockerfs/usr/local/share/template-files/config/env/examples/php.sh dockerfs/usr/local/share/template-files/config/env/examples/postgres.sh dockerfs/usr/local/share/template-files/config/env/examples/redis.sh dockerfs/usr/local/share/template-files/config/env/examples/services.sh dockerfs/usr/local/share/template-files/config/env/examples/ssl.sh dockerfs/usr/local/share/template-files/config/env/examples/supabase.sh dockerfs/usr/local/share/template-files/config/env/examples/webservers.sh dockerfs/usr/local/share/template-files/config/env/examples/zz-entrypoint.sh dockerfs/usr/local/share/template-files/config/.gitkeep dockerfs/usr/local/share/template-files/data/.gitkeep dockerfs/usr/local/share/template-files/defaults/.gitkeep README.md
115 lines
3.3 KiB
Docker
115 lines
3.3 KiB
Docker
# syntax=docker/dockerfile:1
|
|
# Docker image for alpine using the alpine template
|
|
ARG IMAGE_NAME="alpine"
|
|
ARG PHP_SERVER="alpine"
|
|
ARG BUILD_DATE="202408111050"
|
|
ARG LANGUAGE="en_US.UTF-8"
|
|
ARG TIMEZONE="America/New_York"
|
|
ARG WWW_ROOT_DIR="/usr/local/share/httpd/default"
|
|
ARG DEFAULT_FILE_DIR="/usr/local/share/template-files"
|
|
ARG DEFAULT_DATA_DIR="/usr/local/share/template-files/data"
|
|
ARG DEFAULT_CONF_DIR="/usr/local/share/template-files/config"
|
|
ARG DEFAULT_TEMPLATE_DIR="/usr/local/share/template-files/defaults"
|
|
|
|
ARG USER="root"
|
|
ARG SHELL_OPTS="set -e -o pipefail"
|
|
|
|
ARG SERVICE_PORT=""
|
|
ARG EXPOSE_PORTS=""
|
|
ARG PHP_VERSION="system"
|
|
ARG NODE_VERSION="system"
|
|
ARG NODE_MANAGER="system"
|
|
|
|
ARG IMAGE_REPO="casjaysdev/alpine"
|
|
ARG IMAGE_VERSION="latest"
|
|
ARG CONTAINER_VERSION=""
|
|
|
|
ARG PULL_URL="alpine"
|
|
ARG DISTRO_VERSION="${IMAGE_VERSION}"
|
|
ARG BUILD_VERSION="${BUILD_DATE}"
|
|
|
|
FROM tianon/gosu:latest AS gosu
|
|
FROM ${PULL_URL}:${DISTRO_VERSION} AS build
|
|
ARG TZ
|
|
ARG USER
|
|
ARG LICENSE
|
|
ARG TIMEZONE
|
|
ARG LANGUAGE
|
|
ARG IMAGE_NAME
|
|
ARG BUILD_DATE
|
|
ARG SERVICE_PORT
|
|
ARG BUILD_VERSION
|
|
ARG SHELL_OPTS
|
|
ARG DISTRO_VERSION
|
|
ARG CONTAINER_VERSION
|
|
|
|
ARG PACK_LIST="bash bash-completion git curl wget sudo unzip iproute2 openrc tzdata ca-certificates ncurses util-linux pciutils usbutils net-tools coreutils "
|
|
|
|
ENV ENV=~/.profile
|
|
ENV SHELL="/bin/sh"
|
|
ENV TZ="${TIMEZONE}"
|
|
ENV TIMEZONE="${TZ}"
|
|
ENV LANG="${LANGUAGE}"
|
|
ENV TERM="xterm-256color"
|
|
ENV PORT="${SERVICE_PORT}"
|
|
ENV CONTAINER_NAME="${IMAGE_NAME}"
|
|
ENV HOSTNAME="${CONTAINER_NAME}"
|
|
ENV USER="${USER}"
|
|
|
|
USER ${USER}
|
|
WORKDIR /root
|
|
|
|
COPY ./rootfs/. /
|
|
|
|
RUN set -e; \
|
|
echo 'Installing packages' && \
|
|
apk update && apk add --no-cache ${PACK_LIST}
|
|
|
|
RUN set -e; \
|
|
echo 'Running initial scripts' && \
|
|
sh -c "INIT_DATE='${BUILD_DATE}' && export INIT_DATE && bash -c /root/docker/setup/00-init.sh" && \
|
|
echo 'Initial setup completed'
|
|
|
|
RUN set -e; \
|
|
echo 'Running post install scripts' && \
|
|
if [ -f "/root/docker/setup/02-packages.sh" ]; then bash -c "/root/docker/setup/02-packages.sh"; fi && \
|
|
if [ -f "/root/docker/setup/03-files.sh" ]; then bash -c "/root/docker/setup/03-files.sh"; fi && \
|
|
if [ -f "/root/docker/setup/04-users.sh" ]; then bash -c "/root/docker/setup/04-users.sh"; fi && \
|
|
if [ -f "/root/docker/setup/05-custom.sh" ]; then bash -c "/root/docker/setup/05-custom.sh"; fi && \
|
|
echo 'Post install completed'
|
|
|
|
FROM scratch
|
|
ARG BUILD_DATE
|
|
ARG IMAGE_NAME
|
|
ARG TIMEZONE
|
|
ARG LANGUAGE
|
|
|
|
ENV ENV=~/.profile
|
|
ENV SHELL="/bin/sh"
|
|
ENV TZ="${TIMEZONE}"
|
|
ENV TIMEZONE="${TZ}"
|
|
ENV LANG="${LANGUAGE}"
|
|
ENV TERM="xterm-256color"
|
|
ENV CONTAINER_NAME="${IMAGE_NAME}"
|
|
ENV HOSTNAME="${CONTAINER_NAME}"
|
|
ENV USER="root"
|
|
|
|
USER root
|
|
WORKDIR /root
|
|
|
|
LABEL org.opencontainers.image.vendor="CasjaysDev"
|
|
LABEL org.opencontainers.image.title="${IMAGE_NAME}"
|
|
LABEL org.opencontainers.image.base.name="${IMAGE_NAME}"
|
|
LABEL org.opencontainers.image.description="Containerized version of ${IMAGE_NAME}"
|
|
LABEL org.opencontainers.image.build-date="${BUILD_DATE}"
|
|
LABEL org.opencontainers.image.authors="CasjaysDev <docker-admin@casjaysdev.pro>"
|
|
|
|
COPY --from=gosu /usr/local/bin/gosu /usr/local/bin/gosu
|
|
COPY --from=build / /
|
|
|
|
VOLUME [ "/root","/data","/config" ]
|
|
|
|
ENTRYPOINT [ "tini","--","/usr/local/bin/entrypoint.sh" ]
|
|
HEALTHCHECK --interval=60s --timeout=30s --start-period=30s --retries=3 \
|
|
CMD [ "/usr/local/bin/entrypoint.sh", "healthcheck" ]
|