now passing configuration to container by mounting /config

This commit is contained in:
Kristian Haugene 2014-11-16 14:19:56 +01:00
parent 775d22c5d1
commit 0e4f1da9ce
6 changed files with 28 additions and 11 deletions

View File

@ -35,13 +35,14 @@ ADD transmission/runUpdates.sh /etc/service/portupdater/run
RUN mkdir -p /etc/service/openvpn/ RUN mkdir -p /etc/service/openvpn/
ADD runOpenVpn.sh /etc/service/openvpn/run ADD runOpenVpn.sh /etc/service/openvpn/run
VOLUME /config
# Add configuration and scripts # Add configuration and scripts
ADD piaconfig/config.ovpn /etc/openvpn/config.ovpn ADD piaconfig/config.ovpn /etc/openvpn/config.ovpn
ADD piaconfig/credentials.txt /etc/openvpn/credentials.txt
ADD piaconfig/ca.crt /etc/openvpn/ca.crt ADD piaconfig/ca.crt /etc/openvpn/ca.crt
ADD piaconfig/crl.pem /etc/openvpn/crl.pem ADD piaconfig/crl.pem /etc/openvpn/crl.pem
ADD runOpenVpn.sh /etc/openvpn/start.sh ADD runOpenVpn.sh /etc/openvpn/start.sh
ADD transmission/transmissionSettings.json /etc/transmission-daemon/settings.json ADD transmission/defaultSettings.json /etc/transmission-daemon/settings.json
ADD transmission/updateTransmissionPort.sh /etc/transmission-daemon/updatePort.sh ADD transmission/updateTransmissionPort.sh /etc/transmission-daemon/updatePort.sh
ADD transmission/periodicUpdates.sh /etc/transmission-daemon/periodicUpdates.sh ADD transmission/periodicUpdates.sh /etc/transmission-daemon/periodicUpdates.sh

View File

@ -9,7 +9,7 @@ persist-tun
ca /etc/openvpn/ca.crt ca /etc/openvpn/ca.crt
tls-client tls-client
remote-cert-tls server remote-cert-tls server
auth-user-pass /etc/openvpn/credentials.txt auth-user-pass /config/pia-credentials.txt
comp-lzo comp-lzo
verb 1 verb 1
reneg-sec 0 reneg-sec 0

View File

@ -1,2 +0,0 @@
your-pia-username
your-pia-password

View File

@ -1,2 +1,10 @@
#!/bin/sh #!/bin/sh
exec /usr/bin/transmission-daemon -f -g /etc/transmission-daemon/
if [ -f /config/transmission/settings.json ];
then
echo "STARTING TRANSMISSION: Using custom config directory /config/transmission"
exec /usr/bin/transmission-daemon -f -g /config/transmission/
else
echo "STARTING TRANSMISSION: No configuration provided, using defaults"
exec /usr/bin/transmission-daemon -f -g /etc/transmission-daemon/
fi

View File

@ -1,15 +1,25 @@
#/bin/bash #/bin/bash
# Settings # Settings
PIA_PASSWD_FILE=/etc/openvpn/credentials.txt PIA_PASSWD_FILE=/config/pia-credentials.txt
TRANSMISSION_PASSWD_FILE=/config/transmission-credentials.txt
username=$(head -1 $PIA_PASSWD_FILE) pia_username=$(head -1 $PIA_PASSWD_FILE)
passwd=$(tail -1 $PIA_PASSWD_FILE) pia_passwd=$(tail -1 $PIA_PASSWD_FILE)
transmission_username=$(head -1 $TRANSMISSION_PASSWD_FILE)
transmission_passwd=$(tail -1 $TRANSMISSION_PASSWD_FILE)
local_vpn_ip=$(ip addr show tun0 | grep inet | awk '{ print $2 }') local_vpn_ip=$(ip addr show tun0 | grep inet | awk '{ print $2 }')
pia_client_id_file=/etc/transmission-daemon/pia_client_id pia_client_id_file=/etc/transmission-daemon/pia_client_id
transmission_settings_file=/etc/transmission-daemon/settings.json transmission_settings_file=/etc/transmission-daemon/settings.json
port_assignment_url=https://www.privateinternetaccess.com/vpninfo/port_forward_assignment port_assignment_url=https://www.privateinternetaccess.com/vpninfo/port_forward_assignment
if [ -f /config/transmission/settings.json ];
then
transmission_settings_file=/config/transmission/settings.json
else
transmission_settings_file=/etc/transmission-daemon/settings.json
fi
# #
# First get a port from PIA # First get a port from PIA
# #
@ -25,7 +35,7 @@ if [[ -z "$pia_client_id" ]]; then
fi fi
# Get the port # Get the port
pia_response=$(curl -d "user=$username&pass=$passwd&client_id=$pia_client_id&local_ip=$local_vpn_ip" $port_assignment_url) pia_response=$(curl -d "user=$pia_username&pass=$pia_passwd&client_id=$pia_client_id&local_ip=$local_vpn_ip" $port_assignment_url)
new_port=$(echo $pia_response | grep -oE "[0-9]+") new_port=$(echo $pia_response | grep -oE "[0-9]+")
echo "Got new port $new_port from pia" echo "Got new port $new_port from pia"
@ -39,7 +49,7 @@ auth_enabled=$(grep 'rpc-authentication-required\"' $transmission_settings_file
if [[ "true" = "$auth_enabled" ]] if [[ "true" = "$auth_enabled" ]]
then then
echo "transmission auth required" echo "transmission auth required"
myauth="--auth username:password" myauth="--auth $transmission_username:$transmission_passwd"
else else
echo "transmission auth not required" echo "transmission auth not required"
myauth="" myauth=""