diff --git a/docs/services/appsmith.md b/docs/services/appsmith.md new file mode 100644 index 0000000..48ca0b8 --- /dev/null +++ b/docs/services/appsmith.md @@ -0,0 +1,60 @@ +# Appsmith + +[Appsmith](https://www.appsmith.com/) is an open-source platform that enables developers to build and deploy custom internal tools and applications without writing code. + + +## 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 +######################################################################## +# # +# appsmith # +# # +######################################################################## + +appsmith_enabled: true + +appsmith_hostname: appsmith.example.com + +# WARNING: remove this after you create your user account, +# unless you'd like to run a server with public registration enabled. +appsmith_environment_variable_appsmith_signup_disabled: false + +######################################################################## +# # +# /appsmith # +# # +######################################################################## +``` + + +### URL + +In the example configuration above, we configure the service to be hosted at `https://appsmith.example.com`. + +Hosting Appsmith under a subpath (by configuring the `appsmith_path_prefix` variable) does not seem to be possible right now, due to Appsmith limitations.. + + +### Authentication + +Public registration can be enabled/disabled using the `appsmith_environment_variable_appsmith_signup_disabled` variable. + +We recommend installing with public registration enabled at first, creating your first user account, and then disabling public registration (unless you need it). + + +## Usage + +After installation, you can go to the Appsmith URL, as defined in `appsmith_hostname`. + +As mentioned in [Authentication](#authentication) above, you can create the first user from the web interface. + +If you'd like to prevent other users from registering, consider disabling public registration by removing the `appsmith_environment_variable_appsmith_signup_disabled` references from your configuration and re-running the playbook (`just install-service appsmith`). diff --git a/docs/supported-services.md b/docs/supported-services.md index 1176c34..64baff6 100644 --- a/docs/supported-services.md +++ b/docs/supported-services.md @@ -4,6 +4,7 @@ | ------------------------------ | ------------------------------------- | ------------- | | [AUX](https://github.com/mother-of-all-self-hosting/ansible-role-aux) | Auxiliary file/directory management on your server via Ansible | [Link](services/auxiliary.md) | | [AdGuard Home](https://adguard.com/en/adguard-home/overview.html/) | A network-wide DNS software for blocking ads & tracking | [Link](services/adguard-home.md) | +| [Appsmith](https://www.appsmith.com/) | Platform for building and deploying custom internal tools and applications without writing code | [Link](services/appsmith.md) | | [Collabora Online](https://www.collaboraoffice.com/) | Your Private Office Suite In The Cloud | [Link](services/collabora-online.md) | | [Docker](https://www.docker.com/) | Open-source software for deploying containerized applications | [Link](services/docker.md) | | [Docker Registry](https://docs.docker.com/registry/) | A container image distribution registry | [Link](services/docker-registry.md) | diff --git a/group_vars/mash_servers b/group_vars/mash_servers index f54f5c4..92f9b6e 100644 --- a/group_vars/mash_servers +++ b/group_vars/mash_servers @@ -65,6 +65,8 @@ devture_systemd_service_manager_services_list_auto: | {{ ([{'name': (adguard_home_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'adguard-home']}] if adguard_home_enabled else []) + + ([{'name': (appsmith_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'appsmith']}] if appsmith_enabled else []) + + ([{'name': (collabora_online_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'collabora-online']}] if collabora_online_enabled else []) + ([{'name': (devture_postgres_identifier + '.service'), 'priority': 500, 'groups': ['mash', 'postgres']}] if devture_postgres_enabled else []) @@ -503,6 +505,39 @@ adguard_home_container_labels_traefik_tls_certResolver: "{{ devture_traefik_cert +######################################################################## +# # +# appsmith # +# # +######################################################################## + +appsmith_enabled: false + +appsmith_identifier: "{{ mash_playbook_service_identifier_prefix }}appsmith" + +appsmith_uid: "{{ mash_playbook_uid }}" +appsmith_gid: "{{ mash_playbook_gid }}" + +appsmith_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}appsmith" + +appsmith_container_additional_networks_auto: | + {{ + ([mash_playbook_reverse_proxyable_services_additional_network] if mash_playbook_reverse_proxyable_services_additional_network else []) + }} + +appsmith_container_labels_traefik_enabled: "{{ mash_playbook_traefik_labels_enabled }}" +appsmith_container_labels_traefik_docker_network: "{{ mash_playbook_reverse_proxyable_services_additional_network }}" +appsmith_container_labels_traefik_entrypoints: "{{ devture_traefik_entrypoint_primary }}" +appsmith_container_labels_traefik_tls_certResolver: "{{ devture_traefik_certResolver_primary }}" + +######################################################################## +# # +# /appsmith # +# # +######################################################################## + + + ######################################################################## # # # collabora-online # diff --git a/requirements.yml b/requirements.yml index d448b53..03fec63 100644 --- a/requirements.yml +++ b/requirements.yml @@ -3,6 +3,9 @@ - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-adguard-home.git version: v0.107.26-1 name: adguard_home +- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-appsmith.git + version: v1.9.15-0 + name: appsmith - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-aux.git version: v1.0.0-0 name: aux diff --git a/setup.yml b/setup.yml index 79cfa34..8ce9d1a 100644 --- a/setup.yml +++ b/setup.yml @@ -56,6 +56,8 @@ - role: galaxy/adguard_home + - role: galaxy/appsmith + - role: galaxy/collabora_online - role: galaxy/docker_registry