diff options
| author | Akshay Nair <phenax5@gmail.com> | 2026-07-04 16:31:13 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2026-07-04 16:31:57 +0530 |
| commit | ef34b26068c4e25f929a584edda63b8878c063b3 (patch) | |
| tree | aaa2445b12807109f265e8869a54f76cb752da9e /setup.sh | |
| parent | 1569f35ae6cd90b056cb237ba020c69d37ebafb5 (diff) | |
| download | bacchus-remote-ef34b26068c4e25f929a584edda63b8878c063b3.tar.gz bacchus-remote-ef34b26068c4e25f929a584edda63b8878c063b3.zip | |
Create local dockerfiles override to manage send/cgit users/groups
Diffstat (limited to 'setup.sh')
| -rwxr-xr-x | setup.sh | 33 |
1 files changed, 26 insertions, 7 deletions
@@ -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 |
