diff --git a/.env b/.env
new file mode 100644
index 0000000..8929eca
--- /dev/null
+++ b/.env
@@ -0,0 +1,10 @@
+UID=1000
+GID=1000
+DATA_PATH=d:\\source\\media\\data
+PORT=8096
+PORT_HOMARR=7575
+PORT_RADARR=7878
+PORT_SONARR=8989
+PORT_PROWLARR=9696
+PORT_FLOOD=9091
+OPENVPN_CONFIG=at86.nordvpn.com.tcp
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..adbb97d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+data/
\ No newline at end of file
diff --git a/docker-compose.yaml b/docker-compose.yaml
new file mode 100644
index 0000000..351706a
--- /dev/null
+++ b/docker-compose.yaml
@@ -0,0 +1,87 @@
+services:
+ homarr:
+ image: ghcr.io/ajnart/homarr:latest
+ restart: always
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock
+ - ${DATA_PATH}/homarr/configs:/app/data/configs
+ - ${DATA_PATH}/homarr/icons:/app/public/icons
+ - ${DATA_PATH}/homarr/data:/data
+ ports:
+ - ${PORT_HOMARR}:7575
+
+ transmission:
+ image: haugene/transmission-openvpn
+ restart: always
+ privileged: true
+ ports:
+ - "${PORT_FLOOD}:9091"
+ # https://haugene.github.io/docker-transmission-openvpn/config-options/
+ environment:
+ - OPENVPN_PROVIDER=custom
+ - OPENVPN_CONFIG=${OPENVPN_CONFIG}
+ - OPENVPN_USERNAME=Gkrn69ECaRQ7b9PG53kV3pvV # dummy
+ - OPENVPN_PASSWORD=bJuEcCF46GrmHbgQPSoYedZT
+ - LOCAL_NETWORK=192.168.0.0/16
+ - WEBPROXY_ENABLED=false
+ # - TRANSMISSION_WEB_UI=flood-for-transmission
+ volumes:
+ - ./vpn:/etc/openvpn/custom
+ - ${DATA_PATH}/downloads:/downloads
+ - /etc/localtime:/etc/localtime:ro
+ cap_add:
+ - NET_ADMIN
+
+ radarr:
+ image: linuxserver/radarr
+ restart: always
+ ports:
+ - '${PORT_RADARR}:7878'
+ environment:
+ - PGID=${GID}
+ - PUID=${UID}
+ volumes:
+ - ${DATA_PATH}/radarr:/config
+ - ${DATA_PATH}/movies:/movies
+ - ${DATA_PATH}/downloads:/downloads # transmission-openvpn
+ # - ${DATA_PATH}/downloads:/downloads # transmission non-openvpn
+
+ sonarr:
+ image: linuxserver/sonarr
+ restart: always
+ ports:
+ - '${PORT_SONARR}:8989'
+ environment:
+ - PGID=${GID}
+ - PUID=${UID}
+ volumes:
+ - ${DATA_PATH}/sonarr:/config
+ - ${DATA_PATH}/tv:/tv
+ - ${DATA_PATH}/downloads:/downloads # transmission-openvpn
+ # - ${DATA_PATH}/downloads:/downloads # transmission non-openvpn
+
+ prowlarr:
+ image: linuxserver/prowlarr
+ restart: always
+ ports:
+ - '${PORT_PROWLARR}:9696'
+ cap_add:
+ - NET_ADMIN
+ environment:
+ - PGID=${GID}
+ - PUID=${UID}
+ volumes:
+ - ${DATA_PATH}/prowlarr:/config
+ - ${DATA_PATH}/downloads/watch:/downloads # transmission watch directory
+ - /etc/localtime:/etc/localtime:ro
+ flaresolverr:
+ # DockerHub mirror flaresolverr/flaresolverr:latest
+ image: ghcr.io/flaresolverr/flaresolverr:latest
+ environment:
+ - LOG_LEVEL=${LOG_LEVEL:-info}
+ - LOG_HTML=${LOG_HTML:-false}
+ - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
+ - TZ=Europe/London
+ ports:
+ - "${PORT:-8191}:8191"
+ restart: unless-stopped
\ No newline at end of file
diff --git a/vpn/at86.nordvpn.com.tcp.ovpn b/vpn/at86.nordvpn.com.tcp.ovpn
new file mode 100644
index 0000000..ad315b8
--- /dev/null
+++ b/vpn/at86.nordvpn.com.tcp.ovpn
@@ -0,0 +1,84 @@
+client
+dev tun
+proto tcp
+remote 185.216.34.100 443
+remote-random
+nobind
+tun-mtu 1500
+tun-mtu-extra 32
+mssfix 1450
+persist-key
+persist-tun
+reneg-sec 0
+comp-lzo no
+verify-x509-name CN=at86.nordvpn.com
+
+remote-cert-tls server
+
+auth-user-pass /config/openvpn-credentials.txt
+pull
+fast-io
+cipher AES-256-CBC
+auth SHA512
+
+-----BEGIN CERTIFICATE-----
+MIIFCjCCAvKgAwIBAgIBATANBgkqhkiG9w0BAQ0FADA5MQswCQYDVQQGEwJQQTEQ
+MA4GA1UEChMHTm9yZFZQTjEYMBYGA1UEAxMPTm9yZFZQTiBSb290IENBMB4XDTE2
+MDEwMTAwMDAwMFoXDTM1MTIzMTIzNTk1OVowOTELMAkGA1UEBhMCUEExEDAOBgNV
+BAoTB05vcmRWUE4xGDAWBgNVBAMTD05vcmRWUE4gUm9vdCBDQTCCAiIwDQYJKoZI
+hvcNAQEBBQADggIPADCCAgoCggIBAMkr/BYhyo0F2upsIMXwC6QvkZps3NN2/eQF
+kfQIS1gql0aejsKsEnmY0Kaon8uZCTXPsRH1gQNgg5D2gixdd1mJUvV3dE3y9FJr
+XMoDkXdCGBodvKJyU6lcfEVF6/UxHcbBguZK9UtRHS9eJYm3rpL/5huQMCppX7kU
+eQ8dpCwd3iKITqwd1ZudDqsWaU0vqzC2H55IyaZ/5/TnCk31Q1UP6BksbbuRcwOV
+skEDsm6YoWDnn/IIzGOYnFJRzQH5jTz3j1QBvRIuQuBuvUkfhx1FEwhwZigrcxXu
+MP+QgM54kezgziJUaZcOM2zF3lvrwMvXDMfNeIoJABv9ljw969xQ8czQCU5lMVmA
+37ltv5Ec9U5hZuwk/9QO1Z+d/r6Jx0mlurS8gnCAKJgwa3kyZw6e4FZ8mYL4vpRR
+hPdvRTWCMJkeB4yBHyhxUmTRgJHm6YR3D6hcFAc9cQcTEl/I60tMdz33G6m0O42s
+Qt/+AR3YCY/RusWVBJB/qNS94EtNtj8iaebCQW1jHAhvGmFILVR9lzD0EzWKHkvy
+WEjmUVRgCDd6Ne3eFRNS73gdv/C3l5boYySeu4exkEYVxVRn8DhCxs0MnkMHWFK6
+MyzXCCn+JnWFDYPfDKHvpff/kLDobtPBf+Lbch5wQy9quY27xaj0XwLyjOltpiST
+LWae/Q4vAgMBAAGjHTAbMAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgEGMA0GCSqG
+SIb3DQEBDQUAA4ICAQC9fUL2sZPxIN2mD32VeNySTgZlCEdVmlq471o/bDMP4B8g
+nQesFRtXY2ZCjs50Jm73B2LViL9qlREmI6vE5IC8IsRBJSV4ce1WYxyXro5rmVg/
+k6a10rlsbK/eg//GHoJxDdXDOokLUSnxt7gk3QKpX6eCdh67p0PuWm/7WUJQxH2S
+DxsT9vB/iZriTIEe/ILoOQF0Aqp7AgNCcLcLAmbxXQkXYCCSB35Vp06u+eTWjG0/
+pyS5V14stGtw+fA0DJp5ZJV4eqJ5LqxMlYvEZ/qKTEdoCeaXv2QEmN6dVqjDoTAo
+k0t5u4YRXzEVCfXAC3ocplNdtCA72wjFJcSbfif4BSC8bDACTXtnPC7nD0VndZLp
++RiNLeiENhk0oTC+UVdSc+n2nJOzkCK0vYu0Ads4JGIB7g8IB3z2t9ICmsWrgnhd
+NdcOe15BincrGA8avQ1cWXsfIKEjbrnEuEk9b5jel6NfHtPKoHc9mDpRdNPISeVa
+wDBM1mJChneHt59Nh8Gah74+TM1jBsw4fhJPvoc7Atcg740JErb904mZfkIEmojC
+VPhBHVQ9LHBAdM8qFI2kRK0IynOmAZhexlP/aT/kpEsEPyaZQlnBn3An1CRz8h0S
+PApL8PytggYKeQmRhl499+6jLxcZ2IegLfqq41dzIjwHwTMplg+1pKIOVojpWA==
+-----END CERTIFICATE-----
+
+key-direction 1
+
+#
+# 2048 bit OpenVPN static key
+#
+-----BEGIN OpenVPN Static key V1-----
+e685bdaf659a25a200e2b9e39e51ff03
+0fc72cf1ce07232bd8b2be5e6c670143
+f51e937e670eee09d4f2ea5a6e4e6996
+5db852c275351b86fc4ca892d78ae002
+d6f70d029bd79c4d1c26cf14e9588033
+cf639f8a74809f29f72b9d58f9b8f5fe
+fc7938eade40e9fed6cb92184abb2cc1
+0eb1a296df243b251df0643d53724cdb
+5a92a1d6cb817804c4a9319b57d53be5
+80815bcfcb2df55018cc83fc43bc7ff8
+2d51f9b88364776ee9d12fc85cc7ea5b
+9741c4f598c485316db066d52db4540e
+212e1518a9bd4828219e24b20d88f598
+a196c9de96012090e333519ae18d3509
+9427e7b372d348d352dc4c85e18cd4b9
+3f8a56ddb2e64eb67adfc9b337157ff4
+-----END OpenVPN Static key V1-----
+
+inactive 3600
+ping 10
+ping-exit 60
+resolv-retry 15
+verb 3
+remap-usr1 SIGTERM
+; status success