From ef34b26068c4e25f929a584edda63b8878c063b3 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sat, 4 Jul 2026 16:31:13 +0530 Subject: Create local dockerfiles override to manage send/cgit users/groups --- setup.sh | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) (limited to 'setup.sh') diff --git a/setup.sh b/setup.sh index 3742d48..3f05f3b 100755 --- a/setup.sh +++ b/setup.sh @@ -4,37 +4,56 @@ set -eu ROOT_DIR=${ROOT_DIR:-"/opt/project"} -setup() { packages; firewall; } +configure() { + configure_user && configure_fs && configure_packages && configure_firewall +} services() { cd "$ROOT_DIR"; docker compose --profile services "$@"; } core() { cd "$ROOT_DIR"; docker compose --profile core "$@"; } # TODO: use --wait and add health checks -start() { stop || true; services up -d; } +start() { stop || true; services up -d "$@"; } + +startfg() { stop || true; services up "$@"; } stop() { services down; } -packages() { +configure_packages() { apt install \ docker.io docker-buildx docker-compose-v2 \ ufw } -firewall() { +configure_firewall() { ufw allow 443/tcp ufw allow 80/tcp ufw allow 22 ufw enable } +configure_user() { + groupadd -f -g 1001 git + useradd --shell /usr/sbin/nologin --no-create-home git --uid 1001 --gid 1001 || true + groupadd -f -g 1002 send + useradd --shell /usr/sbin/nologin --no-create-home send --uid 1002 --gid 1002 || true +} + +configure_fs() { + mkdir -p /git + chown -R git:git /git + mkdir -p /uploads + chown -R send:send /uploads +} + update() { - apt update; - services build --pull; + apt update + services build --pull } cmd="$1"; shift; case "$cmd" in - setup|update|start|stop|firewall|packages|services|core) "$cmd" "$@" ;; + update|start|startfg|stop|services|core) "$cmd" "$@" ;; + configure|configure_firewall|configure_user|configure_fs|configure_packages) "$cmd" "$@" ;; *) echo "Invalid command: $cmd"; exit 1 ;; esac -- cgit v1.3.1