mirror of
https://github.com/dockersrc/archlinux
synced 2026-05-20 06:48:27 -04:00
♻ Rename dockerfs to rootfs and add helper scripts ♻
- Renamed dockerfs directory tree to rootfs across all setup scripts, entrypoints, and template files - Updated Dockerfile and README.md to reflect the new rootfs path convention - Added new copy and symlink helper scripts under rootfs/usr/local/bin - Preserved file contents during rename (100% similarity) to keep history intact Dockerfile 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/entrypoint.sh dockerfs/usr/local/bin/pkmgr 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 rootfs/usr/local/bin/copy rootfs/usr/local/bin/symlink
This commit is contained in:
@@ -74,7 +74,7 @@ ENV HOSTNAME="casjaysdev-archlinux"
|
||||
USER ${USER}
|
||||
WORKDIR /root
|
||||
|
||||
COPY ./dockerfs/usr/local/bin/. /usr/local/bin/
|
||||
COPY ./rootfs/usr/local/bin/. /usr/local/bin/
|
||||
|
||||
RUN set -e; \
|
||||
echo "Updating the system and ensuring bash is installed"; \
|
||||
@@ -126,7 +126,7 @@ RUN echo "Initializing packages before copying files to image"; \
|
||||
if [ -f "/root/docker/setup/02-packages.sh" ];then echo "Running the packages script";/root/docker/setup/02-packages.sh||{ echo "Failed to execute /root/docker/setup/02-packages.sh" >&2 && exit 10; };echo "Done running the packages script";fi; \
|
||||
echo ""
|
||||
|
||||
COPY ./dockerfs/. /
|
||||
COPY ./rootfs/. /
|
||||
COPY ./Dockerfile /root/docker/Dockerfile
|
||||
|
||||
RUN echo "Updating system files "; \
|
||||
|
||||
@@ -21,7 +21,7 @@ dockermgr update os archlinux
|
||||
```shell
|
||||
mkdir -p "/var/lib/srv/root/docker/casjaysdev/archlinux/latest"
|
||||
git clone "https://github.com/dockermgr/archlinux" "$HOME/.local/share/CasjaysDev/dockermgr/archlinux"
|
||||
cp -Rfva "$HOME/.local/share/CasjaysDev/dockermgr/archlinux/dockerfs/." "/var/lib/srv/root/docker/casjaysdev/archlinux/latest/"
|
||||
cp -Rfva "$HOME/.local/share/CasjaysDev/dockermgr/archlinux/rootfs/." "/var/lib/srv/root/docker/casjaysdev/archlinux/latest/"
|
||||
docker run -d \
|
||||
--restart always \
|
||||
--privileged \
|
||||
|
||||
75
rootfs/usr/local/bin/copy
Executable file
75
rootfs/usr/local/bin/copy
Executable file
@@ -0,0 +1,75 @@
|
||||
#!/usr/bin/env sh
|
||||
# shellcheck shell=sh
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
##@Version : 202605051306-git
|
||||
# @@Author : Jason Hempstead
|
||||
# @@Contact : jason@casjaysdev.pro
|
||||
# @@License : WTFPL
|
||||
# @@ReadME : copy --help
|
||||
# @@Copyright : Copyright: (c) 2026 Jason Hempstead, Casjays Developments
|
||||
# @@Created : Tuesday, May 05, 2026 13:06 EDT
|
||||
# @@File : copy
|
||||
# @@Description : copies a file and shows progress
|
||||
# @@Changelog : Refactored for self-contained operation
|
||||
# @@TODO : Better documentation
|
||||
# @@Other :
|
||||
# @@Resource :
|
||||
# @@Terminal App : no
|
||||
# @@sudo/root : no
|
||||
# @@Template : shell/sh
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# shellcheck disable=SC1001,SC1003,SC2001,SC2003,SC2016,SC2031,SC2090,SC2115,SC2120,SC2155,SC2199,SC2229,SC2317,SC2329
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
APPNAME="$(basename -- "$0" 2>/dev/null)"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# colorization
|
||||
if [ -n "$NO_COLOR" ]; then
|
||||
__printf_color() { printf '%b' "$1\n" | tr -d '\t' | sed '/^%b$/d;s,\x1B\[ 0-9;]*[a-zA-Z],,g'; }
|
||||
else
|
||||
__printf_color() { { [ -z "$2" ] || DEFAULT_COLOR=$2; } && printf "%b" "$(tput setaf "$DEFAULT_COLOR" 2>/dev/null)" "$1\n" "$(tput sgr0 2>/dev/null)"; }
|
||||
fi
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
__unlink() { [ -L "$1" ] && rm -f -- "$1" >/dev/null; }
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# custom functions
|
||||
__copy() {
|
||||
exitCode=0
|
||||
if [ -d "$1" ]; then
|
||||
__printf_color "Copying $1/* to $2/"
|
||||
__unlink "$2"
|
||||
mkdir -p "$2"
|
||||
cp -Rf "$1"/. "$2"/
|
||||
exitCode=$?
|
||||
elif [ -f "$1" ]; then
|
||||
__printf_color "Copying $1 to $2"
|
||||
__unlink "$2"
|
||||
cp -Rf "$1" "$2"
|
||||
exitCode=$?
|
||||
fi
|
||||
return $exitCode
|
||||
}
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Define variables
|
||||
DEFAULT_COLOR="254"
|
||||
COPY_EXIT_STATUS=0
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Main application
|
||||
if [ $# -ne 2 ]; then
|
||||
__printf_color "USAGE: $APPNAME to from" "1" >&2
|
||||
COPY_EXIT_STATUS=1
|
||||
elif [ ! -e "$1" ]; then
|
||||
__printf_color "$1 does not exist" >&2
|
||||
COPY_EXIT_STATUS=2
|
||||
else
|
||||
__printf_color "Copying $1 to $2" "4"
|
||||
__copy "$1" "$2" >/dev/null
|
||||
COPY_EXIT_STATUS=$?
|
||||
fi
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# End application
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# lets exit with code
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
exit $COPY_EXIT_STATUS
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# ex: ts=2 sw=2 et filetype=sh
|
||||
64
rootfs/usr/local/bin/symlink
Executable file
64
rootfs/usr/local/bin/symlink
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env sh
|
||||
# shellcheck shell=sh
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
##@Version : 202605051306-git
|
||||
# @@Author : Jason Hempstead
|
||||
# @@Contact : jason@casjaysdev.pro
|
||||
# @@License : WTFPL
|
||||
# @@ReadME : symlink --help
|
||||
# @@Copyright : Copyright: (c) 2026 Jason Hempstead, Casjays Developments
|
||||
# @@Created : Tuesday, May 05, 2026 13:06 EDT
|
||||
# @@File : symlink
|
||||
# @@Description :
|
||||
# @@Changelog : New script
|
||||
# @@TODO : Better documentation
|
||||
# @@Other :
|
||||
# @@Resource :
|
||||
# @@Terminal App : no
|
||||
# @@sudo/root : no
|
||||
# @@Template : shell/sh
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# shellcheck disable=SC1001,SC1003,SC2001,SC2003,SC2016,SC2031,SC2090,SC2115,SC2120,SC2155,SC2199,SC2229,SC2317,SC2329
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
APPNAME="$(basename -- "$0" 2>/dev/null)"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# colorization
|
||||
if [ -n "$NO_COLOR" ]; then
|
||||
__printf_color() { printf '%b' "$1\n" | tr -d '\t' | sed '/^%b$/d;s,\x1B\[ 0-9;]*[a-zA-Z],,g'; }
|
||||
else
|
||||
__printf_color() { { [ -z "$2" ] || DEFAULT_COLOR=$2; } && printf "%b" "$(tput setaf "$DEFAULT_COLOR" 2>/dev/null)" "$1\n" "$(tput sgr0 2>/dev/null)"; }
|
||||
fi
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
__unlink() { [ -L "$1" ] && rm -f -- "$1" >/dev/null; }
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# custom functions
|
||||
__ln_sf() {
|
||||
__printf_color "symlinking $2 to $1" "4"
|
||||
__unlink "$2"
|
||||
ln -sf "$1" "$2"
|
||||
return $?
|
||||
}
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Define variables
|
||||
DEFAULT_COLOR="254"
|
||||
SYMLINK_EXIT_STATUS=0
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Main application
|
||||
if [ $# -ne 2 ]; then
|
||||
__printf_color "USAGE: $APPNAME from to" "2" >&2
|
||||
SYMLINK_EXIT_STATUS=1
|
||||
elif [ ! -e "$1" ]; then
|
||||
__printf_color "$1 does not exist" >&2
|
||||
SYMLINK_EXIT_STATUS=2
|
||||
else
|
||||
__ln_sf "$1" "$2" >/dev/null
|
||||
SYMLINK_EXIT_STATUS=$?
|
||||
fi
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# End application
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# lets exit with code
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
exit $SYMLINK_EXIT_STATUS
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# ex: ts=2 sw=2 et filetype=sh
|
||||
Reference in New Issue
Block a user