Compare commits

...

6 Commits

Author SHA1 Message Date
Kameron Kenny 2a8e020d8e
upgrade step 2024-05-03 11:28:44 -04:00
Kameron Kenny 4e33675ed4
mv pn.sh 2024-05-03 11:27:21 -04:00
Kameron Kenny 28b8f76408
make sure nfs-common is installed and make sure nfs is mounted 2024-05-03 11:26:43 -04:00
Kameron Kenny 5f30b31ec9
add user script 2024-05-03 11:22:07 -04:00
Kameron Kenny 5bd314c68c
docker install script mods 2024-05-03 11:21:37 -04:00
Kameron Kenny e2b8206e86
add nfs bootstrap 2024-05-03 09:51:56 -04:00
7 changed files with 74 additions and 26 deletions

26
0_nfs.sh Normal file
View File

@ -0,0 +1,26 @@
#!/bin/bash
#
apt update -y
apt -y install nfs-common
function create_dir() {
echo "creating directory: $1"
mkdir -p $1
}
function check_dir() {
[[ ! -d "$1" ]] && create_dir $1
}
function install_nfs_mnt() {
echo "making sure mount point exists..."
check_dir '/var/lib/docker/volumes'
echo "installing nfs mount."
echo '10.200.99.231:/volume1/docker/volumes /var/lib/docker/volumes nfs auto,_netdev,x-systemd.automount 0 0' >> /etc/fstab
systemctl daemon-reload
}
grep '/var/lib/docker/volumes' >/dev/null || install_nfs_mnt
mount -a

View File

@ -3,15 +3,15 @@
# REF:https://docs.docker.com/engine/install/debian/#install-using-the-repository # REF:https://docs.docker.com/engine/install/debian/#install-using-the-repository
# Add Docker's official GPG key: # Add Docker's official GPG key:
sudo apt-get update apt-get update
sudo apt-get install ca-certificates curl gnupg apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources: # Add the repository to Apt sources:
echo \ echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update apt-get update

View File

@ -1,6 +1,3 @@
#!/bin/bash #!/bin/bash
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker run hello-world

14
3_users.sh Normal file
View File

@ -0,0 +1,14 @@
#!/bin/bash
grep jenkins /etc/group >/dev/null 2>&1 || sroupadd jenkin
grep jenkins /etc/passwd >/dev/null 2>&1 || useradd jenkins -g jenkins -G docker -m
[[ ! -d '/home/jenkins/.ssh' ]] && mkdir /home/jenkins/.ssh
grep 'jenkins@localhost.thelinuxpro.net' >/dev/null 2>&1 || echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDZzcq/InUD3bbrVC+7HzIjhaiz8Nc21ZO1Wu6OsVijs jenkins@localhost.thelinuxpro.net' >> /home/jenkins/.ssh/authorized_keys
chown -R jenkins.jenkins /home/jenkins/.ssh
chmod -R 0700 /home/jenkins/.ssh
usermod -a -G docker kkenny

21
4_provision_networks.sh Executable file
View File

@ -0,0 +1,21 @@
#!/usr/bin/env bash
ip link set eth0 promisc on
docker network inspect infra_dev_net >/dev/null 2>&1 || \
docker network create -d macvlan --subnet 10.99.23.0/24 --gateway 10.99.23.254 -o parent=eth0.23 infra_dev_net
docker network inspect dns_local_net >/dev/null 2>&1 || \
docker network create -d macvlan --subnet 10.200.53.240/28 --gateway 10.200.53.254 -o parent=eth0.53 dns_local_net
docker network inspect pub_dns_net >/dev/null 2>&1 || \
docker network create -d macvlan --subnet 10.99.153.240/28 --gateway 10.99.153.254 -o parent=eth0.153 pub_dns_net
#docker network create -d macvlan --scope swarm --subnet 10.99.153.240/28 --gateway 10.99.153.254 -o parent=eth0.153 pub_dns_swarm_net
#docker network create -d ipvlan --subnet=10.99.22.0/24 -o ipvlan_mode=l2 -o parent=eth0.22 infra_dev_net
# SAMPLE DOCKER RUN WITH NEW NETWORK:
# docker run --name container1 --net infra_dev_net --ip 10.99.22.11 -dt ubuntu

4
99_upgrade.sh Normal file
View File

@ -0,0 +1,4 @@
#!/bin/bash
apt update -y
apt -y upgrade

View File

@ -1,14 +0,0 @@
#!/usr/bin/env bash
ip link set eth0 promisc on
#docker network create -d macvlan --subnet 10.99.22.0/24 --gateway 10.99.22.254 -o parent=eth0.22 infra_dev_net
#docker network create -d macvlan --subnet 10.200.53.240/28 --gateway 10.200.53.254 -o parent=eth0.53 dns_local_net
#docker network create -d macvlan --subnet 10.99.153.240/28 --gateway 10.99.153.254 -o parent=eth0.153 pub_dns_net
docker network create -d macvlan --scope swarm --subnet 10.99.153.240/28 --gateway 10.99.153.254 -o parent=eth0.153 pub_dns_swarm_net
#docker network create -d ipvlan --subnet=10.99.22.0/24 -o ipvlan_mode=l2 -o parent=eth0.22 infra_dev_net
# SAMPLE DOCKER RUN WITH NEW NETWORK:
# docker run --name container1 --net infra_dev_net --ip 10.99.22.11 -dt ubuntu