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 41ae8b2..fcbca09 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) | | [authentik](https://goauthentik.io/) | An open-source Identity Provider focused on flexibility and versatility. | [Link](services/authentik.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) | diff --git a/group_vars/mash_servers b/group_vars/mash_servers index 6932989..32f8591 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': (authentik_server_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'authentik']}] if authentik_enabled else []) + ([{'name': (authentik_worker_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'authentik']}] if authentik_enabled else []) @@ -510,6 +512,41 @@ 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 # +# # +######################################################################## + + + ######################################################################## # # # authentik # @@ -556,11 +593,12 @@ authentik_server_container_labels_traefik_tls_certResolver: "{{ devture_traefik_ ######################################################################## # # -# /funkwhale # +# /authentik # # # ######################################################################## + ######################################################################## # # # collabora-online # diff --git a/requirements.yml b/requirements.yml index 53ca98b..948ec6a 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.16-0 + name: appsmith - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-authentik.git version: v2023.4.1-1 name: authentik @@ -13,7 +16,7 @@ version: v22.05.12.1.1-1 name: collabora_online - src: git+https://github.com/devture/com.devture.ansible.role.container_socket_proxy.git - version: v0.1.1-1 + version: v0.1.1-2 - src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git version: 129c8590e106b83e6f4c259649a613c6279e937a - src: git+https://github.com/devture/com.devture.ansible.role.playbook_help.git @@ -27,13 +30,13 @@ - src: git+https://github.com/devture/com.devture.ansible.role.postgres_backup.git version: 8e9ec48a09284c84704d7a2dce17da35f181574d - src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git - version: 327d2e17f5189ac2480d6012f58cf64a2b46efba + version: v1.0.0-0 - src: git+https://github.com/devture/com.devture.ansible.role.systemd_service_manager.git version: v1.0.0-0 - src: git+https://github.com/devture/com.devture.ansible.role.timesync.git version: 3d5bb2976815958cdce3f368fa34fb51554f899b - src: git+https://github.com/devture/com.devture.ansible.role.traefik.git - version: v2.9.10-0 + version: v2.9.10-2 - src: git+https://github.com/devture/com.devture.ansible.role.woodpecker_ci_agent.git version: v0.15.7-1 - src: git+https://github.com/devture/com.devture.ansible.role.woodpecker_ci_server.git @@ -49,8 +52,8 @@ name: docker_registry_purger - src: git+https://gitlab.com/etke.cc/roles/fail2ban.git version: 09886730e8d3c061f22d1da4a542899063f97f0a -- src: git+https://github.com/moan0s/role-firezone.git - version: v0.7.25-0 +- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-firezone.git + version: v0.7.25-2 name: firezone - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-focalboard.git version: v7.9.3-1 @@ -82,7 +85,7 @@ version: v21.0.2-0 name: keycloak - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-lago.git - version: v0.28.1-0 + version: v0.29.0-0 name: lago - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-mariadb.git version: v10.11.2-0 @@ -90,7 +93,7 @@ - src: git+https://gitlab.com/etke.cc/roles/miniflux.git version: v2.0.43-2 - src: git+https://gitlab.com/etke.cc/mrs/ansible-role-mrs.git - version: v0.0.0-1 + version: v0.0.0-4 name: mrs - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-navidrome.git version: v0.49.3-2 @@ -115,7 +118,7 @@ - src: git+https://gitlab.com/etke.cc/roles/prometheus_node_exporter.git version: v1.5.0-7 - src: git+https://gitlab.com/etke.cc/roles/radicale.git - version: v3.1.8.1-2 + version: v3.1.8.2-0 - src: git+https://gitlab.com/etke.cc/roles/redis.git version: v7.0.10-0 - src: git+https://gitlab.com/etke.cc/roles/redmine.git @@ -127,7 +130,7 @@ - src: git+https://gitlab.com/etke.cc/roles/swap.git version: abfb18b6862108bbf24347500446203170324d7f - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-syncthing.git - version: v1.23.4-0 + version: v1.23.4-1 name: syncthing - src: git+https://gitlab.com/etke.cc/roles/uptime_kuma.git version: v1.21.2-0 diff --git a/setup.yml b/setup.yml index 5a99bfb..4ce0151 100644 --- a/setup.yml +++ b/setup.yml @@ -56,6 +56,8 @@ - role: galaxy/adguard_home + - role: galaxy/appsmith + - role: galaxy/authentik - role: galaxy/collabora_online