diff --git a/.gitignore b/.gitignore index 43535ac..34ea3ec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .directory build.sh deploy.sh +data +compose-test.yml diff --git a/Dockerfile b/Dockerfile index fb45b59..ce21219 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,4 +24,4 @@ RUN set -xe && \ ADD rootfs / ENTRYPOINT ["/entrypoint.sh"] -CMD ["in.tftpd --ipv4 --foreground --listen --address 0.0.0.0:69 --create --secure -vvv /var/tftpboot"] +CMD ["in.tftpd", "--ipv4", "--foreground", "--listen", "--address", "0.0.0.0:69", "--create", "--secure", "-vvv", "/var/tftpboot"] diff --git a/README.md b/README.md index 0f2cd36..c492904 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,9 @@ services: restart: unless-stopped ``` ## Changelog +v1.232.2-1 - 02.01.2026 +- Defined CMD in Dockerfile; ENTRYPOINT now supports user-provided commands + v1.232.2 - 19.12.2025 - Alpine v. 3.23.2 diff --git a/rootfs/entrypoint.sh b/rootfs/entrypoint.sh index 95f9ad1..da9c20e 100755 --- a/rootfs/entrypoint.sh +++ b/rootfs/entrypoint.sh @@ -2,29 +2,53 @@ set -x -function custom_bashrc { -echo ' +custom_bashrc() { +cat <<'EOF' export LS_OPTIONS="--color=auto" -alias "ls=ls $LS_OPTIONS" -alias "ll=ls $LS_OPTIONS -la" -alias "l=ls $LS_OPTIONS -lA" -' +alias ls='ls $LS_OPTIONS' +alias ll='ls $LS_OPTIONS -la' +alias l='ls $LS_OPTIONS -lA' + +# prompt SOLO per shell interattive +if [[ $- == *i* ]]; then + if [ "$(id -u)" -eq 0 ]; then + PS1="\[\e[35m\][\[\e[31m\]\u\[\e[36m\]@\[\e[32m\]\h\[\e[90m\] \w\[\e[35m\]]\[\e[0m\]# " + else + PS1="\[\e[35m\][\[\e[33m\]\u\[\e[36m\]@\[\e[32m\]\h\[\e[90m\] \w\[\e[35m\]]\[\e[0m\]$ " + fi + export PS1 +fi +EOF } -function set_bashrc { -echo "-----------------------------------------" -echo " .bashrc file setup..." -echo "-----------------------------------------" -custom_bashrc | tee /root/.bashrc -echo 'export PS1="\[\e[35m\][\[\e[31m\]\u\[\e[36m\]@\[\e[32m\]\h\[\e[90m\] \w\[\e[35m\]]\[\e[0m\]# "' >> /root/.bashrc -for i in $(ls /home); do echo 'export PS1="\[\e[35m\][\[\e[33m\]\u\[\e[36m\]@\[\e[32m\]\h\[\e[90m\] \w\[\e[35m\]]\[\e[0m\]$ "' >> /home/${i}/.bashrc; done +setup_bashrc() { + for home in /root /home/*; do + [ -d "$home" ] || continue + bashrc="$home/.bashrc" + + # crea se manca + [ -f "$bashrc" ] || touch "$bashrc" + + # evita duplicazioni + grep -q '### CUSTOM BASHRC ###' "$bashrc" && continue + + { + echo '' + echo '### CUSTOM BASHRC ###' + custom_bashrc + } >> "$bashrc" + done } -set_bashrc -CMD="$@" -[ -z "$CMD" ] && export CMD="supervisord -c /etc/supervisor/supervisord.conf" +_dirs +_main -exec $CMD +setup_bashrc + +# print cmd that will be executed +echo "Starting: $*" >&2 + +# launch CMD +exec "$@" -exit $?