feature: add volume for saving configs

This commit is contained in:
Peter Galonza 2025-03-29 19:44:49 +03:00
parent 2a6e6a1e24
commit 5453874bba
No known key found for this signature in database
GPG key ID: C85D94460DBECFA2
6 changed files with 38 additions and 9 deletions

View file

@ -1,13 +1,20 @@
mkdir -p /opt/amnezia/awg mkdir -p /opt/amnezia/awg
cd /opt/amnezia/awg cd /opt/amnezia/awg
if [ ! -f /opt/amnezia/wireguard/wireguard_server_private_key.key ]; then
WIREGUARD_SERVER_PRIVATE_KEY=$(wg genkey) WIREGUARD_SERVER_PRIVATE_KEY=$(wg genkey)
echo $WIREGUARD_SERVER_PRIVATE_KEY > /opt/amnezia/awg/wireguard_server_private_key.key fi
echo $WIREGUARD_SERVER_PRIVATE_KEY > /opt/amnezia/wireguard/wireguard_server_private_key.key
if [ ! -f /opt/amnezia/wireguard/wireguard_server_private_key.key ]; then
WIREGUARD_SERVER_PUBLIC_KEY=$(echo $WIREGUARD_SERVER_PRIVATE_KEY | wg pubkey) WIREGUARD_SERVER_PUBLIC_KEY=$(echo $WIREGUARD_SERVER_PRIVATE_KEY | wg pubkey)
echo $WIREGUARD_SERVER_PUBLIC_KEY > /opt/amnezia/awg/wireguard_server_public_key.key fi
echo $WIREGUARD_SERVER_PUBLIC_KEY > /opt/amnezia/wireguard/wireguard_server_public_key.key
if [ ! -f /opt/amnezia/wireguard/wireguard_psk.key ]; then
WIREGUARD_PSK=$(wg genpsk) WIREGUARD_PSK=$(wg genpsk)
echo $WIREGUARD_PSK > /opt/amnezia/awg/wireguard_psk.key fi
echo $WIREGUARD_PSK > /opt/amnezia/wireguard/wireguard_psk.key
cat > /opt/amnezia/awg/wg0.conf <<EOF cat > /opt/amnezia/awg/wg0.conf <<EOF
[Interface] [Interface]

View file

@ -1,3 +1,8 @@
# Create docker volume if not exists
if ! sudo docker volume ls | grep -q $CONTAINER_NAME; then
sudo docker volume create $CONTAINER_NAME
fi
# Run container # Run container
sudo docker run -d \ sudo docker run -d \
--log-driver none \ --log-driver none \

View file

@ -2,4 +2,5 @@ sudo docker ps -a | grep amnezia | awk '{print $1}' | xargs sudo docker stop;\
sudo docker ps -a | grep amnezia | awk '{print $1}' | xargs sudo docker rm -fv;\ sudo docker ps -a | grep amnezia | awk '{print $1}' | xargs sudo docker rm -fv;\
sudo docker images -a | grep amnezia | awk '{print $3}' | xargs sudo docker rmi;\ sudo docker images -a | grep amnezia | awk '{print $3}' | xargs sudo docker rmi;\
sudo docker network ls | grep amnezia-dns-net | awk '{print $1}' | xargs sudo docker network rm;\ sudo docker network ls | grep amnezia-dns-net | awk '{print $1}' | xargs sudo docker network rm;\
sudo docker volume ls | grep amnezia | awk '{print $1}' | xargs sudo docker volume -f rm;\
sudo rm -frd /opt/amnezia sudo rm -frd /opt/amnezia

View file

@ -1,3 +1,6 @@
sudo docker stop $CONTAINER_NAME;\ sudo docker stop $CONTAINER_NAME;\
sudo docker rm -fv $CONTAINER_NAME;\ sudo docker rm -fv $CONTAINER_NAME;\
sudo docker rmi $CONTAINER_NAME sudo docker rmi $CONTAINER_NAME
if sudo docker volume ls | grep -q $CONTAINER_NAME; then
sudo docker volume rm -f $CONTAINER_NAME
fi

View file

@ -1,12 +1,19 @@
mkdir -p /opt/amnezia/wireguard mkdir -p /opt/amnezia/wireguard
cd /opt/amnezia/wireguard cd /opt/amnezia/wireguard
if [ ! -f /opt/amnezia/wireguard/wireguard_server_private_key.key ]; then
WIREGUARD_SERVER_PRIVATE_KEY=$(wg genkey) WIREGUARD_SERVER_PRIVATE_KEY=$(wg genkey)
fi
echo $WIREGUARD_SERVER_PRIVATE_KEY > /opt/amnezia/wireguard/wireguard_server_private_key.key echo $WIREGUARD_SERVER_PRIVATE_KEY > /opt/amnezia/wireguard/wireguard_server_private_key.key
if [ ! -f /opt/amnezia/wireguard/wireguard_server_private_key.key ]; then
WIREGUARD_SERVER_PUBLIC_KEY=$(echo $WIREGUARD_SERVER_PRIVATE_KEY | wg pubkey) WIREGUARD_SERVER_PUBLIC_KEY=$(echo $WIREGUARD_SERVER_PRIVATE_KEY | wg pubkey)
fi
echo $WIREGUARD_SERVER_PUBLIC_KEY > /opt/amnezia/wireguard/wireguard_server_public_key.key echo $WIREGUARD_SERVER_PUBLIC_KEY > /opt/amnezia/wireguard/wireguard_server_public_key.key
if [ ! -f /opt/amnezia/wireguard/wireguard_psk.key ]; then
WIREGUARD_PSK=$(wg genpsk) WIREGUARD_PSK=$(wg genpsk)
fi
echo $WIREGUARD_PSK > /opt/amnezia/wireguard/wireguard_psk.key echo $WIREGUARD_PSK > /opt/amnezia/wireguard/wireguard_psk.key
cat > /opt/amnezia/wireguard/wg0.conf <<EOF cat > /opt/amnezia/wireguard/wg0.conf <<EOF

View file

@ -1,3 +1,8 @@
# Create docker volume if not exists
if ! sudo docker volume ls | grep -q $CONTAINER_NAME; then
sudo docker volume create $CONTAINER_NAME
fi
# Run container # Run container
sudo docker run -d \ sudo docker run -d \
--log-driver none \ --log-driver none \
@ -7,6 +12,7 @@ sudo docker run -d \
--cap-add=SYS_MODULE \ --cap-add=SYS_MODULE \
-p $WIREGUARD_SERVER_PORT:$WIREGUARD_SERVER_PORT/udp \ -p $WIREGUARD_SERVER_PORT:$WIREGUARD_SERVER_PORT/udp \
-v /lib/modules:/lib/modules \ -v /lib/modules:/lib/modules \
-v $CONTAINER_NAME:/opt/amnezia \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \ --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--name $CONTAINER_NAME \ --name $CONTAINER_NAME \
$CONTAINER_NAME $CONTAINER_NAME