From 511cec74038e4ea08ace3434ceeed0b068cf9419 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 15:06:35 -0400 Subject: [PATCH 01/24] resolvconf tail --- scripts/install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/install.sh b/scripts/install.sh index 6857ea7..f8aba99 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -226,6 +226,7 @@ echo "address=/.mistborn/10.2.3.1" | sudo tee ../mistborn_volumes/base/pihole/et # ResolvConf (OpenResolv installed with Wireguard) sudo sed -i "s/#name_servers.*/name_servers=$IPV4_PUBLIC/" /etc/resolvconf.conf sudo sed -i "s/name_servers.*/name_servers=$IPV4_PUBLIC/" /etc/resolvconf.conf +echo "nameserver $IPV4_PUBLIC" | sudo tee /etc/resolvconf/resolv.conf.d/tail #sudo sed -i "s/#name_servers.*/name_servers=127.0.0.1/" /etc/resolvconf.conf sudo resolvconf -u 1>/dev/null 2>&1 From 258c6d47dbc8ee5048c1954f34ad831bab9ce975 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 15:16:00 -0400 Subject: [PATCH 02/24] orig --- scripts/install.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/install.sh b/scripts/install.sh index f8aba99..6857ea7 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -226,7 +226,6 @@ echo "address=/.mistborn/10.2.3.1" | sudo tee ../mistborn_volumes/base/pihole/et # ResolvConf (OpenResolv installed with Wireguard) sudo sed -i "s/#name_servers.*/name_servers=$IPV4_PUBLIC/" /etc/resolvconf.conf sudo sed -i "s/name_servers.*/name_servers=$IPV4_PUBLIC/" /etc/resolvconf.conf -echo "nameserver $IPV4_PUBLIC" | sudo tee /etc/resolvconf/resolv.conf.d/tail #sudo sed -i "s/#name_servers.*/name_servers=127.0.0.1/" /etc/resolvconf.conf sudo resolvconf -u 1>/dev/null 2>&1 From 9252a183d94b80f615d9cb2a874b298f749a3591 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 15:58:18 -0400 Subject: [PATCH 03/24] bind to ip address --- base.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/base.yml b/base.yml index 422c966..a64bbfe 100644 --- a/base.yml +++ b/base.yml @@ -130,8 +130,8 @@ services: container_name: mistborn_production_pihole image: pihole/pihole:latest ports: - - "53:53/tcp" - - "53:53/udp" + - "10.2.3.1:53:53/tcp" + - "10.2.3.1:53:53/udp" labels: - "traefik.enable=true" environment: From 257c314f350550d47f3ec2c4b10ce94cdf17bda2 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 17:15:03 -0400 Subject: [PATCH 04/24] vars script and file --- base.yml | 4 ++-- scripts/services/Mistborn-base.service | 2 ++ scripts/vars/base.sh | 12 ++++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 scripts/vars/base.sh diff --git a/base.yml b/base.yml index a64bbfe..e16a544 100644 --- a/base.yml +++ b/base.yml @@ -130,8 +130,8 @@ services: container_name: mistborn_production_pihole image: pihole/pihole:latest ports: - - "10.2.3.1:53:53/tcp" - - "10.2.3.1:53:53/udp" + - "${MISTBORN_DNS_BIND_IP}:53:53/tcp" + - "${MISTBORN_DNS_BIND_IP}:53:53/udp" labels: - "traefik.enable=true" environment: diff --git a/scripts/services/Mistborn-base.service b/scripts/services/Mistborn-base.service index b1c52b5..d7c3f7e 100644 --- a/scripts/services/Mistborn-base.service +++ b/scripts/services/Mistborn-base.service @@ -9,6 +9,8 @@ User=root Group=docker PermissionsStartOnly=true # Shutdown container (if running) when unit is stopped +EnvironmentFile=/opt/mistborn_volumes/base/base.txt +ExecStartPre=/opt/mistborn/scripts/vars/base.sh ExecStartPre=/usr/local/bin/docker-compose -f /opt/mistborn/base.yml down ExecStartPre=/usr/local/bin/docker-compose -f /opt/mistborn/base.yml build diff --git a/scripts/vars/base.sh b/scripts/vars/base.sh new file mode 100644 index 0000000..2753fb7 --- /dev/null +++ b/scripts/vars/base.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +VAR_FILE=/opt/mistborn_volumes/base/base.txt + +source /opt/mistborn/scripts/subinstallers/platform.sh + +export MISTBORN_DNS_BIND_IP="0.0.0.0" +if [ "$DISTRO" == "ubuntu" ] && [ "$VERSION_ID" == "20.04" ]; then + export MISTBORN_DNS_BIND_IP="10.2.3.1" +fi + +echo "MISTBORN_DNS_BIND_IP=${MISTBORN_DNS_BIND_IP}" | sudo tee ${VAR_FILE} From 73bd77b8832bcfbdcbc3d65eb8188166620b9fe3 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 17:23:50 -0400 Subject: [PATCH 05/24] executable --- scripts/vars/base.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/vars/base.sh diff --git a/scripts/vars/base.sh b/scripts/vars/base.sh old mode 100644 new mode 100755 From 293e60b85ade54649036adc8c932c00cd49867bd Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 17:48:38 -0400 Subject: [PATCH 06/24] Mistborn-setup --- scripts/{vars/base.sh => env/setup.sh} | 0 scripts/services/Mistborn-base.service | 1 - scripts/services/Mistborn-setup.service | 10 ++++++++++ scripts/update.sh | 7 +++++++ 4 files changed, 17 insertions(+), 1 deletion(-) rename scripts/{vars/base.sh => env/setup.sh} (100%) create mode 100644 scripts/services/Mistborn-setup.service diff --git a/scripts/vars/base.sh b/scripts/env/setup.sh similarity index 100% rename from scripts/vars/base.sh rename to scripts/env/setup.sh diff --git a/scripts/services/Mistborn-base.service b/scripts/services/Mistborn-base.service index d7c3f7e..5d1bbe1 100644 --- a/scripts/services/Mistborn-base.service +++ b/scripts/services/Mistborn-base.service @@ -10,7 +10,6 @@ Group=docker PermissionsStartOnly=true # Shutdown container (if running) when unit is stopped EnvironmentFile=/opt/mistborn_volumes/base/base.txt -ExecStartPre=/opt/mistborn/scripts/vars/base.sh ExecStartPre=/usr/local/bin/docker-compose -f /opt/mistborn/base.yml down ExecStartPre=/usr/local/bin/docker-compose -f /opt/mistborn/base.yml build diff --git a/scripts/services/Mistborn-setup.service b/scripts/services/Mistborn-setup.service new file mode 100644 index 0000000..9b83c71 --- /dev/null +++ b/scripts/services/Mistborn-setup.service @@ -0,0 +1,10 @@ +[Unit] +Description=Mistborn Environment Setup +Before=Mistborn-base.service + +[Service] +Type=oneshot +ExecStart=/opt/mistborn/scripts/env/setup.sh + +[Install] +WantedBy=multi-user.target diff --git a/scripts/update.sh b/scripts/update.sh index 8f3d639..f7244bc 100755 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -2,6 +2,13 @@ set -e +iface=$(ip -o -4 route show to default | egrep -o 'dev [^ ]*' | awk 'NR==1{print $2}') +sudo cp ./scripts/services/Mistborn* /etc/systemd/system/ +sudo find /etc/systemd/system/ -type f -name 'Mistborn*' | xargs sudo sed -i "s/User=root/User=mistborn/" +sudo find /etc/systemd/system/ -type f -name 'Mistborn*' | xargs sudo sed -i "s/DIFACE/$iface/" + +sudo systemctl daemon-reload + sudo docker-compose -f /opt/mistborn/base.yml pull sudo docker-compose -f /opt/mistborn/base.yml build From a15c677b381941ff90c40eb3468be8b1df33f352 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 18:35:35 -0400 Subject: [PATCH 07/24] env_file --- base.yml | 2 ++ scripts/services/Mistborn-base.service | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/base.yml b/base.yml index e16a544..cfb3f2b 100644 --- a/base.yml +++ b/base.yml @@ -129,6 +129,8 @@ services: pihole: container_name: mistborn_production_pihole image: pihole/pihole:latest + env_file: + - /opt/mistborn_volumes/base/base.txt ports: - "${MISTBORN_DNS_BIND_IP}:53:53/tcp" - "${MISTBORN_DNS_BIND_IP}:53:53/udp" diff --git a/scripts/services/Mistborn-base.service b/scripts/services/Mistborn-base.service index 5d1bbe1..b1c52b5 100644 --- a/scripts/services/Mistborn-base.service +++ b/scripts/services/Mistborn-base.service @@ -9,7 +9,6 @@ User=root Group=docker PermissionsStartOnly=true # Shutdown container (if running) when unit is stopped -EnvironmentFile=/opt/mistborn_volumes/base/base.txt ExecStartPre=/usr/local/bin/docker-compose -f /opt/mistborn/base.yml down ExecStartPre=/usr/local/bin/docker-compose -f /opt/mistborn/base.yml build From c26148c9511a060a512ad8196eb83967c4dbaf23 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 18:49:35 -0400 Subject: [PATCH 08/24] .env --- scripts/env/setup.sh | 3 ++- scripts/update.sh | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/env/setup.sh b/scripts/env/setup.sh index 2753fb7..a0a53eb 100755 --- a/scripts/env/setup.sh +++ b/scripts/env/setup.sh @@ -1,6 +1,6 @@ #!/bin/bash -VAR_FILE=/opt/mistborn_volumes/base/base.txt +VAR_FILE=/opt/mistborn/.env source /opt/mistborn/scripts/subinstallers/platform.sh @@ -10,3 +10,4 @@ if [ "$DISTRO" == "ubuntu" ] && [ "$VERSION_ID" == "20.04" ]; then fi echo "MISTBORN_DNS_BIND_IP=${MISTBORN_DNS_BIND_IP}" | sudo tee ${VAR_FILE} +sudo chown mistborn:mistborn ${VAR_FILE} diff --git a/scripts/update.sh b/scripts/update.sh index f7244bc..020bc08 100755 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -8,6 +8,7 @@ sudo find /etc/systemd/system/ -type f -name 'Mistborn*' | xargs sudo sed -i "s/ sudo find /etc/systemd/system/ -type f -name 'Mistborn*' | xargs sudo sed -i "s/DIFACE/$iface/" sudo systemctl daemon-reload +sudo systemctl restart Mistborn-setup sudo docker-compose -f /opt/mistborn/base.yml pull sudo docker-compose -f /opt/mistborn/base.yml build From aa0620bd9e557ee160c1dbc15f455035a18cc2c9 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 18:53:30 -0400 Subject: [PATCH 09/24] env EnvironmentFile --- scripts/services/Mistborn-base.service | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/services/Mistborn-base.service b/scripts/services/Mistborn-base.service index b1c52b5..a810c4a 100644 --- a/scripts/services/Mistborn-base.service +++ b/scripts/services/Mistborn-base.service @@ -9,6 +9,7 @@ User=root Group=docker PermissionsStartOnly=true # Shutdown container (if running) when unit is stopped +EnvironmentFile=/opt/mistborn/.env ExecStartPre=/usr/local/bin/docker-compose -f /opt/mistborn/base.yml down ExecStartPre=/usr/local/bin/docker-compose -f /opt/mistborn/base.yml build From b668a321a6a1fc4926b0cf9f1b99d913a8626afd Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 18:59:07 -0400 Subject: [PATCH 10/24] gitignore .env --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index ea8c8cf..0baf21e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ compose/production/traefik/traefik.toml .envs/ +.env From e4133ade21d9ce9cd8f0f0810cefc11c1261196c Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 19:09:01 -0400 Subject: [PATCH 11/24] gitlab-ci --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f56b619..924b5a1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,5 +19,6 @@ docker_build: - apk add docker-compose - scripts/subinstallers/gen_prod_env.sh "$MISTBORN_DEFAULT_PASSWORD" - cp compose/production/traefik/traefik.toml.template compose/production/traefik/traefik.toml + - scripts/env/setup.sh - docker-compose -f base.yml build From 5768371f274b1e108620ef872b91857e5f447995 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 19:20:52 -0400 Subject: [PATCH 12/24] gitlab-ci --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 924b5a1..03623c1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,6 +6,7 @@ services: variables: GIT_SUBMODULE_STRATEGY: "recursive" MISTBORN_DEFAULT_PASSWORD: "default_password" + MISTBORN_DNS_BIND_IP: "10.2.3.1" stages: - test @@ -19,6 +20,5 @@ docker_build: - apk add docker-compose - scripts/subinstallers/gen_prod_env.sh "$MISTBORN_DEFAULT_PASSWORD" - cp compose/production/traefik/traefik.toml.template compose/production/traefik/traefik.toml - - scripts/env/setup.sh - docker-compose -f base.yml build From 76d236e94900934321ccf2ffba34521573d8d826 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 20:25:47 -0400 Subject: [PATCH 13/24] run setup --- scripts/install.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/install.sh b/scripts/install.sh index 6857ea7..57765e8 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -207,6 +207,10 @@ source ./scripts/subinstallers/openssl.sh sudo rm -rf ../mistborn_volumes/base/tls sudo mv ./tls ../mistborn_volumes/base/ +# enable and run setup to generate .env +sudo systemctl enable Mistborn-setup.service +sudo systemctl start Mistborn-setup.service + # Download docker images while DNS is operable sudo docker-compose -f base.yml pull || true sudo docker-compose -f base.yml build From 05ad86c4fadb29a9a3171d911784febeeaa8381b Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 20:27:36 -0400 Subject: [PATCH 14/24] enable Mistborn-setup in update.sh --- scripts/update.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/update.sh b/scripts/update.sh index 020bc08..64e30a9 100755 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -8,7 +8,8 @@ sudo find /etc/systemd/system/ -type f -name 'Mistborn*' | xargs sudo sed -i "s/ sudo find /etc/systemd/system/ -type f -name 'Mistborn*' | xargs sudo sed -i "s/DIFACE/$iface/" sudo systemctl daemon-reload -sudo systemctl restart Mistborn-setup +sudo systemctl enable Mistborn-setup.service +sudo systemctl restart Mistborn-setup.service sudo docker-compose -f /opt/mistborn/base.yml pull sudo docker-compose -f /opt/mistborn/base.yml build From 36d2de5bbd75de07586e7e383b4007572a6c6bdc Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 23:49:33 -0400 Subject: [PATCH 15/24] mistborn-cli --- .gitmodules | 3 +++ modules/mistborn-cli | 1 + scripts/install.sh | 4 ++++ scripts/subinstallers/docker.sh | 3 +++ scripts/subinstallers/docker_manual.sh | 3 --- scripts/update.sh | 6 ++++++ 6 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 .gitmodules create mode 160000 modules/mistborn-cli diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..067e6f8 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "modules/mistborn-cli"] + path = modules/mistborn-cli + url = https://gitlab.com/cyber5k/mistborn-cli.git diff --git a/modules/mistborn-cli b/modules/mistborn-cli new file mode 160000 index 0000000..24174d1 --- /dev/null +++ b/modules/mistborn-cli @@ -0,0 +1 @@ +Subproject commit 24174d1c12723081dbaac650753431d28bd0973f diff --git a/scripts/install.sh b/scripts/install.sh index 57765e8..e33ff8a 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -148,6 +148,10 @@ then source ./scripts/subinstallers/cockpit.sh fi +# Mistborn-cli (pip3 installed by docker) +figlet "Mistborn: Installing mistborn-cli" +sudo pip3 install -e ./modules/mistborn-cli + # Mistborn # final setup vars iface=$(ip -o -4 route show to default | egrep -o 'dev [^ ]*' | awk 'NR==1{print $2}') diff --git a/scripts/subinstallers/docker.sh b/scripts/subinstallers/docker.sh index 1542207..b21d452 100755 --- a/scripts/subinstallers/docker.sh +++ b/scripts/subinstallers/docker.sh @@ -1,5 +1,8 @@ #!/bin/bash +# Docker +figlet "Mistborn: Installing Docker" + sudo apt update sudo apt install -y python python3-pip python3-setuptools libffi-dev python3-dev libssl-dev diff --git a/scripts/subinstallers/docker_manual.sh b/scripts/subinstallers/docker_manual.sh index 176aba9..9692109 100755 --- a/scripts/subinstallers/docker_manual.sh +++ b/scripts/subinstallers/docker_manual.sh @@ -1,8 +1,5 @@ #!/bin/bash -# Docker -figlet "Mistborn: Installing Docker" - # dependencies echo "Installing Docker dependencies" sudo apt-get install -y \ diff --git a/scripts/update.sh b/scripts/update.sh index 64e30a9..67ed331 100755 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -2,6 +2,12 @@ set -e +sudo git -C /opt/mistborn pull +sudo git -C /opt/mistborn submodule update --init --recursive + +# ensure mistborn-cli is installed +sudo pip3 install -e /opt/mistborn/modules/mistborn-cli + iface=$(ip -o -4 route show to default | egrep -o 'dev [^ ]*' | awk 'NR==1{print $2}') sudo cp ./scripts/services/Mistborn* /etc/systemd/system/ sudo find /etc/systemd/system/ -type f -name 'Mistborn*' | xargs sudo sed -i "s/User=root/User=mistborn/" From 6a084db7da4d7a67d1fb522d2b80cb847fae5079 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sat, 25 Apr 2020 23:50:52 -0400 Subject: [PATCH 16/24] README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d80a835..913f02c 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ sudo bash ./mistborn/scripts/install.sh Get default admin Wireguard profile *wait 1 minute after "Mistborn Installed" message* ``` -sudo docker-compose -f /opt/mistborn/base.yml run --rm django python manage.py getconf admin default +sudo mistborn-cli getconf ``` Connect via Wireguard then visit `http://home.mistborn` @@ -130,7 +130,7 @@ sudo journalctl -xfu Mistborn-base The default Wireguard configuration file for `admin` may be obtained via: ``` -sudo docker-compose -f /opt/mistborn/base.yml run --rm django python manage.py getconf admin default +sudo mistborn-cli getconf ``` Please notice that the following lines are **NOT** part of the Wireguard config: ``` From 29cdf7fbf7e1e1ba8eb1e66b3bd3c1f2f6f21626 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sun, 26 Apr 2020 00:08:51 -0400 Subject: [PATCH 17/24] getconf stdout --- modules/mistborn-cli | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mistborn-cli b/modules/mistborn-cli index 24174d1..64faffd 160000 --- a/modules/mistborn-cli +++ b/modules/mistborn-cli @@ -1 +1 @@ -Subproject commit 24174d1c12723081dbaac650753431d28bd0973f +Subproject commit 64faffd631faadfa2aca4f69e3e90602e7a05bf7 From a51e67a92a14e28cd78d42adac3836861e725a84 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sun, 26 Apr 2020 00:28:48 -0400 Subject: [PATCH 18/24] MISTBORN_TAG --- base.yml | 10 +++++----- scripts/env/setup.sh | 12 ++++++++++-- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/base.yml b/base.yml index cfb3f2b..9adc997 100644 --- a/base.yml +++ b/base.yml @@ -7,7 +7,7 @@ volumes: services: django: - image: cyber5k/mistborn:latest + image: cyber5k/mistborn:{MISTBORN_TAG} container_name: mistborn_production_django depends_on: - postgres @@ -60,7 +60,7 @@ services: restart: unless-stopped celeryworker: - image: cyber5k/mistborn:latest + image: cyber5k/mistborn:{MISTBORN_TAG} container_name: mistborn_production_celeryworker volumes: - /home/mistborn/.ssh:/ssh @@ -83,7 +83,7 @@ services: restart: unless-stopped celeryworker-low-priority: - image: cyber5k/mistborn:latest + image: cyber5k/mistborn:{MISTBORN_TAG} container_name: mistborn_production_celeryworker_low_priority volumes: - /home/mistborn/.ssh:/ssh @@ -106,7 +106,7 @@ services: restart: unless-stopped celerybeat: - image: cyber5k/mistborn:latest + image: cyber5k/mistborn:{MISTBORN_TAG} container_name: mistborn_production_celerybeat env_file: - ./.envs/.production/.django @@ -116,7 +116,7 @@ services: flower: - image: cyber5k/mistborn:latest + image: cyber5k/mistborn:{MISTBORN_TAG} container_name: mistborn_production_flower env_file: - ./.envs/.production/.django diff --git a/scripts/env/setup.sh b/scripts/env/setup.sh index a0a53eb..6b03c5a 100755 --- a/scripts/env/setup.sh +++ b/scripts/env/setup.sh @@ -4,10 +4,18 @@ VAR_FILE=/opt/mistborn/.env source /opt/mistborn/scripts/subinstallers/platform.sh -export MISTBORN_DNS_BIND_IP="0.0.0.0" +MISTBORN_DNS_BIND_IP="0.0.0.0" if [ "$DISTRO" == "ubuntu" ] && [ "$VERSION_ID" == "20.04" ]; then - export MISTBORN_DNS_BIND_IP="10.2.3.1" + MISTBORN_DNS_BIND_IP="10.2.3.1" fi echo "MISTBORN_DNS_BIND_IP=${MISTBORN_DNS_BIND_IP}" | sudo tee ${VAR_FILE} sudo chown mistborn:mistborn ${VAR_FILE} + +GIT_BRANCH=$(git -C /opt/mistborn symbolic-ref --short HEAD || echo "master") +MISTBORN_TAG="latest" +if [ "$GIT_BRANCH" != "master" ]; then + MISTBORN_TAG="test" +fi + +echo "MISTBORN_TAG=$MISTBORN_TAG" | sudo tee -a ${VAR_FILE} From 55c08209aa60981529b0b69110706b8bd77e4dfb Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sun, 26 Apr 2020 00:41:42 -0400 Subject: [PATCH 19/24] syntax --- base.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/base.yml b/base.yml index 9adc997..19fd8a6 100644 --- a/base.yml +++ b/base.yml @@ -7,7 +7,7 @@ volumes: services: django: - image: cyber5k/mistborn:{MISTBORN_TAG} + image: "cyber5k/mistborn:${MISTBORN_TAG}" container_name: mistborn_production_django depends_on: - postgres @@ -60,7 +60,7 @@ services: restart: unless-stopped celeryworker: - image: cyber5k/mistborn:{MISTBORN_TAG} + image: "cyber5k/mistborn:${MISTBORN_TAG}" container_name: mistborn_production_celeryworker volumes: - /home/mistborn/.ssh:/ssh @@ -83,7 +83,7 @@ services: restart: unless-stopped celeryworker-low-priority: - image: cyber5k/mistborn:{MISTBORN_TAG} + image: "cyber5k/mistborn:${MISTBORN_TAG}" container_name: mistborn_production_celeryworker_low_priority volumes: - /home/mistborn/.ssh:/ssh @@ -106,7 +106,7 @@ services: restart: unless-stopped celerybeat: - image: cyber5k/mistborn:{MISTBORN_TAG} + image: "cyber5k/mistborn:${MISTBORN_TAG}" container_name: mistborn_production_celerybeat env_file: - ./.envs/.production/.django @@ -116,7 +116,7 @@ services: flower: - image: cyber5k/mistborn:{MISTBORN_TAG} + image: "cyber5k/mistborn:${MISTBORN_TAG}" container_name: mistborn_production_flower env_file: - ./.envs/.production/.django From f8521be6b936ebdfe928a2cda0443bea982b26ea Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sun, 26 Apr 2020 00:47:38 -0400 Subject: [PATCH 20/24] volume prune on install --- scripts/install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/install.sh b/scripts/install.sh index e33ff8a..91e88d0 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -169,6 +169,7 @@ fi sudo docker volume rm -f mistborn_production_postgres_data 2>/dev/null || true sudo docker volume rm -f mistborn_production_postgres_data_backups 2>/dev/null || true sudo docker volume rm -f mistborn_production_traefik 2>/dev/null || true +sudo docker volume prune -f 2>/dev/null || true # generate production .env file if [ ! -d ./.envs/.production ]; then From c223144001609b622fe608bb8e72a51202df5f7d Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sun, 26 Apr 2020 01:05:52 -0400 Subject: [PATCH 21/24] mistborn-cli cmd --- scripts/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install.sh b/scripts/install.sh index 91e88d0..cb73dbf 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -249,4 +249,4 @@ popd figlet "Mistborn Installed" echo "Watch Mistborn start: sudo journalctl -xfu Mistborn-base" -echo "Retrieve Wireguard default config for admin: sudo docker-compose -f /opt/mistborn/base.yml run --rm django python manage.py getconf admin default" +echo "Retrieve Wireguard default config for admin: sudo mistborn-cli getconf" From 2f1045cc9ac6edf7265c314e66425556eecbd158 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sun, 26 Apr 2020 01:56:05 -0400 Subject: [PATCH 22/24] paths --- scripts/update.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/update.sh b/scripts/update.sh index 67ed331..4a037ea 100755 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -9,7 +9,7 @@ sudo git -C /opt/mistborn submodule update --init --recursive sudo pip3 install -e /opt/mistborn/modules/mistborn-cli iface=$(ip -o -4 route show to default | egrep -o 'dev [^ ]*' | awk 'NR==1{print $2}') -sudo cp ./scripts/services/Mistborn* /etc/systemd/system/ +sudo cp /opt/mistborn/scripts/services/Mistborn* /etc/systemd/system/ sudo find /etc/systemd/system/ -type f -name 'Mistborn*' | xargs sudo sed -i "s/User=root/User=mistborn/" sudo find /etc/systemd/system/ -type f -name 'Mistborn*' | xargs sudo sed -i "s/DIFACE/$iface/" From 175e89f0df8d855a2c58052809680aaede731bf1 Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sun, 26 Apr 2020 02:02:37 -0400 Subject: [PATCH 23/24] pullbuild --- modules/mistborn-cli | 2 +- scripts/update.sh | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/mistborn-cli b/modules/mistborn-cli index 64faffd..0ceb3eb 160000 --- a/modules/mistborn-cli +++ b/modules/mistborn-cli @@ -1 +1 @@ -Subproject commit 64faffd631faadfa2aca4f69e3e90602e7a05bf7 +Subproject commit 0ceb3eb7dd0a5c4f2848f8d3a815b6ce0d6bc405 diff --git a/scripts/update.sh b/scripts/update.sh index 4a037ea..049fbec 100755 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -17,7 +17,6 @@ sudo systemctl daemon-reload sudo systemctl enable Mistborn-setup.service sudo systemctl restart Mistborn-setup.service -sudo docker-compose -f /opt/mistborn/base.yml pull -sudo docker-compose -f /opt/mistborn/base.yml build +sudo mistborn-cli pullbuild sudo systemctl restart Mistborn-base From d17814e8c1b22d4f25dc474087c35f45fb0b27bf Mon Sep 17 00:00:00 2001 From: Steven Foerster Date: Sun, 26 Apr 2020 02:05:55 -0400 Subject: [PATCH 24/24] syntax --- modules/mistborn-cli | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mistborn-cli b/modules/mistborn-cli index 0ceb3eb..00986bc 160000 --- a/modules/mistborn-cli +++ b/modules/mistborn-cli @@ -1 +1 @@ -Subproject commit 0ceb3eb7dd0a5c4f2848f8d3a815b6ce0d6bc405 +Subproject commit 00986bcb7f945c611d13099672b4fb1e2d0721f2