summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-02-01 19:25:41 +0100
committerivarlovlie <git@ivarlovlie.no>2022-02-01 19:25:41 +0100
commit69a416caa2bce3dc4a3aff61fb8ae955f7561e51 (patch)
tree7f80e7f3143872c2e0a8867399abfcd35c9d5dbc /scripts
parentfdee7340ac18b0866abf0c44643f4c937fc4cf80 (diff)
downloaddotfiles-server-69a416caa2bce3dc4a3aff61fb8ae955f7561e51.tar.xz
dotfiles-server-69a416caa2bce3dc4a3aff61fb8ae955f7561e51.zip
Reorganise scripts
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/backup/docker_volumes_backup.sh11
-rwxr-xr-xscripts/backup/postgres_backup_v1.sh31
-rwxr-xr-xscripts/backup/postgres_backup_v2.sh16
-rwxr-xr-xscripts/install_docker.sh17
-rwxr-xr-xscripts/package_sync.sh5
-rwxr-xr-xscripts/setup_fail2ban.sh4
-rwxr-xr-xscripts/setup_ufw.sh9
-rwxr-xr-xscripts/utils/create_docker_network3
-rwxr-xr-xscripts/utils/create_docker_volume4
9 files changed, 100 insertions, 0 deletions
diff --git a/scripts/backup/docker_volumes_backup.sh b/scripts/backup/docker_volumes_backup.sh
new file mode 100755
index 0000000..403c745
--- /dev/null
+++ b/scripts/backup/docker_volumes_backup.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+set -Eeuo pipefail
+
+volumes_path="/var/lib/docker/volumes"
+backup_folder="/opt/backup/docker_data"
+filename="$(date -u +%Y%m%dT%H%M%SZ).tar"
+
+[ ! -d $backup_folder ] && mkdir -p $backup_folder
+
+tar cvf $backup_folder/$filename $volumes_path
diff --git a/scripts/backup/postgres_backup_v1.sh b/scripts/backup/postgres_backup_v1.sh
new file mode 100755
index 0000000..10f3b30
--- /dev/null
+++ b/scripts/backup/postgres_backup_v1.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+set -Eeuo pipefail
+
+host="localhost"
+port="5432"
+user="postgres"
+databases=("vsh_store" "time_tracker")
+backup_name=$(date -u +%Y%m%dT%H%M%SZ)
+backup_folder=/opt/backup/db
+
+for i in "${databases[@]}"
+do
+
+ pushd $backup_folder
+
+ if [ ! -d "$i" ]; then
+ mkdir -p $i
+ fi
+
+ cd $i
+
+ echo "$(date -u +%Y-%m-%d_%H:%M:%SZ) Dumping $i into $backup_folder/$i/$backup_name.psql"
+ pg_dump -U $user -p $port -h $host -Fc --clean --if-exists $i -f $backup_name.psql
+
+ echo "$(date -u +%Y-%m-%d_%H:%M:%SZ) Dumping $i into $backup_folder/$i/$backup_name.sql"
+ pg_dump -U $user -p $port -h $host --inserts --clean --if-exists $i -f $backup_name.sql
+
+ popd
+
+done
diff --git a/scripts/backup/postgres_backup_v2.sh b/scripts/backup/postgres_backup_v2.sh
new file mode 100755
index 0000000..1f06514
--- /dev/null
+++ b/scripts/backup/postgres_backup_v2.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+set -Eeuo pipefail
+
+backup_folder="/opt/backup/db/$(date -u +%F)"
+postgres_host="127.0.0.1"
+postgres_port="5432"
+filename="$(date -u +%H%M%S).psqldump"
+
+[ ! -d $backup_folder ] && mkdir -p $backup_folder
+
+pushd $backup_folder
+
+pg_dumpall --host=$postgres_host --port=$postgres_port -U postgres --clean --if-exists -f $filename
+
+popd
diff --git a/scripts/install_docker.sh b/scripts/install_docker.sh
new file mode 100755
index 0000000..56594ba
--- /dev/null
+++ b/scripts/install_docker.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+sudo apt-get install -y \
+ apt-transport-https \
+ ca-certificates \
+ curl \
+ gnupg-agent \
+ software-properties-common
+
+curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
+sudo apt-key fingerprint 0EBFCD88
+sudo add-apt-repository \
+ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
+ $(lsb_release -cs) \
+ stable"
+sudo apt-get update
+sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose
+
diff --git a/scripts/package_sync.sh b/scripts/package_sync.sh
new file mode 100755
index 0000000..44583f0
--- /dev/null
+++ b/scripts/package_sync.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+sudo apt update -y
+sudo apt upgrade -y
+sudo apt clean -y
+sudo apt autoremove -y
diff --git a/scripts/setup_fail2ban.sh b/scripts/setup_fail2ban.sh
new file mode 100755
index 0000000..b817ee6
--- /dev/null
+++ b/scripts/setup_fail2ban.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+sudo apt install fail2ban -y
+sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
+sudo service fail2ban restart
diff --git a/scripts/setup_ufw.sh b/scripts/setup_ufw.sh
new file mode 100755
index 0000000..0fead6f
--- /dev/null
+++ b/scripts/setup_ufw.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+sudo apt install ufw -y
+sudo ufw default deny incoming
+sudo ufw limit in ssh
+sudo ufw allow in 80
+sudo ufw allow in 443
+# ufw allow from $YOUR_IP to any proto tcp port 5432
+sudo ufw enable
+sudo ufw status
diff --git a/scripts/utils/create_docker_network b/scripts/utils/create_docker_network
new file mode 100755
index 0000000..861ce22
--- /dev/null
+++ b/scripts/utils/create_docker_network
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+sudo docker network create -d bridge $1
diff --git a/scripts/utils/create_docker_volume b/scripts/utils/create_docker_volume
new file mode 100755
index 0000000..62a27cd
--- /dev/null
+++ b/scripts/utils/create_docker_volume
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+sudo mkdir /var/opt/$1
+sudo docker volume create --driver local --opt type=none --opt device=/var/opt/$1 --opt o=bind $1