Projekt hinzugefügt
This commit is contained in:
+86
@@ -0,0 +1,86 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
# Default values
|
||||
STORAGE="local"
|
||||
BRIDGE="vmbr0"
|
||||
IP=""
|
||||
VLAN=""
|
||||
|
||||
# Parse arguments
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--storage)
|
||||
STORAGE="$2"
|
||||
shift 2
|
||||
;;
|
||||
--bridge)
|
||||
BRIDGE="$2"
|
||||
shift 2
|
||||
;;
|
||||
--ip)
|
||||
IP="$2"
|
||||
shift 2
|
||||
;;
|
||||
--vlan)
|
||||
VLAN="$2"
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
echo "Unknown argument: $1"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Generate CTID
|
||||
CTID=$(( $(date +%s) - 1000000000 ))
|
||||
echo "Generated CTID: $CTID"
|
||||
|
||||
# Update and download Debian 12 template
|
||||
echo "Updating and downloading Debian 12 template..."
|
||||
pveam update
|
||||
pveam download local debian-12-standard_12.0-1_amd64.tar.zst
|
||||
|
||||
# Create LXC container
|
||||
echo "Creating LXC container..."
|
||||
if [ -n "$VLAN" ]; then
|
||||
pct create "$CTID" local:template/debian-12-standard_12.0-1_amd64.tar.zst \
|
||||
--hostname "customer-$CTID" \
|
||||
--memory 2048 \
|
||||
--cores 2 \
|
||||
--net0 name=eth0,bridge="$BRIDGE",tag="$VLAN" \
|
||||
--unprivileged 1 \
|
||||
--features nesting=1 \
|
||||
--storage "$STORAGE"
|
||||
else
|
||||
pct create "$CTID" local:template/debian-12-standard_12.0-1_amd64.tar.zst \
|
||||
--hostname "customer-$CTID" \
|
||||
--memory 2048 \
|
||||
--cores 2 \
|
||||
--net0 name=eth0,bridge="$BRIDGE" \
|
||||
--unprivileged 1 \
|
||||
--features nesting=1 \
|
||||
--storage "$STORAGE"
|
||||
fi
|
||||
|
||||
# Configure APT proxy
|
||||
echo "Configuring APT proxy..."
|
||||
pct exec "$CTID" -- mkdir -p /etc/apt/apt.conf.d
|
||||
pct exec "$CTID" -- bash -c 'echo "Acquire::http::Proxy \"http://192.168.45.2:3142\";" > /etc/apt/apt.conf.d/01proxy'
|
||||
|
||||
# Copy setup scripts
|
||||
echo "Copying setup scripts..."
|
||||
pct push "$CTID" ./setupowner.sh /root/setupowner.sh
|
||||
pct push "$CTID" ./templates/docker-compose.yml /root/docker-compose.yml
|
||||
|
||||
# Start container
|
||||
echo "Starting container..."
|
||||
pct start "$CTID"
|
||||
|
||||
# Execute setup script
|
||||
echo "Executing setup script..."
|
||||
pct exec "$CTID" -- /root/setupowner.sh
|
||||
|
||||
echo "Installation completed for CTID: $CTID"
|
||||
Reference in New Issue
Block a user