Updated README
- Fixed ARM instructions - More collapsibles - Added all-in-one docker-compose example from issue 21
This commit is contained in:
80
README.md
80
README.md
@@ -54,13 +54,16 @@
|
|||||||
|
|
||||||
- A Private Internet Access **username** and **password** - [Sign up](https://www.privateinternetaccess.com/pages/buy-vpn/)
|
- A Private Internet Access **username** and **password** - [Sign up](https://www.privateinternetaccess.com/pages/buy-vpn/)
|
||||||
- [Docker](https://docs.docker.com/install/) installed on the host
|
- [Docker](https://docs.docker.com/install/) installed on the host
|
||||||
- If you use a strict firewall on the host/router:
|
- <details><summary>Click to show firewall requirements</summary><p>
|
||||||
|
|
||||||
- Allow outbound TCP 853 to 1.1.1.1 to allow Unbound to resolve the PIA domain name at start. You can then block it once the container is started.
|
- Allow outbound TCP 853 to 1.1.1.1 to allow Unbound to resolve the PIA domain name at start. You can then block it once the container is started.
|
||||||
- For UDP strong encryption, allow outbound UDP 1197
|
- For UDP strong encryption, allow outbound UDP 1197
|
||||||
- For UDP normal encryption, allow outbound UDP 1198
|
- For UDP normal encryption, allow outbound UDP 1198
|
||||||
- For TCP strong encryption, allow outbound TCP 501
|
- For TCP strong encryption, allow outbound TCP 501
|
||||||
- For TCP normal encryption, allow outbound TCP 502
|
- For TCP normal encryption, allow outbound TCP 502
|
||||||
|
|
||||||
|
</p></details>
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
1. Make sure you have your `/dev/net/tun` device setup on your host with one of the following commands, depending on your OS:
|
1. Make sure you have your `/dev/net/tun` device setup on your host with one of the following commands, depending on your OS:
|
||||||
@@ -75,7 +78,33 @@
|
|||||||
modprobe tun
|
modprobe tun
|
||||||
```
|
```
|
||||||
|
|
||||||
1. **IF YOU HAVE AN ARM DEVICE**, follow the steps in the [ARM devices section](#arm-devices)
|
1. <details><summary>CLICK IF YOU HAVE AN ARM DEVICE</summary><p>
|
||||||
|
|
||||||
|
- If you have a ARM 32 bit v6 architecture
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker build -t qmcgaw/ddns-updater \
|
||||||
|
--build-arg BASE_IMAGE=arm32v6/alpine \
|
||||||
|
https://github.com/qdm12/private-internet-access-docker.git
|
||||||
|
```
|
||||||
|
|
||||||
|
- If you have a ARM 32 bit v7 architecture
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker build -t qmcgaw/ddns-updater \
|
||||||
|
--build-arg BASE_IMAGE=arm32v7/alpine \
|
||||||
|
https://github.com/qdm12/private-internet-access-docker.git
|
||||||
|
```
|
||||||
|
|
||||||
|
- If you have a ARM 64 bit v8 architecture
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker build -t qmcgaw/ddns-updater \
|
||||||
|
--build-arg BASE_IMAGE=arm64v8/alpine \
|
||||||
|
https://github.com/qdm12/private-internet-access-docker.git
|
||||||
|
```
|
||||||
|
|
||||||
|
</p></details>
|
||||||
|
|
||||||
1. Launch the container with:
|
1. Launch the container with:
|
||||||
|
|
||||||
@@ -97,7 +126,7 @@
|
|||||||
1. Wait about 5 seconds for it to connect to the PIA server. You can check with:
|
1. Wait about 5 seconds for it to connect to the PIA server. You can check with:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker logs -f pia
|
docker logs pia
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Follow the [**Testing section**](#testing)
|
1. Follow the [**Testing section**](#testing)
|
||||||
@@ -234,29 +263,34 @@ services:
|
|||||||
|
|
||||||
#### All in one docker-compose
|
#### All in one docker-compose
|
||||||
|
|
||||||
To be written, see [issue 21](https://github.com/qdm12/private-internet-access-docker/issues/21)
|
According to [issue 21](https://github.com/qdm12/private-internet-access-docker/issues/21), this should do:
|
||||||
|
|
||||||
## ARM devices
|
```yml
|
||||||
|
version: '3'
|
||||||
- If your architecture is ARMHF (32 bit), run this on your ARM device:
|
services:
|
||||||
|
pia:
|
||||||
```sh
|
image: qmcgaw/private-internet-access
|
||||||
docker build -t qmcgaw/private-internet-access \
|
container_name: pia
|
||||||
--build-arg BASE_IMAGE=arm32v6/alpine \
|
cap_add:
|
||||||
https://github.com/qdm12/private-internet-access-docker.git
|
- NET_ADMIN
|
||||||
```
|
devices:
|
||||||
|
- /dev/net/tun
|
||||||
- If your architecture is AARCH64 (64 bit), run this on your ARM device:
|
environment:
|
||||||
|
- USER=
|
||||||
```sh
|
- PASSWORD=
|
||||||
docker build -t qmcgaw/private-internet-access \
|
- REGION=
|
||||||
--build-arg BASE_IMAGE=arm64v8/alpine \
|
deluge:
|
||||||
https://github.com/qdm12/private-internet-access-docker.git
|
image: linuxserver/deluge
|
||||||
```
|
container_name: deluge
|
||||||
|
network_mode: "service:pia"
|
||||||
|
depends_on:
|
||||||
|
- pia
|
||||||
|
# add more volumes etc.
|
||||||
|
```
|
||||||
|
|
||||||
## For the paranoids
|
## For the paranoids
|
||||||
|
|
||||||
- You can review the code which essential consits in the [Dockerfile](https://github.com/qdm12/private-internet-access-docker/blob/master/Dockerfile) and [entrypoint.sh](https://github.com/qdm12/private-internet-access-docker/blob/master/entrypoint.sh)
|
- You can review the code which essential consists in the [Dockerfile](https://github.com/qdm12/private-internet-access-docker/blob/master/Dockerfile) and [entrypoint.sh](https://github.com/qdm12/private-internet-access-docker/blob/master/entrypoint.sh)
|
||||||
- Build the images yourself:
|
- Build the images yourself:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -271,8 +305,8 @@ To be written, see [issue 21](https://github.com/qdm12/private-internet-access-d
|
|||||||
## TODOs
|
## TODOs
|
||||||
|
|
||||||
- [ ] SOCKS/HTTP proxy or VPN server for LAN devices to use the container
|
- [ ] SOCKS/HTTP proxy or VPN server for LAN devices to use the container
|
||||||
- [ ] Nginx scratch
|
|
||||||
- [ ] Port forwarding
|
- [ ] Port forwarding
|
||||||
|
- [ ] Nginx scratch
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user