Updated scripts with learning from install

This commit is contained in:
Adam Parler 2023-07-22 00:16:12 -07:00
parent 8cf5193388
commit 653991b616
4 changed files with 70 additions and 30 deletions

View file

@ -1,26 +1,39 @@
#!/bin/bash
## Define admin user account
if [ -z "$ADMIN_ACCOUNT"]
then
ADMIN_ACCOUNT=root
fi
su - ${ADMIN_ACCOUNT}
## Define bulk storage location
if [ -z "$ZFS_DIR" ]
then
ZFS_DIR=/data
fi
if [ -z "$ADMIN_ACCOUNT"]
then
ADMIN_ACCOUNT=root
fi
su ${ADMIN_ACCOUNT}
echo "Installing GitLab ..."
GITLAB_HOME=${ZFS_DIR}/gitlab
GITLAB_ADDRESS=gitlab.adamhome.dev
GITLAB_ADDRESS=https://gitlab.adamhome.dev
GITLAB_EXTERN_HTTPS=14443
GITLAB_EXTERN_HTTP=14080
GITLAB_EXTERN_SSH=14022
GITLAB_EXTERN_SSH=22
if [ "${GITLAB_EXTERN_SSH}" -eq 22 ]
then
awk '{sub("#PORT=22","PORT=22")} {print}' /etc/ssh/sshd_config > /tmp/temp.txt && mv /tmp/temp.txt /etc/ssh/sshd_config
awk '{sub("# PORT=22","PORT=22")} {print}' /etc/ssh/sshd_config > /tmp/temp.txt && mv /tmp/temp.txt /etc/ssh/sshd_config
awk -v port=2222 '{sub("PORT=22","PORT="2222)} {print}' /etc/ssh/sshd_config > /tmp/temp.txt && mv /tmp/temp.txt /etc/ssh/sshd_config
sudo systemctl reload sshd
fi
sudo docker run --detach \
--hostname ${GITLAB_ADDRESS} \
--publish ${GITLAB_EXTERN_HTTPS}:443 --publish ${GITLAB_EXTERN_HTTP}:80 --publish ${GITLAB_EXTERN_SSH}:22 \
--publish ${GITLAB_EXTERN_HTTPS}:443 \
--publish ${GITLAB_EXTERN_HTTP}:80 \
--publish ${GITLAB_EXTERN_SSH}:22 \
--name gitlab \
--restart always \
--volume ${GITLAB_HOME}/config:/etc/gitlab \
@ -34,10 +47,12 @@ sudo docker run --detach \
# sudo docker exec -it gitlab /bin/bash
# edit /etc/gitlab/gitlab.rb so that gitlab_rails['gitlab_shell_ssh_port'] = ${GITLAB_EXTERN_SSH}
# edit /etc/gitlab/gitlab.rb extern_url "https://${GITLAB_ADDRESS}"
# while still in gitlab env, run gitlab-ctl reconfigure
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
echo "Successfully installed GitLab"

View file

@ -1,7 +1,11 @@
#!/bin/bash
## Define admin user account
export ADMIN_ACCOUNT=sys-admin
if [ -z "$ADMIN_ACCOUNT"]
then
ADMIN_ACCOUNT=root
fi
su - ${ADMIN_ACCOUNT}
## Define bulk storage location
if [ -z "$ZFS_DIR" ]
@ -14,6 +18,7 @@ awk '{sub("#HOME=/home","HOME=/home")} {print}' /etc/default/useradd > /tmp/temp
awk '{sub("# HOME=/home","HOME=/home")} {print}' /etc/default/useradd > /tmp/temp.txt && mv /tmp/temp.txt /etc/default/useradd
awk -v dir=${ZFS_DIR}/home '{sub("HOME=/home","HOME="dir)} {print}' /etc/default/useradd > /tmp/temp.txt && mv /tmp/temp.txt /etc/default/useradd
echo "Installing JupyterHub ..."
# export TLJH_INSTALL_PREFIX=${ZFS_DIR}/tljh
export TLJH_INSTALL_PREFIX=${ZFS_DIR}/jupyter
@ -59,10 +64,13 @@ sudo -E python3 - \
## Edit Jupyter Environment
sudo tljh-config set http.port ${JUPYTER_EXTERN_HTTP}
sudo tljh-config set https.port ${JUPYTER_EXTERN_HTTPS}
sudo tljh-config set https.enabled true
sudo tljh-config set https.tls.key /etc/letsencrypt/live/jupyter.adamhome.dev/privkey.pem
sudo tljh-config set https.tls.cert /etc/letsencrypt/live/jupyter.adamhome.dev/fullchain.pem
sudo tljh-config set limits.memory ${SYS_MEM}K
sudo tljh-config set limits.cpu ${SYS_CPU}
# sudo tljh-config set user_environment.default_app jupyterlab
sudo tljh-config reload proxy
sudo tljh-config reload
echo "Successfully installed JupyterHub"

