Add Appsmith support

This commit is contained in:
Slavi Pantaleev 2023-04-17 09:42:47 +03:00
parent 05aa3d9d0f
commit 8efc7e4bf3
5 changed files with 101 additions and 0 deletions

60
docs/services/appsmith.md Normal file
View file

@ -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`).

View file

@ -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) |

View file

@ -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 #

View file

@ -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

View file

@ -56,6 +56,8 @@
- role: galaxy/adguard_home
- role: galaxy/appsmith
- role: galaxy/collabora_online
- role: galaxy/docker_registry