feat(edge_vps): add Pangolin setup task and templates
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -0,0 +1 @@
|
||||
.worktrees/
|
||||
|
||||
24
roles/edge_vps/tasks/40_pangolin.yaml
Normal file
24
roles/edge_vps/tasks/40_pangolin.yaml
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
- name: Deploy Pangolin config
|
||||
ansible.builtin.template:
|
||||
src: pangolin/config.yml.j2
|
||||
dest: "{{ edge_vps_pangolin_config_dir }}/config.yml"
|
||||
mode: "0644"
|
||||
notify: restart pangolin
|
||||
|
||||
- name: Deploy Pangolin docker-compose
|
||||
ansible.builtin.template:
|
||||
src: pangolin/docker-compose.yml.j2
|
||||
dest: "{{ edge_vps_pangolin_config_dir }}/docker-compose.yml"
|
||||
mode: "0644"
|
||||
|
||||
- name: Create letsencrypt directory for Pangolin
|
||||
ansible.builtin.file:
|
||||
path: "{{ edge_vps_pangolin_config_dir }}/letsencrypt"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
|
||||
- name: Start Pangolin
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ edge_vps_pangolin_config_dir }}"
|
||||
state: present
|
||||
28
roles/edge_vps/templates/pangolin/config.yml.j2
Normal file
28
roles/edge_vps/templates/pangolin/config.yml.j2
Normal file
@@ -0,0 +1,28 @@
|
||||
gerbil:
|
||||
start_port: 51820
|
||||
base_endpoint: "{{ edge_vps_pangolin_base_endpoint }}"
|
||||
|
||||
app:
|
||||
dashboard_url: "{{ edge_vps_pangolin_dashboard_url }}"
|
||||
log_level: "info"
|
||||
telemetry:
|
||||
anonymous_usage: true
|
||||
|
||||
domains:
|
||||
domain1:
|
||||
base_domain: "{{ edge_vps_pangolin_base_domain }}"
|
||||
|
||||
server:
|
||||
secret: "{{ vault_edge_vps.pangolin.server_secret }}"
|
||||
cors:
|
||||
origins: ["{{ edge_vps_pangolin_dashboard_url }}"]
|
||||
methods: ["GET", "POST", "PUT", "DELETE", "PATCH"]
|
||||
allowed_headers: ["X-CSRF-Token", "Content-Type"]
|
||||
credentials: false
|
||||
maxmind_db_path: "./config/GeoLite2-Country.mmdb"
|
||||
|
||||
flags:
|
||||
require_email_verification: false
|
||||
disable_signup_without_invite: true
|
||||
disable_user_create_org: false
|
||||
allow_raw_resources: true
|
||||
25
roles/edge_vps/templates/pangolin/docker-compose.yml.j2
Normal file
25
roles/edge_vps/templates/pangolin/docker-compose.yml.j2
Normal file
@@ -0,0 +1,25 @@
|
||||
services:
|
||||
pangolin:
|
||||
image: fosrl/pangolin:latest
|
||||
container_name: pangolin
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3001:3001"
|
||||
- "443:443"
|
||||
- "80:80"
|
||||
volumes:
|
||||
- ./config.yml:/app/config/config.yml:ro
|
||||
- ./letsencrypt:/letsencrypt
|
||||
depends_on:
|
||||
- gerbil
|
||||
|
||||
gerbil:
|
||||
image: fosrl/gerbil:latest
|
||||
container_name: gerbil
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- SYS_MODULE
|
||||
volumes:
|
||||
- /lib/modules:/lib/modules
|
||||
Reference in New Issue
Block a user