diff --git a/docker/develop/armv7/Dockerfile b/docker/develop/armv7/Dockerfile index 0b600022b..b92705546 100644 --- a/docker/develop/armv7/Dockerfile +++ b/docker/develop/armv7/Dockerfile @@ -86,6 +86,7 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-go.sh && \ /scripts/install-go-tools.sh && \ /scripts/install-bashrc.sh && \ + echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/bash.bashrc && \ /scripts/install-dircolors.sh && \ cp /scripts/convert/policy.xml /etc/ImageMagick-6/policy.xml && \ /scripts/create-users.sh && \ diff --git a/docker/develop/bookworm/Dockerfile b/docker/develop/bookworm/Dockerfile index 75a5ca2ec..2e785f025 100644 --- a/docker/develop/bookworm/Dockerfile +++ b/docker/develop/bookworm/Dockerfile @@ -96,6 +96,7 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-osv-scanner.sh && \ /scripts/install-gitleaks.sh && \ /scripts/install-bashrc.sh && \ + echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/bash.bashrc && \ /scripts/install-dircolors.sh && \ cp /scripts/convert/policy.xml /etc/ImageMagick-6/policy.xml && \ /scripts/create-users.sh && \ diff --git a/docker/develop/bullseye/Dockerfile b/docker/develop/bullseye/Dockerfile index 9c09de975..efa0ef74a 100644 --- a/docker/develop/bullseye/Dockerfile +++ b/docker/develop/bullseye/Dockerfile @@ -130,6 +130,7 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-go-tools.sh && \ echo "ALL ALL=(ALL) NOPASSWD:SETENV: ALL" >> /etc/sudoers.d/all && \ /scripts/install-bashrc.sh && \ + echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/bash.bashrc && \ /scripts/install-dircolors.sh && \ /scripts/create-users.sh && \ install -d -m 0777 -o 1000 -g 1000 \ diff --git a/docker/develop/buster/Dockerfile b/docker/develop/buster/Dockerfile index cfdfbde71..e77966c77 100644 --- a/docker/develop/buster/Dockerfile +++ b/docker/develop/buster/Dockerfile @@ -126,6 +126,7 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-go-tools.sh && \ echo "ALL ALL=(ALL) NOPASSWD:SETENV: ALL" >> /etc/sudoers.d/all && \ /scripts/install-bashrc.sh && \ + echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/bash.bashrc && \ /scripts/install-dircolors.sh && \ /scripts/create-users.sh && \ install -d -m 0777 -o 1000 -g 1000 \ diff --git a/docker/develop/jammy/Dockerfile b/docker/develop/jammy/Dockerfile index a5ef97d21..e54adf7ac 100644 --- a/docker/develop/jammy/Dockerfile +++ b/docker/develop/jammy/Dockerfile @@ -109,6 +109,7 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-osv-scanner.sh && \ /scripts/install-gitleaks.sh && \ /scripts/install-bashrc.sh && \ + echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/bash.bashrc && \ /scripts/install-dircolors.sh && \ cp /scripts/convert/policy.xml /etc/ImageMagick-6/policy.xml && \ /scripts/create-users.sh && \ diff --git a/docker/develop/lunar/Dockerfile b/docker/develop/lunar/Dockerfile index 8fe24e4b8..b6b854512 100644 --- a/docker/develop/lunar/Dockerfile +++ b/docker/develop/lunar/Dockerfile @@ -92,6 +92,7 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-go-tools.sh && \ echo "ALL ALL=(ALL) NOPASSWD:SETENV: ALL" >> /etc/sudoers.d/all && \ /scripts/install-bashrc.sh && \ + echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/bash.bashrc && \ /scripts/install-dircolors.sh && \ cp /scripts/convert/policy.xml /etc/ImageMagick-6/policy.xml && \ /scripts/create-users.sh && \ diff --git a/docker/develop/mantic/Dockerfile b/docker/develop/mantic/Dockerfile index 71d89cfac..ef21f5f66 100644 --- a/docker/develop/mantic/Dockerfile +++ b/docker/develop/mantic/Dockerfile @@ -92,6 +92,7 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-go-tools.sh && \ echo "ALL ALL=(ALL) NOPASSWD:SETENV: ALL" >> /etc/sudoers.d/all && \ /scripts/install-bashrc.sh && \ + echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/bash.bashrc && \ /scripts/install-dircolors.sh && \ cp /scripts/convert/policy.xml /etc/ImageMagick-6/policy.xml && \ /scripts/create-users.sh && \ diff --git a/docker/develop/noble/Dockerfile b/docker/develop/noble/Dockerfile index cfd941373..2e0cd0f20 100644 --- a/docker/develop/noble/Dockerfile +++ b/docker/develop/noble/Dockerfile @@ -97,6 +97,7 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-go.sh && \ /scripts/install-go-tools.sh && \ /scripts/install-bashrc.sh && \ + echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/bash.bashrc && \ /scripts/install-dircolors.sh && \ cp /scripts/convert/policy.xml /etc/ImageMagick-6/policy.xml && \ /scripts/create-users.sh && \ diff --git a/docker/develop/oracular/Dockerfile b/docker/develop/oracular/Dockerfile index f18f7fb73..e13bec082 100644 --- a/docker/develop/oracular/Dockerfile +++ b/docker/develop/oracular/Dockerfile @@ -100,6 +100,7 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-go.sh && \ /scripts/install-go-tools.sh && \ /scripts/install-bashrc.sh && \ + echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/bash.bashrc && \ /scripts/install-dircolors.sh && \ cp /scripts/convert/policy.xml /etc/ImageMagick-6/policy.xml && \ /scripts/create-users.sh && \ diff --git a/docker/develop/plucky/Dockerfile b/docker/develop/plucky/Dockerfile index caa52f941..97119449e 100644 --- a/docker/develop/plucky/Dockerfile +++ b/docker/develop/plucky/Dockerfile @@ -110,6 +110,7 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-go.sh && \ /scripts/install-go-tools.sh && \ /scripts/install-bashrc.sh && \ + echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/bash.bashrc && \ /scripts/install-dircolors.sh && \ cp /scripts/convert/policy.xml /etc/ImageMagick-7/policy.xml && \ /scripts/create-users.sh && \ diff --git a/docker/develop/questing-slim/Dockerfile b/docker/develop/questing-slim/Dockerfile index fbb41ebe4..fd2a99e7b 100644 --- a/docker/develop/questing-slim/Dockerfile +++ b/docker/develop/questing-slim/Dockerfile @@ -72,11 +72,9 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-darktable.sh && \ /scripts/install-yt-dlp.sh && \ /scripts/install-libheif.sh && \ - echo 'alias ll="ls -alh"' >> /etc/skel/.bashrc && \ - echo 'export PS1="\u@$DOCKER_TAG:\w\$ "' >> /etc/skel/.bashrc && \ + /scripts/install-bashrc.sh && \ echo "ALL ALL=(ALL) NOPASSWD:SETENV: /scripts/entrypoint-init.sh" >> /etc/sudoers.d/init && \ /scripts/install-dircolors.sh && \ - cp /etc/skel/.bashrc /root/.bashrc && \ /scripts/create-users.sh && \ install -d -m 0777 -o 1000 -g 1000 \ /photoprism/originals \ diff --git a/docker/develop/questing/Dockerfile b/docker/develop/questing/Dockerfile index 8fffd816a..c9a520650 100644 --- a/docker/develop/questing/Dockerfile +++ b/docker/develop/questing/Dockerfile @@ -112,11 +112,9 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-hadolint.sh && \ /scripts/install-osv-scanner.sh && \ /scripts/install-gitleaks.sh && \ - echo 'alias go=richgo ll="ls -alh"' >> /etc/skel/.bashrc && \ - echo 'export PS1="\u@$DOCKER_TAG:\w\$ "' >> /etc/skel/.bashrc && \ - echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/skel/.bashrc && \ + /scripts/install-bashrc.sh && \ + echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/bash.bashrc && \ /scripts/install-dircolors.sh && \ - cp /etc/skel/.bashrc /root/.bashrc && \ cp /scripts/convert/policy.xml /etc/ImageMagick-7/policy.xml && \ /scripts/create-users.sh && \ install -d -m 0777 -o 1000 -g 1000 \ diff --git a/docker/develop/resolute-slim/Dockerfile b/docker/develop/resolute-slim/Dockerfile index 0abe790b9..0bcdf958a 100644 --- a/docker/develop/resolute-slim/Dockerfile +++ b/docker/develop/resolute-slim/Dockerfile @@ -73,11 +73,9 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-darktable.sh && \ /scripts/install-yt-dlp.sh && \ /scripts/install-libheif.sh && \ - echo 'alias ll="ls -alh"' >> /etc/skel/.bashrc && \ - echo 'export PS1="\u@$DOCKER_TAG:\w\$ "' >> /etc/skel/.bashrc && \ + /scripts/install-bashrc.sh && \ echo "ALL ALL=(ALL) NOPASSWD:SETENV: /scripts/entrypoint-init.sh" >> /etc/sudoers.d/init && \ /scripts/install-dircolors.sh && \ - cp /etc/skel/.bashrc /root/.bashrc && \ /scripts/create-users.sh && \ install -d -m 0777 -o 1000 -g 1000 \ /photoprism/originals \ diff --git a/docker/develop/resolute/Dockerfile b/docker/develop/resolute/Dockerfile index 8b7cd81e9..29da35020 100644 --- a/docker/develop/resolute/Dockerfile +++ b/docker/develop/resolute/Dockerfile @@ -113,11 +113,9 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-hadolint.sh && \ /scripts/install-osv-scanner.sh && \ /scripts/install-gitleaks.sh && \ - echo 'alias go=richgo ll="ls -alh"' >> /etc/skel/.bashrc && \ - echo 'export PS1="\u@$DOCKER_TAG:\w\$ "' >> /etc/skel/.bashrc && \ - echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/skel/.bashrc && \ + /scripts/install-bashrc.sh && \ + echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/bash.bashrc && \ /scripts/install-dircolors.sh && \ - cp /etc/skel/.bashrc /root/.bashrc && \ cp /scripts/convert/policy.xml /etc/ImageMagick-7/policy.xml && \ /scripts/create-users.sh && \ install -d -m 0777 -o 1000 -g 1000 \ diff --git a/docker/develop/trixie-slim/Dockerfile b/docker/develop/trixie-slim/Dockerfile index 86ba603a7..978d64cd7 100644 --- a/docker/develop/trixie-slim/Dockerfile +++ b/docker/develop/trixie-slim/Dockerfile @@ -71,11 +71,9 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ libmatroska-dev libdvdread-dev libebml5 libgav1-bin libatomic1 \ va-driver-all libva2 iputils-ping dnsutils binutils binutils-gold \ && \ - echo 'alias ll="ls -alh"' >> /etc/skel/.bashrc && \ - echo 'export PS1="\u@$DOCKER_TAG:\w\$ "' >> /etc/skel/.bashrc && \ + /scripts/install-bashrc.sh && \ echo "ALL ALL=(ALL) NOPASSWD:SETENV: /scripts/entrypoint-init.sh" >> /etc/sudoers.d/init && \ /scripts/install-dircolors.sh && \ - cp /etc/skel/.bashrc /root/.bashrc && \ /scripts/create-users.sh && \ install -d -m 0777 -o 1000 -g 1000 \ /photoprism/originals \ diff --git a/docker/develop/trixie/Dockerfile b/docker/develop/trixie/Dockerfile index 801b62f8d..374abc881 100644 --- a/docker/develop/trixie/Dockerfile +++ b/docker/develop/trixie/Dockerfile @@ -99,11 +99,9 @@ RUN echo 'APT::Acquire::Retries "3";' > /etc/apt/apt.conf.d/80retries && \ /scripts/install-hadolint.sh && \ /scripts/install-osv-scanner.sh && \ /scripts/install-gitleaks.sh && \ - echo 'alias go=richgo ll="ls -alh"' >> /etc/skel/.bashrc && \ - echo 'export PS1="\u@$DOCKER_TAG:\w\$ "' >> /etc/skel/.bashrc && \ - echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/skel/.bashrc && \ + /scripts/install-bashrc.sh && \ + echo 'export PATH="$PATH:$HOME/.local/bin"' >> /etc/bash.bashrc && \ /scripts/install-dircolors.sh && \ - cp /etc/skel/.bashrc /root/.bashrc && \ cp /scripts/convert/policy.xml /etc/ImageMagick-7/policy.xml && \ /scripts/create-users.sh && \ install -d -m 0777 -o 1000 -g 1000 \ diff --git a/scripts/dist/create-users.sh b/scripts/dist/create-users.sh index 253119162..18f1547fc 100755 --- a/scripts/dist/create-users.sh +++ b/scripts/dist/create-users.sh @@ -43,8 +43,10 @@ usermod -a -G photoprism,video,davfs2,renderd,render,ssl-cert,videodriver www-da SKELETON="/tmp/custom-skeleton" mkdir --parents "${SKELETON}" -# copy the .config/ directory from the default skeleton -cp -r /etc/skel/.config/ ${SKELETON}/.config/ +# copy the .config/ directory from the default skeleton, if it exists +if [ -d /etc/skel/.config ]; then + cp -r /etc/skel/.config/ "${SKELETON}/.config/" +fi # create user 'videodriver' userdel -r -f videodriver >/dev/null 2>&1 diff --git a/scripts/dist/install-bashrc.sh b/scripts/dist/install-bashrc.sh index 588dce0d8..3ed4df3ec 100755 --- a/scripts/dist/install-bashrc.sh +++ b/scripts/dist/install-bashrc.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash -# Add go alias and custom prompt in /etc/bash.bashrc: -# bash <(curl -s https://raw.githubusercontent.com/photoprism/photoprism/develop/scripts/dist/install-profile.sh) +# Adds shell aliases and a custom prompt to /etc/bash.bashrc: +# bash <(curl -s https://raw.githubusercontent.com/photoprism/photoprism/develop/scripts/dist/install-bashrc.sh) # Abort if not executed as root. if [[ $(id -u) != "0" ]]; then @@ -14,6 +14,7 @@ set -e echo "Add ll alias and custom prompt in /etc/bash.bashrc" echo 'alias ll="ls -alh"' >> /etc/bash.bashrc +# shellcheck disable=SC2016 # $DOCKER_TAG is expanded at shell runtime, not here. echo 'export PS1="\u@$DOCKER_TAG:\w\$ "' >> /etc/bash.bashrc echo "Add alias of go to richgo if it's available" @@ -25,4 +26,4 @@ fi echo "Remove the unnecessary custom .bashrc for the root user" -rm /root/.bashrc +rm -f /root/.bashrc