diff --git a/docs/services/wetty.md b/docs/services/wetty.md new file mode 100644 index 0000000..3000917 --- /dev/null +++ b/docs/services/wetty.md @@ -0,0 +1,46 @@ +# Wetty + +[Wetty](https://github.com/butlerx/wetty/tree/main) is an SSH terminal over HTTP/HTTPS, useful for when on a strict network which disallows outbound SSH traffic, or when only a browser can be used (like a managed chromebook). + +## 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 +######################################################################## +# # +# wetty # +# # +######################################################################## + +wetty_enabled: true +wetty_hostname: mash.example.com +wetty_path_prefix: /wetty +wetty_ssh_host: example.com +wetty_ssh_port: 22 + +######################################################################## +# # +# /wetty # +# # +######################################################################## +``` + +In the example configuration above, we configure the service to be hosted at `https://mash.example.com/wetty` and connect to `example.com` on port `22`. + +You can remove the `wetty_path_prefix` variable definition, to make it default to `/`, so that the service is served at `https://mash.example.com/`. + +## Usage + +After installation, you should be able to access your new Wetty instance at: `https://WETTY_DOMAIN/PATH_PREFIX`, where: + +- `WETTY_DOMAIN` matches your domain, as specified in `wetty_hostname` in your `vars.yml` file +- `PATH_PREFIX` matches your path prefix, as specified in `wetty_path_prefix` in your `vars.yml` file + +Once connected, simply input the username and password to use. Keep in mind that Wetty only supports password authentication, so if the SSH daemon at `wetty_ssh_host` only allows pubkey authentication you will not be able to connect. diff --git a/templates/group_vars_mash_servers b/templates/group_vars_mash_servers index ba88979..dedd7b5 100644 --- a/templates/group_vars_mash_servers +++ b/templates/group_vars_mash_servers @@ -193,6 +193,11 @@ mash_playbook_devture_systemd_service_manager_services_list_auto_itemized: {{ ({'name': (changedetection_playwright_driver_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'changedetection']} if changedetection_playwright_driver_enabled else omit) }} # /role-specific:changedetection + # role-specific:wetty + - |- + {{ ({'name': (wetty_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'wetty']} if wetty_enabled else omit) }} + # /role-specific:wetty + # role-specific:clickhouse - |- {{ ({'name': (clickhouse_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'clickhouse']} if clickhouse_enabled else omit) }} @@ -1481,6 +1486,43 @@ changedetection_container_labels_traefik_tls_certResolver: "{{ devture_traefik_c +# role-specific:wetty +######################################################################## +# # +# wetty # +# # +######################################################################## + +wetty_enabled: false + +wetty_identifier: "{{ mash_playbook_service_identifier_prefix }}wetty" + +wetty_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}wetty" + +wetty_uid: "{{ mash_playbook_uid }}" +wetty_gid: "{{ mash_playbook_gid }}" + +wetty_container_additional_networks_auto: | + {{ + ([mash_playbook_reverse_proxyable_services_additional_network] if mash_playbook_reverse_proxyable_services_additional_network else []) + }} + +# role-specific:traefik +wetty_container_labels_traefik_enabled: "{{ mash_playbook_traefik_labels_enabled }}" +wetty_container_labels_traefik_docker_network: "{{ mash_playbook_reverse_proxyable_services_additional_network }}" +wetty_container_labels_traefik_entrypoints: "{{ devture_traefik_entrypoint_primary }}" +wetty_container_labels_traefik_tls_certResolver: "{{ devture_traefik_certResolver_primary }}" +# /role-specific:traefik + +######################################################################## +# # +# /wetty # +# # +######################################################################## +# /role-specific:wetty + + + # role-specific:clickhouse ######################################################################## # # diff --git a/templates/requirements.yml b/templates/requirements.yml index cc09e41..4667279 100644 --- a/templates/requirements.yml +++ b/templates/requirements.yml @@ -36,6 +36,10 @@ version: v0.45.17-0 name: changedetection activation_prefix: changedetection_ +- src: git+https://github.com/spatterIight/ansible-role-wetty.git + version: v2.5-0 + name: wetty + activation_prefix: wetty_ - src: git+https://gitlab.com/etke.cc/roles/cleanup.git version: main name: cleanup diff --git a/templates/setup.yml b/templates/setup.yml index 0d856d4..f9f078a 100644 --- a/templates/setup.yml +++ b/templates/setup.yml @@ -122,6 +122,10 @@ - role: galaxy/changedetection # /role-specific:changedetection + # role-specific:wetty + - role: galaxy/wetty + # /role-specific:wetty + # role-specific:clickhouse - role: galaxy/clickhouse # /role-specific:clickhouse