feat: rework install.sh

This commit is contained in:
2025-07-30 14:46:42 +02:00
parent a9fa8e1e4f
commit 6398fd54b8
4 changed files with 91 additions and 117 deletions

View File

@@ -5,22 +5,35 @@ FILENAME="serverconfig"
ETC_DIR="/etc/$FILENAME"
ENV_FILE="$ETC_DIR/.env"
LOG="/var/log/$FILENAME.log"
SCRIPT_FILE="/usr/local/bin"
INFO="\e[34mINFO\e[0m"
SUCCESS="\e[32mSUCCESS\e[0m"
WARN="\e[33mWARN\e[0m"
ERROR="\e[31mERROR\e[0m"
DEBUG="\e[35mDEBUG\e[0m"
ACTION="\e[36mACTION\e[0m"
DATETIME_FORMAT="%d-%m-%Y %H:%M:%S"
info_print() {
local message="$1"
local level="${2:-1}"
local timestamp="[$(date +"$DATETIME_FORMAT")]"
local write_log="${3:-true}"
case $level in
1) local level="\e[34mINFO\e[0m";;
2) local level="\e[33mWARN\e[0m";;
3) local level="\e[31mERROR\e[0m";;
4) local level="\e[35mDEBUG\e[0m";;
5) local level="\e[36mACTION\e[0m";;
1|--) local level=$INFO;;
2) local level=$WARN;;
3) local level=$ERROR;;
4) local level=$DEBUG;;
5) local level=$ACTION;;
6) local level=$SUCCESS;;
*);;
esac
echo -e "$timestamp - $level: $message" | tee -a "$LOG"
local output="[$(date +"$DATETIME_FORMAT")] - $level: $message"
if [ "$write_log" = true ]; then echo -e "$output" | tee -a "$LOG"
else echo -e "$output"
fi
}

View File

@@ -1,74 +0,0 @@
volumes:
etc_wireguard:
etc_certs:
# save certifcate
etc_acme:
services:
wg-easy:
image: ghcr.io/wg-easy/wg-easy:15
container_name: wg-easy
networks:
- network-container
volumes:
- etc_wireguard:/etc/wireguard
- /lib/modules:/lib/modules:ro
ports:
- "51820:51820/udp"
- "51821:51821/tcp"
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv6.conf.all.disable_ipv6=0
- net.ipv6.conf.all.forwarding=1
- net.ipv6.conf.default.forwarding=1
environment:
- VIRTUAL_HOST=${WG_HOSTNAME_VPN}
- LETSENCRYPT_HOST=${WG_HOSTNAME_VPN}
- LETSENCRYPT_EMAIL=${EMAIL}
- VIRTUAL_PORT=51821
depends_on:
- nginx-proxy
acme-companion:
image: nginxproxy/acme-companion
container_name: acme-companion
restart: unless-stopped
environment:
- DEFAULT_EMAIL=${EMAIL}
- NGINX_PROXY_CONTAINER=nginx-proxy
depends_on:
- nginx-proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- etc_certs:/etc/nginx/certs
- /etc/nginx/vhost.d
- ./default_html:/usr/share/nginx/html
- etc_acme:/etc/acme.sh
networks:
- network-container
nginx-proxy:
image: nginxproxy/nginx-proxy:alpine
container_name: nginx-proxy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- etc_certs:/etc/nginx/certs
- /etc/nginx/vhost.d
- ./default_html:/usr/share/nginx/html
networks:
- network-container
networks:
network-container:
external: false