first commit
This commit is contained in:
22
README.md
Executable file
22
README.md
Executable file
@@ -0,0 +1,22 @@
|
||||
# debian
|
||||
|
||||
Server (Debian Stable) system general configuration, prepares the system on first boot or anytime.
|
||||
|
||||
## Usage
|
||||
|
||||
Run the `run.sh` script.
|
||||
|
||||
## Manual tasks
|
||||
|
||||
### Server
|
||||
|
||||
Edit crontab with :
|
||||
```
|
||||
# crontab -e
|
||||
```
|
||||
|
||||
And add the following content :
|
||||
```
|
||||
# Run the NETig backup script at 4h every monday
|
||||
0 4 * * mon /usr/local/sbin/netig-srv-backup
|
||||
```
|
||||
11
config/sources.list
Normal file
11
config/sources.list
Normal file
@@ -0,0 +1,11 @@
|
||||
deb http://deb.debian.org/debian bookworm main contrib non-free-firmware
|
||||
# deb-src http://deb.debian.org/debian bookworm main contrib non-free-firmware
|
||||
|
||||
deb http://deb.debian.org/debian bookworm-updates main contrib non-free-firmware
|
||||
# deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free-firmware
|
||||
|
||||
# deb http://deb.debian.org/debian bookworm-backports main contrib non-free-firmware
|
||||
# deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free-firmware
|
||||
|
||||
deb http://security.debian.org/debian-security bookworm-security main contrib non-free-firmware
|
||||
# deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free-firmware
|
||||
29
modules/docker.sh
Executable file
29
modules/docker.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
#############
|
||||
### Docker
|
||||
|
||||
echo
|
||||
echo " => Docker"
|
||||
echo
|
||||
|
||||
if [ -f /usr/bin/docker ]
|
||||
then
|
||||
echo " -> Already done !"
|
||||
else
|
||||
# Add Docker's official GPG key
|
||||
mkdir -p /etc/apt/keyrings
|
||||
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg --yes
|
||||
chmod a+rx /etc/apt/keyrings
|
||||
chmod a+r /etc/apt/keyrings/docker.gpg
|
||||
|
||||
# Add the repository to Apt sources
|
||||
echo \
|
||||
"deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bullseye stable" \
|
||||
| tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
apt-get update
|
||||
|
||||
# Install packages
|
||||
apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
|
||||
fi
|
||||
|
||||
15
modules/pkgs.sh
Executable file
15
modules/pkgs.sh
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
#######################
|
||||
### Install packages
|
||||
|
||||
echo
|
||||
echo " => Packages"
|
||||
echo
|
||||
|
||||
pkglist="git
|
||||
htop
|
||||
tree
|
||||
rsync"
|
||||
|
||||
apt-get install $pkglist -y
|
||||
10
modules/repos.sh
Executable file
10
modules/repos.sh
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
###########################
|
||||
### Repos configuration
|
||||
|
||||
echo
|
||||
echo " => Repos configuration"
|
||||
echo
|
||||
|
||||
cp config/sources.list /etc/apt/sources.list
|
||||
10
modules/scripts.sh
Executable file
10
modules/scripts.sh
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
###################
|
||||
### Copy scripts
|
||||
|
||||
echo
|
||||
echo " => Scripts"
|
||||
echo
|
||||
|
||||
cp scripts/* /usr/local/sbin
|
||||
11
modules/update.sh
Executable file
11
modules/update.sh
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
#############
|
||||
### Update
|
||||
|
||||
echo
|
||||
echo " => Update"
|
||||
echo
|
||||
|
||||
apt-get update
|
||||
apt-get upgrade -y
|
||||
28
modules/volumes.sh
Executable file
28
modules/volumes.sh
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
##########################
|
||||
### Volumes mountpoints
|
||||
|
||||
echo
|
||||
echo " => Volumes mountpoints"
|
||||
echo
|
||||
|
||||
if [ -d /var/netig/srv ]
|
||||
then
|
||||
echo " -> Already done !"
|
||||
else
|
||||
mkdir -p /var/netig/srv
|
||||
echo
|
||||
echo " => Adjust /etc/fstab accordingly !"
|
||||
echo
|
||||
fi
|
||||
|
||||
if [ -d /var/netig/bak ]
|
||||
then
|
||||
echo " -> Already done !"
|
||||
else
|
||||
mkdir -p /var/netig/bak
|
||||
echo
|
||||
echo " => Adjust /etc/fstab accordingly !"
|
||||
echo
|
||||
fi
|
||||
19
modules/zram.sh
Executable file
19
modules/zram.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
###########
|
||||
### ZRAM
|
||||
|
||||
echo
|
||||
echo " => ZRAM"
|
||||
echo
|
||||
|
||||
if [ -f /usr/bin/zramswap ]
|
||||
then
|
||||
echo " -> Already done !"
|
||||
else
|
||||
apt-get install zram-tools -y
|
||||
sed -i '/#ALGO=lz4/s/^#//g' /etc/default/zramswap
|
||||
sed -i '/#PERCENT=50/s/^#//g' /etc/default/zramswap
|
||||
sed -i 's/ALGO=lz4/ALGO=zstd/g' /etc/default/zramswap
|
||||
systemctl restart zramswap.service
|
||||
fi
|
||||
28
run.sh
Executable file
28
run.sh
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
# If root
|
||||
ID=$(id -u)
|
||||
if [ "$ID" -ne 0 ]
|
||||
then
|
||||
echo
|
||||
echo "Please run as root !"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Post-installation
|
||||
modules="repos.sh
|
||||
update.sh
|
||||
pkgs.sh
|
||||
docker.sh
|
||||
zram.sh
|
||||
scripts.sh
|
||||
volumes.sh"
|
||||
|
||||
for i in $modules
|
||||
do
|
||||
modules/$i
|
||||
done
|
||||
|
||||
# End message
|
||||
echo
|
||||
echo "Post-installation done !"
|
||||
61
scripts/netig-srv-backup
Executable file
61
scripts/netig-srv-backup
Executable file
@@ -0,0 +1,61 @@
|
||||
#!/bin/bash
|
||||
|
||||
################################################################################
|
||||
### Variables
|
||||
|
||||
# Source directory
|
||||
source="/var/netig/srv"
|
||||
|
||||
# Destination directory
|
||||
destination="/var/netig/bak"
|
||||
|
||||
# Backup file name
|
||||
backup="bak_$(hostname -f)_$(date +"%Y%m%d").tar.zst"
|
||||
|
||||
################################################################################
|
||||
### Down services
|
||||
|
||||
( cd /var/netig/srv/status.netig.net && docker compose down )
|
||||
|
||||
for f in /var/netig/srv/*
|
||||
do
|
||||
if [ -d "$f" ]; then
|
||||
cd $f
|
||||
docker compose down
|
||||
fi
|
||||
done
|
||||
|
||||
################################################################################
|
||||
### Making the backup archive
|
||||
|
||||
echo
|
||||
echo " Making the backup archive."
|
||||
echo
|
||||
tar --zstd -cf $destination/$backup -C $source .
|
||||
|
||||
################################################################################
|
||||
### Up services
|
||||
|
||||
for f in /var/netig/srv/*
|
||||
do
|
||||
if [ -d "$f" ]; then
|
||||
cd $f
|
||||
if [ -d "django" ]
|
||||
then
|
||||
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
|
||||
else
|
||||
docker compose up -d
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
################################################################################
|
||||
### Remove destination archives older than n days
|
||||
find $destination -name "bak_*" -type f -mtime +20 -delete
|
||||
|
||||
################################################################################
|
||||
### End message
|
||||
|
||||
echo
|
||||
echo " Backup done."
|
||||
echo
|
||||
Reference in New Issue
Block a user