Added gluetun role
This commit is contained in:
8
ansible/roles/gluetun/vars/main.yml
Normal file
8
ansible/roles/gluetun/vars/main.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
wireguard_private_key: !vault |
|
||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
62616131323464616463333937343464626530313632376239316433666139383333653561363761
|
||||||
|
3738643265356437636233326364373832353263653961380a646362353962383939626430383831
|
||||||
|
37333138616635643961303164356137653461333964386163306237323031656164656430373138
|
||||||
|
3964636266646266390a336133633931336662663831643134303935363730616365373139613631
|
||||||
|
64306332313632303935633661313137663366353130656437343336383136623335613961373033
|
||||||
|
3031646661323438333261353634623863616330306365663133
|
21
ansible/roles/gluetun/vars/tasks/main.yml
Normal file
21
ansible/roles/gluetun/vars/tasks/main.yml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
- name: Create install directory
|
||||||
|
file:
|
||||||
|
path: "{{ install_directory }}/{{ role_name }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ docker_user }}"
|
||||||
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Copy docker-compose file to destination
|
||||||
|
template:
|
||||||
|
src: docker-compose.yml
|
||||||
|
dest: "{{ install_directory }}/{{ role_name }}/docker-compose.yml"
|
||||||
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
|
validate: docker-compose -f %s config
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Start docker container
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: "{{ install_directory }}/{{ role_name }}"
|
||||||
|
pull: true
|
||||||
|
remove_orphans: yes
|
31
ansible/roles/gluetun/vars/templates/docker-compose.yml
Normal file
31
ansible/roles/gluetun/vars/templates/docker-compose.yml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
traefik:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
services:
|
||||||
|
gluetun:
|
||||||
|
container_name: gluetun
|
||||||
|
image: qmcgaw/gluetun
|
||||||
|
restart: unless-stopped
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
||||||
|
networks:
|
||||||
|
- traefik
|
||||||
|
ports:
|
||||||
|
- 8888:8888 # HTTP Proxy
|
||||||
|
devices:
|
||||||
|
- /dev/net/tun:/dev/net/tun
|
||||||
|
environment:
|
||||||
|
VPN_TYPE: wireguard
|
||||||
|
VPN_SERVICE_PROVIDER: mullvad
|
||||||
|
WIREGUARD_PRIVATE_KEY: "{{ wireguard_private_key }}"
|
||||||
|
WIREGUARD_ADDRESSES: 10.65.71.171/32
|
||||||
|
SERVER_CITIES: Ashburn VA
|
||||||
|
DOT: "off"
|
||||||
|
DNS_ADRESS: 10.64.0.1
|
||||||
|
TZ: "{{ timezone }}"
|
||||||
|
HTTPPROXY: "on"
|
||||||
|
HTTPPROXY_USER: httpproxy
|
||||||
|
HTTPPROXY_PASSWORD: httpproxy
|
@@ -0,0 +1,42 @@
|
|||||||
|
- name: Create docker network for Traefik
|
||||||
|
community.docker.docker_network:
|
||||||
|
name: traefik
|
||||||
|
|
||||||
|
- name: Create install directory
|
||||||
|
file:
|
||||||
|
path: "{{ install_directory }}/traefik"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ docker_user }}"
|
||||||
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Copy docker-compose file to destination
|
||||||
|
template:
|
||||||
|
src: docker-compose.yml
|
||||||
|
dest: "{{ install_directory}}/traefik/docker-compose.yml"
|
||||||
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
|
validate: docker-compose -f %s config
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Start docker container
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: "{{ install_directory }}/traefik"
|
||||||
|
pull: true
|
||||||
|
remove_orphans: yes
|
||||||
|
|
||||||
|
- name: Install config
|
||||||
|
template:
|
||||||
|
src: traefik.yml
|
||||||
|
dest: "{{ data_dir }}/traefik/traefik.yml"
|
||||||
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
|
owner: "{{ primary_user }}"
|
||||||
|
notify: restart traefik
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Create file provider directory
|
||||||
|
file:
|
||||||
|
path: "{{ data_dir }}/traefik/conf"
|
||||||
|
state: directory
|
||||||
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
|
owner: "{{ primary_user }}"
|
||||||
|
become: true
|
||||||
|
Reference in New Issue
Block a user