Skip to content

Commit

Permalink
Actual Budget Role (#404)
Browse files Browse the repository at this point in the history
* Create defaults

* Delete roles/actualbudget/defaults

* Create main.yml

* Create main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update sandbox.yml

* Update main.yml

Formatting / spacing

* Update main.yml

Formatting, blank line at end of file

* Update main.yml

Extra blank line

* Update main.yml

* Update main.yml

* Update main.yml

---------

Co-authored-by: Max Kowalski <13492750+maximuskowalski@users.noreply.github.com>
  • Loading branch information
Norin-Radd and maximuskowalski authored Dec 27, 2024
1 parent 93c2257 commit c1d99cb
Show file tree
Hide file tree
Showing 3 changed files with 175 additions and 0 deletions.
150 changes: 150 additions & 0 deletions roles/actualbudget/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
#########################################################################
# Title: Sandbox: Actual Budget #
# Author(s): blekbala #
# URL: https://github.com/saltyorg/Sandbox #
# -- #
#########################################################################
# GNU General Public License v3.0 #
#########################################################################
---
################################
# Basics
################################

actualbudget_name: actualbudget

################################
# Paths
################################

actualbudget_paths_folder: "{{ actualbudget_name }}"
actualbudget_paths_location: "{{ server_appdata_path }}/{{ actualbudget_paths_folder }}"
actualbudget_paths_folders_list:
- "{{ actualbudget_paths_location }}"
- "{{ actualbudget_paths_location }}:/server-files"
- "{{ actualbudget_paths_location }}:/user-files"

################################
# Web
################################

actualbudget_web_subdomain: "{{ actualbudget_name }}"
actualbudget_web_domain: "{{ user.domain }}"
actualbudget_web_port: "5006"
actualbudget_web_url: "{{ 'https://' + (actualbudget_web_subdomain + '.' + actualbudget_web_domain
if (actualbudget_web_subdomain | length > 0)
else actualbudget_web_domain) }}"

################################
# DNS
################################

actualbudget_dns_record: "{{ actualbudget_web_subdomain }}"
actualbudget_dns_zone: "{{ actualbudget_web_domain }}"
actualbudget_dns_proxy: "{{ dns.proxied }}"

################################
# Traefik
################################

actualbudget_traefik_sso_middleware: "{{ traefik_default_sso_middleware }}"
actualbudget_traefik_middleware_default: "{{ traefik_default_middleware }}"
actualbudget_traefik_certresolver: "{{ traefik_default_certresolver }}"
actualbudget_traefik_middleware_custom: ""
actualbudget_traefik_enabled: true
actualbudget_traefik_api_enabled: false
actualbudget_traefik_api_endpoint: ""

################################
# Docker
################################

# Container
actualbudget_docker_container: "{{ actualbudget_name }}"

# Image
actualbudget_docker_image_pull: true
actualbudget_docker_image_tag: "latest"
actualbudget_docker_image: "actualbudget/actual-server:{{ actualbudget_docker_image_tag }}"

# Ports
actualbudget_docker_ports_defaults:
- "{{ actualbudget_web_port }}"
actualbudget_docker_ports_custom: []
actualbudget_docker_ports: "{{ actualbudget_docker_ports_defaults
+ actualbudget_docker_ports_custom
if (not reverse_proxy_is_enabled)
else actualbudget_docker_ports_custom }}"

# Envs
actualbudget_docker_envs_default:
TZ: "{{ tz }}"
actualbudget_docker_envs_custom: {}
actualbudget_docker_envs: "{{ actualbudget_docker_envs_default
| combine(actualbudget_docker_envs_custom) }}"

# Commands
actualbudget_docker_commands_default: []
actualbudget_docker_commands_custom: []
actualbudget_docker_commands: "{{ actualbudget_docker_commands_default
+ actualbudget_docker_commands_custom }}"

# Volumes
actualbudget_docker_volumes_default:
- "{{ actualbudget_paths_location }}:/data"
- "/etc/localtime:/etc/localtime:ro"
actualbudget_docker_volumes_custom: []
actualbudget_docker_volumes: "{{ actualbudget_docker_volumes_default
+ actualbudget_docker_volumes_custom }}"

# Devices
actualbudget_docker_devices_default: []
actualbudget_docker_devices_custom: []
actualbudget_docker_devices: "{{ actualbudget_docker_devices_default
+ actualbudget_docker_devices_custom }}"

# Hosts
actualbudget_docker_hosts_default: []
actualbudget_docker_hosts_custom: []
actualbudget_docker_hosts: "{{ docker_hosts_common
| combine(actualbudget_docker_hosts_default)
| combine(actualbudget_docker_hosts_custom) }}"

# Labels
actualbudget_docker_labels_default: {}
actualbudget_docker_labels_custom: {}
actualbudget_docker_labels: "{{ docker_labels_common
| combine(actualbudget_docker_labels_default)
| combine(actualbudget_docker_labels_custom) }}"

# Hostname
actualbudget_docker_hostname: "{{ actualbudget_name }}"

# Networks
actualbudget_docker_networks_alias: "{{ actualbudget_name }}"
actualbudget_docker_networks_default: []
actualbudget_docker_networks_custom: []
actualbudget_docker_networks: "{{ docker_networks_common
+ actualbudget_docker_networks_default
+ actualbudget_docker_networks_custom }}"

# Capabilities
actualbudget_docker_capabilities_default: []
actualbudget_docker_capabilities_custom: []
actualbudget_docker_capabilities: "{{ actualbudget_docker_capabilities_default
+ actualbudget_docker_capabilities_custom }}"

# Security Opts
actualbudget_docker_security_opts_default: []
actualbudget_docker_security_opts_custom: []
actualbudget_docker_security_opts: "{{ actualbudget_docker_security_opts_default
+ actualbudget_docker_security_opts_custom }}"

# Restart Policy
actualbudget_docker_restart_policy: unless-stopped

# State
actualbudget_docker_state: started

# User
actualbudget_docker_user: "{{ uid }}:{{ gid }}"
24 changes: 24 additions & 0 deletions roles/actualbudget/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#########################################################################
# Title: Sandbox: Actual Budget #
# Author(s): blekbala #
# URL: https://github.com/saltyorg/Sandbox #
# -- #
#########################################################################
# GNU General Public License v3.0 #
#########################################################################
---
- name: Add DNS record
ansible.builtin.include_tasks: "{{ resources_tasks_path }}/dns/tasker.yml"
vars:
dns_record: "{{ lookup('vars', role_name + '_dns_record') }}"
dns_zone: "{{ lookup('vars', role_name + '_dns_zone') }}"
dns_proxy: "{{ lookup('vars', role_name + '_dns_proxy') }}"

- name: Remove existing Docker container
ansible.builtin.include_tasks: "{{ resources_tasks_path }}/docker/remove_docker_container.yml"

- name: Create directories
ansible.builtin.include_tasks: "{{ resources_tasks_path }}/directories/create_directories.yml"

- name: Create Docker container
ansible.builtin.include_tasks: "{{ resources_tasks_path }}/docker/create_docker_container.yml"
1 change: 1 addition & 0 deletions sandbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
- { role: sanity_check, tags: ['always', 'sanity-check'] }
# Apps Start
- { role: a_train, tags: ['a-train'] }
- { role: actualbudget, tags: ['actualbudget'] }
- { role: adguardhome, tags: ['adguardhome'] }
- { role: adminer, tags: ['adminer'] }
- { role: airdcpp, tags: ['airdcpp'] }
Expand Down

0 comments on commit c1d99cb

Please sign in to comment.