From c0d1ea0decf07b6545179531d010c97544a5133f Mon Sep 17 00:00:00 2001 From: Aine Date: Mon, 9 Oct 2023 21:37:48 +0300 Subject: [PATCH] add echoip role --- docs/services/echoip.md | 41 ++++++++++++++++++++++++++++++++++++++ docs/supported-services.md | 1 + group_vars/mash_servers | 40 +++++++++++++++++++++++++++++++++++++ releases.opml | 1 + requirements.yml | 3 +++ setup.yml | 2 ++ 6 files changed, 88 insertions(+) create mode 100644 docs/services/echoip.md diff --git a/docs/services/echoip.md b/docs/services/echoip.md new file mode 100644 index 0000000..291cdbd --- /dev/null +++ b/docs/services/echoip.md @@ -0,0 +1,41 @@ +# EchoIP + +[EchoIP](https://github.com/mpolden/echoip) is simple service for looking up your IP address, powers the [ifconfig.co](https://ifconfig.co) + +## Dependencies + +This service requires the following other services: + +- a [Traefik](traefik.md) reverse-proxy server + + +## Configuration + +To enable this service, add the following configuration to your `vars.yml` file and re-run the [installation](../installing.md) process: + +```yaml +######################################################################## +# # +# echoip # +# # +######################################################################## + +echoip_enabled: true + +echoip_hostname: echoip.example.com + +######################################################################## +# # +# /echoip # +# # +######################################################################## +``` + +In the example configuration above, we configure the service to be hosted at `https://echoip.example.com`. + + +## Usage + +```bash +curl https://echoip.example.com +``` diff --git a/docs/supported-services.md b/docs/supported-services.md index ec74aa4..005cf34 100644 --- a/docs/supported-services.md +++ b/docs/supported-services.md @@ -15,6 +15,7 @@ | [Docker Registry](https://docs.docker.com/registry/) | A container image distribution registry | [Link](services/docker-registry.md) | | [Docker Registry Browser](https://github.com/klausmeyer/docker-registry-browser) | Web Interface for the Docker Registry HTTP API V2 written in Ruby on Rails | [Link](services/docker-registry-browser.md) | | [Docker Registry Purger](https://github.com/devture/docker-registry-purger) | A small tool used for purging a private Docker Registry's old tags | [Link](services/docker-registry-purger.md) | +| [Echo IP](https://github.com/mpolden/echoip) | A simple service for looking up your IP address | [Link](services/echoip.md) | | [Focalboard](https://www.focalboard.com/) | An open source, self-hosted alternative to [Trello](https://trello.com/), [Notion](https://www.notion.so/), and [Asana](https://asana.com/). | [Link](services/focalboard.md) | | [Firezone](https://www.firezone.dev/) | A self-hosted VPN server (based on [WireGuard](https://www.wireguard.com/)) with a Web UI | [Link](services/firezone.md) | | [Funkwhale](https://funkwhale.audio/) | Listen and share music with a selfhosted streaming server.| [Link](services/funkwhale.md) | diff --git a/group_vars/mash_servers b/group_vars/mash_servers index b04e674..b28e2de 100644 --- a/group_vars/mash_servers +++ b/group_vars/mash_servers @@ -158,6 +158,8 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': (docker_registry_purger_identifier + '.timer'), 'priority': 3000, 'groups': ['mash', 'docker-registry-purger']}] if docker_registry_purger_enabled else []) + + ([{'name': (echoip_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'echoip']}] if echoip_enabled else []) + + ([{'name': (firezone_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'firezone']}] if firezone_enabled else []) + ([{'name': (focalboard_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'focalboard']}] if focalboard_enabled else []) @@ -987,6 +989,44 @@ docker_registry_purger_gid: "{{ mash_playbook_gid }}" +######################################################################## +# # +# echoip # +# # +######################################################################## + +echoip_enabled: false + +echoip_identifier: "{{ mash_playbook_service_identifier_prefix }}echoip" + +echoip_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}echoip" + +echoip_uid: "{{ mash_playbook_uid }}" +echoip_gid: "{{ mash_playbook_gid }}" + +echoip_systemd_required_services_list: | + {{ + (['docker.service']) + }} + +echoip_container_additional_networks: | + {{ + ([mash_playbook_reverse_proxyable_services_additional_network] if mash_playbook_reverse_proxyable_services_additional_network else []) + }} + +echoip_container_labels_traefik_enabled: "{{ mash_playbook_traefik_labels_enabled }}" +echoip_container_labels_traefik_docker_network: "{{ mash_playbook_reverse_proxyable_services_additional_network }}" +echoip_container_labels_traefik_entrypoints: "{{ devture_traefik_entrypoint_primary }}" +echoip_container_labels_traefik_tls_certResolver: "{{ devture_traefik_certResolver_primary }}" + +######################################################################## +# # +# /echoip # +# # +######################################################################## + + + ######################################################################## # # # firezone # diff --git a/releases.opml b/releases.opml index d41685a..171a49a 100644 --- a/releases.opml +++ b/releases.opml @@ -17,6 +17,7 @@ + diff --git a/requirements.yml b/requirements.yml index 4b9a226..19f30ec 100644 --- a/requirements.yml +++ b/requirements.yml @@ -61,6 +61,9 @@ - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-docker-registry-purger.git version: v1.0.0-0 name: docker_registry_purger +- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-echoip.git + version: v0.0.0-0 + name: echoip - src: git+https://gitlab.com/etke.cc/roles/fail2ban.git version: 09886730e8d3c061f22d1da4a542899063f97f0a - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-firezone.git diff --git a/setup.yml b/setup.yml index 856ae88..25e97de 100644 --- a/setup.yml +++ b/setup.yml @@ -77,6 +77,8 @@ - role: galaxy/docker_registry_browser - role: galaxy/docker_registry_purger + - role: galaxy/echoip + - role: galaxy/firezone - role: galaxy/focalboard