refactored structure

This commit is contained in:
Torben Haack 2024-10-10 06:17:26 +02:00
parent d3063864f3
commit e72c0ed92a
4 changed files with 45 additions and 13 deletions

View File

@ -1,3 +1,7 @@
# Build and utility assets
docker/
scripts/
# Ignore node_modules as they will be installed in the container # Ignore node_modules as they will be installed in the container
node_modules node_modules

View File

@ -1,11 +0,0 @@
#!/bin/sh
# Build the Docker image
echo "Building the Docker image..."
if sudo docker build -t myp-rp:latest . -f Containerfile; then
echo "Docker image built successfully."
else
echo "Failed to build the Docker image."
exit 1
fi

View File

@ -0,0 +1,18 @@
#!/bin/bash
# Specify the image name and tag
IMAGE_NAME="myp-rp"
IMAGE_TAG="latest"
# Specify the output file name
OUTPUT_FILE="myp-rp_latest.tar.xz"
# Save the Docker image and compress it with xz
docker save ${IMAGE_NAME}:${IMAGE_TAG} | xz -z -T0 > ./${OUTPUT_FILE}
# Check if the operation was successful
if [ $? -eq 0 ]; then
echo "Image successfully saved and compressed to ${OUTPUT_FILE}"
else
echo "Error occurred while saving and compressing the image"
fi

View File

@ -3,6 +3,15 @@
# Define the state file # Define the state file
STATE_FILE="/tmp/network_toggle_state" STATE_FILE="/tmp/network_toggle_state"
# Function to display current state
show_current_state() {
if [ "$1" == "down" ]; then
echo "Current state: Ethernet and MACVLAN active, Wi-Fi inactive"
else
echo "Current state: Wi-Fi active, Ethernet and MACVLAN inactive"
fi
}
# Check if the state file exists # Check if the state file exists
if [ -f "$STATE_FILE" ]; then if [ -f "$STATE_FILE" ]; then
# If the state file exists, read the state # If the state file exists, read the state
@ -13,19 +22,31 @@ else
echo "$STATE" > "$STATE_FILE" echo "$STATE" > "$STATE_FILE"
fi fi
# Show current state
show_current_state "$STATE"
# Toggle the state # Toggle the state
if [ "$STATE" == "down" ]; then if [ "$STATE" == "down" ]; then
echo "Bringing interfaces down and up..." echo "Switching to Wi-Fi mode..."
echo "Deactivating: Ethernet (eth0) and MACVLAN interfaces"
sudo ip link set macvlan0 down sudo ip link set macvlan0 down
sudo ip link set macvlan1 down sudo ip link set macvlan1 down
sudo ip link set eth0 down sudo ip link set eth0 down
echo "Activating: Wi-Fi (wlan0)"
sudo ip link set wlan0 up sudo ip link set wlan0 up
echo "up" > "$STATE_FILE" # Update the state to "up" echo "up" > "$STATE_FILE" # Update the state to "up"
else else
echo "Bringing interfaces up and down..." echo "Switching to Ethernet and MACVLAN mode..."
echo "Deactivating: Wi-Fi (wlan0)"
sudo ip link set wlan0 down sudo ip link set wlan0 down
echo "Activating: Ethernet (eth0) and MACVLAN interfaces"
sudo ip link set eth0 up sudo ip link set eth0 up
sudo ip link set macvlan1 up sudo ip link set macvlan1 up
sudo ip link set macvlan0 up sudo ip link set macvlan0 up
echo "down" > "$STATE_FILE" # Update the state to "down" echo "down" > "$STATE_FILE" # Update the state to "down"
fi fi
# Show new state
echo ""
echo "Switch completed."
show_current_state $(cat "$STATE_FILE")