fix: move ~/services to ~/.services
Signed-off-by: Menno van Leeuwen <menno@vleeuwen.me>
This commit is contained in:
@@ -10,7 +10,7 @@ sys.path.append(os.path.join(os.path.expanduser("~/.dotfiles"), "bin"))
|
||||
from helpers.functions import printfe, println, logo
|
||||
|
||||
# Base directory for Docker services $HOME/services
|
||||
SERVICES_DIR = os.path.join(os.path.expanduser("~"), "services")
|
||||
SERVICES_DIR = os.path.join(os.path.expanduser("~"), ".services")
|
||||
# Protected services that should never be stopped
|
||||
PROTECTED_SERVICES = ["juicefs-redis"]
|
||||
|
||||
|
@@ -3,7 +3,7 @@
|
||||
block:
|
||||
- name: Set ArrStack directories
|
||||
ansible.builtin.set_fact:
|
||||
arr_stack_service_dir: "{{ ansible_env.HOME }}/services/arr-stack"
|
||||
arr_stack_service_dir: "{{ ansible_env.HOME }}/.services/arr-stack"
|
||||
arr_stack_data_dir: "/mnt/services/arr-stack"
|
||||
|
||||
- name: Create ArrStack directory
|
||||
|
@@ -3,7 +3,7 @@
|
||||
block:
|
||||
- name: Set Beszel directories
|
||||
ansible.builtin.set_fact:
|
||||
beszel_service_dir: "{{ ansible_env.HOME }}/services/beszel"
|
||||
beszel_service_dir: "{{ ansible_env.HOME }}/.services/beszel"
|
||||
beszel_data_dir: "/mnt/services/beszel"
|
||||
|
||||
- name: Create Beszel directory
|
||||
|
@@ -94,10 +94,14 @@ home.mvl.sh {
|
||||
|
||||
home.vleeuwen.me {
|
||||
import country_block
|
||||
redir https://home.mvl.sh{uri}
|
||||
reverse_proxy host.docker.internal:8123 {
|
||||
header_up Host {upstream_hostport}
|
||||
header_up X-Real-IP {http.request.remote.host}
|
||||
}
|
||||
tls {{ caddy_email }}
|
||||
}
|
||||
|
||||
|
||||
unifi.mvl.sh {
|
||||
reverse_proxy unifi-controller:8443 {
|
||||
transport http {
|
||||
@@ -170,6 +174,21 @@ plex.vleeuwen.me {
|
||||
tls {{ caddy_email }}
|
||||
}
|
||||
|
||||
tautulli.mvl.sh {
|
||||
import country_block
|
||||
reverse_proxy host.docker.internal:8181 {
|
||||
header_up Host {upstream_hostport}
|
||||
header_up X-Real-IP {http.request.remote.host}
|
||||
}
|
||||
tls {{ caddy_email }}
|
||||
}
|
||||
|
||||
tautulli.vleeuwen.me {
|
||||
import country_block
|
||||
redir https://tautulli.mvl.sh{uri}
|
||||
tls {{ caddy_email }}
|
||||
}
|
||||
|
||||
drive.mvl.sh drive.vleeuwen.me {
|
||||
import country_block
|
||||
|
||||
|
@@ -1,59 +1,59 @@
|
||||
---
|
||||
- name: Deploy Caddy service
|
||||
block:
|
||||
- name: Set Caddy directories
|
||||
ansible.builtin.set_fact:
|
||||
caddy_service_dir: "{{ ansible_env.HOME }}/services/caddy"
|
||||
caddy_data_dir: "/mnt/services/caddy"
|
||||
geoip_db_path: "/mnt/services/echoip"
|
||||
caddy_email: "{{ lookup('community.general.onepassword', 'Caddy (Proxy)', vault='Dotfiles', field='email') }}"
|
||||
- name: Set Caddy directories
|
||||
ansible.builtin.set_fact:
|
||||
caddy_service_dir: "{{ ansible_env.HOME }}/.services/caddy"
|
||||
caddy_data_dir: "/mnt/services/caddy"
|
||||
geoip_db_path: "/mnt/services/echoip"
|
||||
caddy_email: "{{ lookup('community.general.onepassword', 'Caddy (Proxy)', vault='Dotfiles', field='email') }}"
|
||||
|
||||
- name: Create Caddy directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ caddy_service_dir }}"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
- name: Create Caddy directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ caddy_service_dir }}"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
|
||||
- name: Setup country blocking
|
||||
ansible.builtin.include_tasks: country-blocking.yml
|
||||
- name: Setup country blocking
|
||||
ansible.builtin.include_tasks: country-blocking.yml
|
||||
|
||||
- name: Copy Dockerfile for custom Caddy build
|
||||
ansible.builtin.copy:
|
||||
src: Dockerfile
|
||||
dest: "{{ caddy_service_dir }}/Dockerfile"
|
||||
mode: "0644"
|
||||
register: caddy_dockerfile
|
||||
- name: Copy Dockerfile for custom Caddy build
|
||||
ansible.builtin.copy:
|
||||
src: Dockerfile
|
||||
dest: "{{ caddy_service_dir }}/Dockerfile"
|
||||
mode: "0644"
|
||||
register: caddy_dockerfile
|
||||
|
||||
- name: Create Caddy network
|
||||
ansible.builtin.command: docker network create caddy_default
|
||||
register: create_caddy_network
|
||||
failed_when:
|
||||
- create_caddy_network.rc != 0
|
||||
- "'already exists' not in create_caddy_network.stderr"
|
||||
changed_when: create_caddy_network.rc == 0
|
||||
- name: Create Caddy network
|
||||
ansible.builtin.command: docker network create caddy_default
|
||||
register: create_caddy_network
|
||||
failed_when:
|
||||
- create_caddy_network.rc != 0
|
||||
- "'already exists' not in create_caddy_network.stderr"
|
||||
changed_when: create_caddy_network.rc == 0
|
||||
|
||||
- name: Deploy Caddy docker-compose.yml
|
||||
ansible.builtin.template:
|
||||
src: docker-compose.yml.j2
|
||||
dest: "{{ caddy_service_dir }}/docker-compose.yml"
|
||||
mode: "0644"
|
||||
register: caddy_compose
|
||||
- name: Deploy Caddy docker-compose.yml
|
||||
ansible.builtin.template:
|
||||
src: docker-compose.yml.j2
|
||||
dest: "{{ caddy_service_dir }}/docker-compose.yml"
|
||||
mode: "0644"
|
||||
register: caddy_compose
|
||||
|
||||
- name: Deploy Caddy Caddyfile
|
||||
ansible.builtin.template:
|
||||
src: Caddyfile.j2
|
||||
dest: "{{ caddy_service_dir }}/Caddyfile"
|
||||
mode: "0644"
|
||||
register: caddy_file
|
||||
- name: Deploy Caddy Caddyfile
|
||||
ansible.builtin.template:
|
||||
src: Caddyfile.j2
|
||||
dest: "{{ caddy_service_dir }}/Caddyfile"
|
||||
mode: "0644"
|
||||
register: caddy_file
|
||||
|
||||
- name: Stop Caddy service
|
||||
ansible.builtin.command: docker compose -f "{{ caddy_service_dir }}/docker-compose.yml" down --remove-orphans
|
||||
when: caddy_compose.changed or caddy_file.changed
|
||||
- name: Stop Caddy service
|
||||
ansible.builtin.command: docker compose -f "{{ caddy_service_dir }}/docker-compose.yml" down --remove-orphans
|
||||
when: caddy_compose.changed or caddy_file.changed
|
||||
|
||||
- name: Start Caddy service
|
||||
ansible.builtin.command: docker compose -f "{{ caddy_service_dir }}/docker-compose.yml" up -d
|
||||
when: caddy_compose.changed or caddy_file.changed
|
||||
- name: Start Caddy service
|
||||
ansible.builtin.command: docker compose -f "{{ caddy_service_dir }}/docker-compose.yml" up -d
|
||||
when: caddy_compose.changed or caddy_file.changed
|
||||
tags:
|
||||
- caddy
|
||||
- services
|
||||
- reverse-proxy
|
||||
- caddy
|
||||
- services
|
||||
- reverse-proxy
|
||||
|
@@ -4,7 +4,7 @@
|
||||
- name: Set Downloaders directories
|
||||
ansible.builtin.set_fact:
|
||||
local_data_dir: "/mnt/data"
|
||||
downloaders_service_dir: "{{ ansible_env.HOME }}/services/downloaders"
|
||||
downloaders_service_dir: "{{ ansible_env.HOME }}/.services/downloaders"
|
||||
downloaders_data_dir: "/mnt/services/downloaders"
|
||||
|
||||
- name: Create Downloaders directory
|
||||
|
@@ -3,7 +3,7 @@
|
||||
block:
|
||||
- name: Set Dozzle directories
|
||||
ansible.builtin.set_fact:
|
||||
dozzle_service_dir: "{{ ansible_env.HOME }}/services/dozzle"
|
||||
dozzle_service_dir: "{{ ansible_env.HOME }}/.services/dozzle"
|
||||
dozzle_data_dir: "/mnt/services/dozzle"
|
||||
|
||||
- name: Create Dozzle directory
|
||||
|
@@ -3,11 +3,13 @@
|
||||
block:
|
||||
- name: Set EchoIP directories
|
||||
ansible.builtin.set_fact:
|
||||
echoip_service_dir: "{{ ansible_env.HOME }}/services/echoip"
|
||||
echoip_service_dir: "{{ ansible_env.HOME }}/.services/echoip"
|
||||
echoip_data_dir: "/mnt/services/echoip"
|
||||
maxmind_account_id: "{{ lookup('community.general.onepassword', 'MaxMind',
|
||||
maxmind_account_id:
|
||||
"{{ lookup('community.general.onepassword', 'MaxMind',
|
||||
vault='Dotfiles', field='account_id') | regex_replace('\\s+', '') }}"
|
||||
maxmind_license_key: "{{ lookup('community.general.onepassword', 'MaxMind',
|
||||
maxmind_license_key:
|
||||
"{{ lookup('community.general.onepassword', 'MaxMind',
|
||||
vault='Dotfiles', field='license_key') | regex_replace('\\s+', '') }}"
|
||||
|
||||
# Requires: gather_facts: true in playbook
|
||||
|
@@ -3,7 +3,7 @@
|
||||
block:
|
||||
- name: Set Factorio directories
|
||||
ansible.builtin.set_fact:
|
||||
factorio_service_dir: "{{ ansible_env.HOME }}/services/factorio"
|
||||
factorio_service_dir: "{{ ansible_env.HOME }}/.services/factorio"
|
||||
factorio_data_dir: "/mnt/services/factorio"
|
||||
|
||||
- name: Create Factorio directory
|
||||
|
@@ -4,7 +4,7 @@
|
||||
- name: Set Gitea directories
|
||||
ansible.builtin.set_fact:
|
||||
gitea_data_dir: "/mnt/services/gitea"
|
||||
gitea_service_dir: "{{ ansible_env.HOME }}/services/gitea"
|
||||
gitea_service_dir: "{{ ansible_env.HOME }}/.services/gitea"
|
||||
|
||||
- name: Create Gitea directories
|
||||
ansible.builtin.file:
|
||||
|
@@ -4,7 +4,7 @@
|
||||
- name: Set GoLink directories
|
||||
ansible.builtin.set_fact:
|
||||
golink_data_dir: "/mnt/services/golink"
|
||||
golink_service_dir: "{{ ansible_env.HOME }}/services/golink"
|
||||
golink_service_dir: "{{ ansible_env.HOME }}/.services/golink"
|
||||
|
||||
- name: Create GoLink directories
|
||||
ansible.builtin.file:
|
||||
|
@@ -4,7 +4,7 @@
|
||||
- name: Set Home Assistant directories
|
||||
ansible.builtin.set_fact:
|
||||
homeassistant_data_dir: "/mnt/services/homeassistant"
|
||||
homeassistant_service_dir: "{{ ansible_env.HOME }}/services/homeassistant"
|
||||
homeassistant_service_dir: "{{ ansible_env.HOME }}/.services/homeassistant"
|
||||
|
||||
- name: Create Home Assistant directories
|
||||
ansible.builtin.file:
|
||||
|
@@ -5,7 +5,7 @@
|
||||
ansible.builtin.set_fact:
|
||||
immich_data_dir: "/mnt/data/photos/immich-library"
|
||||
immich_database_dir: "/mnt/services/immich/postgres"
|
||||
immich_service_dir: "{{ ansible_env.HOME }}/services/immich"
|
||||
immich_service_dir: "{{ ansible_env.HOME }}/.services/immich"
|
||||
|
||||
- name: Create Immich directories
|
||||
ansible.builtin.file:
|
||||
|
@@ -3,7 +3,7 @@
|
||||
block:
|
||||
- name: Set Nextcloud directories
|
||||
ansible.builtin.set_fact:
|
||||
nextcloud_service_dir: "{{ ansible_env.HOME }}/services/nextcloud"
|
||||
nextcloud_service_dir: "{{ ansible_env.HOME }}/.services/nextcloud"
|
||||
nextcloud_data_dir: "/mnt/services/nextcloud"
|
||||
|
||||
- name: Create Nextcloud directory
|
||||
|
@@ -4,7 +4,7 @@
|
||||
- name: Set Plex directories
|
||||
ansible.builtin.set_fact:
|
||||
plex_data_dir: "/mnt/services/plex"
|
||||
plex_service_dir: "{{ ansible_env.HOME }}/services/plex"
|
||||
plex_service_dir: "{{ ansible_env.HOME }}/.services/plex"
|
||||
|
||||
- name: Create Plex directories
|
||||
ansible.builtin.file:
|
||||
|
@@ -4,7 +4,7 @@
|
||||
- name: Set PrivateBin directories
|
||||
ansible.builtin.set_fact:
|
||||
privatebin_data_dir: "/mnt/services/privatebin"
|
||||
privatebin_service_dir: "{{ ansible_env.HOME }}/services/privatebin"
|
||||
privatebin_service_dir: "{{ ansible_env.HOME }}/.services/privatebin"
|
||||
|
||||
- name: Create PrivateBin directories
|
||||
ansible.builtin.file:
|
||||
|
@@ -3,7 +3,7 @@
|
||||
block:
|
||||
- name: Set Redis facts
|
||||
ansible.builtin.set_fact:
|
||||
redis_service_dir: "{{ ansible_env.HOME }}/services/juicefs-redis"
|
||||
redis_service_dir: "{{ ansible_env.HOME }}/.services/juicefs-redis"
|
||||
redis_password: "{{ lookup('community.general.onepassword', 'JuiceFS (Redis)', vault='Dotfiles', field='password') }}"
|
||||
|
||||
- name: Create Redis service directory
|
||||
@@ -76,5 +76,5 @@
|
||||
changed_when: docker_restart.rc == 0
|
||||
when: redis_compose.changed
|
||||
tags:
|
||||
- services
|
||||
- redis
|
||||
- services
|
||||
- redis
|
||||
|
@@ -7,7 +7,7 @@
|
||||
|
||||
- name: Check service directories existence for disabled services
|
||||
ansible.builtin.stat:
|
||||
path: "{{ ansible_env.HOME }}/services/{{ item.name }}"
|
||||
path: "{{ ansible_env.HOME }}/.services/{{ item.name }}"
|
||||
register: service_dir_results
|
||||
loop: "{{ services_to_cleanup }}"
|
||||
loop_control:
|
||||
@@ -19,14 +19,14 @@
|
||||
|
||||
- name: Check if docker-compose file exists for services to cleanup
|
||||
ansible.builtin.stat:
|
||||
path: "{{ ansible_env.HOME }}/services/{{ item.name }}/docker-compose.yml"
|
||||
path: "{{ ansible_env.HOME }}/.services/{{ item.name }}/docker-compose.yml"
|
||||
register: compose_file_results
|
||||
loop: "{{ services_with_dirs }}"
|
||||
loop_control:
|
||||
label: "{{ item.name }}"
|
||||
|
||||
- name: Stop disabled services with docker-compose files
|
||||
ansible.builtin.command: docker compose -f "{{ ansible_env.HOME }}/services/{{ item.item.name }}/docker-compose.yml" down --remove-orphans
|
||||
ansible.builtin.command: docker compose -f "{{ ansible_env.HOME }}/.services/{{ item.item.name }}/docker-compose.yml" down --remove-orphans
|
||||
loop: "{{ compose_file_results.results | selectattr('stat.exists', 'equalto', true) }}"
|
||||
loop_control:
|
||||
label: "{{ item.item.name }}"
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
- name: Remove service directories for disabled services
|
||||
ansible.builtin.file:
|
||||
path: "{{ ansible_env.HOME }}/services/{{ item.name }}"
|
||||
path: "{{ ansible_env.HOME }}/.services/{{ item.name }}"
|
||||
state: absent
|
||||
loop: "{{ services_with_dirs }}"
|
||||
loop_control:
|
||||
|
@@ -3,9 +3,9 @@
|
||||
block:
|
||||
- name: Set Stash directories
|
||||
ansible.builtin.set_fact:
|
||||
stash_data_dir: '/mnt/data/stash'
|
||||
stash_config_dir: '/mnt/services/stash'
|
||||
stash_service_dir: "{{ ansible_env.HOME }}/services/stash"
|
||||
stash_data_dir: "/mnt/data/stash"
|
||||
stash_config_dir: "/mnt/services/stash"
|
||||
stash_service_dir: "{{ ansible_env.HOME }}/.services/stash"
|
||||
|
||||
- name: Create Stash directories
|
||||
ansible.builtin.file:
|
||||
|
@@ -4,7 +4,7 @@
|
||||
- name: Set Tautulli directories
|
||||
ansible.builtin.set_fact:
|
||||
tautulli_data_dir: "{{ '/mnt/services/tautulli' }}"
|
||||
tautulli_service_dir: "{{ ansible_env.HOME }}/services/tautulli"
|
||||
tautulli_service_dir: "{{ ansible_env.HOME }}/.services/tautulli"
|
||||
|
||||
- name: Create Tautulli directories
|
||||
ansible.builtin.file:
|
||||
|
@@ -4,7 +4,7 @@
|
||||
- name: Set Unifi Network App directories
|
||||
ansible.builtin.set_fact:
|
||||
unifi_network_application_data_dir: "/mnt/services/unifi_network_application"
|
||||
unifi_network_application_service_dir: "{{ ansible_env.HOME }}/services/unifi_network_application"
|
||||
unifi_network_application_service_dir: "{{ ansible_env.HOME }}/.services/unifi_network_application"
|
||||
|
||||
- name: Create Unifi Network App directories
|
||||
ansible.builtin.file:
|
||||
|
@@ -3,7 +3,7 @@
|
||||
block:
|
||||
- name: Set WireGuard directories
|
||||
ansible.builtin.set_fact:
|
||||
wireguard_service_dir: "{{ ansible_env.HOME }}/services/wireguard"
|
||||
wireguard_service_dir: "{{ ansible_env.HOME }}/.services/wireguard"
|
||||
wireguard_data_dir: "/mnt/services/wireguard"
|
||||
|
||||
- name: Create WireGuard directory
|
||||
|
Reference in New Issue
Block a user