View file

@ -1,16 +1,31 @@
#!/bin/bash
## Define admin user account
if [ -z "$ADMIN_ACCOUNT"]
then
ADMIN_ACCOUNT=root
fi
su - ${ADMIN_ACCOUNT}
## Define bulk storage location
if [ -z "$ZFS_DIR" ]
then
ZFS_DIR=/data
fi
echo "Installing Nextcloud AIO ..."
if [ -z "$APACHE_COMM" ]
then
./create_reverse_proxy.sh
fi
if [ SYS_MEM -gt 2097152 ]
if [ -z "$SYS_MEM" ]
then
SYS_MEM=$(grep MemTotal /proc/meminfo | awk '{print $2}')
fi
if [ $SYS_MEM -gt 2097152 ]
then
let "SYS_MEM = $SYS_MEM - 1048576"
else
@ -19,21 +34,23 @@ fi
echo "Installing Nextcloud AIO ..."
let "AIO_MEM = $SYS_MEM / 1024"
NEXTCLD_EXTERN_HTTP=12080
NEXTCLD_EXTERN_HTTPS=12443
APACHE_COMM=127.0.0.1
APACHE_PORT=${NEXTCLD_EXTERN_HTTPS}
sudo docker run \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 11080:80 \
--publish 8080:8080 \
--publish 11443:8443 \
--env NEXTCLOUD_DATADIR=${ZFS_DIR}/nextcloud/data \
--env NEXTCLOUD_MOUNT=${ZFS_DIR}/nextcloud \
--env APACHE_PORT=${APACHE_PORT} \
--env APACHE_IP_BINDING=${APACHE_COMM} \
--env NEXTCLOUD_MEMORY_LIMIT=${AIO_MEM}M \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
nextcloud/all-in-one:latest
sudo docker run -d \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 8080:8080 \
--env NEXTCLOUD_DATADIR=${ZFS_DIR}/nextcloud/data \
--env NEXTCLOUD_MOUNT=${ZFS_DIR}/nextcloud \
--env APACHE_PORT=${APACHE_PORT} \
--env APACHE_IP_BINDING=${APACHE_COMM} \
--env NEXTCLOUD_MEMORY_LIMIT=${AIO_MEM}M \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
nextcloud/all-in-one:latest
echo "Successfully installed Nextcloud AIO"

View file

@ -3,7 +3,7 @@
apt update
## Setup ZFS
ZFS_ROOT=/data
ZFS_DIR=/data
## Debian Setup
codename=$(lsb_release -cs);echo "deb http://deb.debian.org/debian $codename-backports main contrib non-free"|sudo tee -a /etc/apt/sources.list
@ -12,8 +12,8 @@ apt install dpkg-dev linux-headers-generic linux-image-generic
apt install zfs-dkms zfsutils-linux
## Create ZFS Pool
mkdir -p ${ZFS_ROOT}
zpool create -m ${ZFS_ROOT} tank raidz <disk1> <disk2> <disk3> ...
mkdir -p ${ZFS_DIR}
zpool create -m ${ZFS_DIR} tank raidz <disk1> <disk2> <disk3> ...
zfs create tank/gitlab
zfs create tank/home