summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--public/v1/apps/fusionauth.json2
-rw-r--r--public/v2/apps/fusionauth.json165
2 files changed, 166 insertions, 1 deletions
diff --git a/public/v1/apps/fusionauth.json b/public/v1/apps/fusionauth.json
index 894c916..5f8ed2a 100644
--- a/public/v1/apps/fusionauth.json
+++ b/public/v1/apps/fusionauth.json
@@ -72,7 +72,7 @@
}
},
"instructions": {
- "start": "Requires 4GB of RAM minimum. FusionAuth is a modern platform for Customer Identity and Access Management (CIAM). FusionAuth provides APIs and a responsive web user interface to support login, registration, localized email, multi-factor authentication, reporting and much more. See: https://fusionauth.io/docs/v1/tech/getting-started/ and https://github.com/FusionAuth/fusionauth-containers",
+ "start": "NOTE: This app requires at least 4GB of RAM. Without this requirement it fails to start up. \n\nFusionAuth is a modern platform for Customer Identity and Access Management (CIAM). FusionAuth provides APIs and a responsive web user interface to support login, registration, localized email, multi-factor authentication, reporting and much more. See: https://fusionauth.io/docs/v1/tech/getting-started/ and https://github.com/FusionAuth/fusionauth-containers",
"end": "FusionAuth is deployed and available as srv-captain--$$cap_appname-fusionauth:9011 to other apps"
},
diff --git a/public/v2/apps/fusionauth.json b/public/v2/apps/fusionauth.json
new file mode 100644
index 0000000..77dc233
--- /dev/null
+++ b/public/v2/apps/fusionauth.json
@@ -0,0 +1,165 @@
+{
+ "captainVersion": "2",
+ "documentation": "Adapted from: https://github.com/FusionAuth/fusionauth-containers",
+ "dockerCompose": {
+ "version": "3.3",
+ "services": {
+ "$$cap_appname-db": {
+ "image": "postgres:$$cap_postgres_version",
+ "notExposeAsWebApp": "true",
+ "environment": {
+ "POSTGRES_USER": "$$cap_db_user",
+ "POSTGRES_PASSWORD": "$$cap_db_pass",
+ "POSTGRES_DB": "fusionauth"
+ },
+ "restart": "unless-stopped",
+ "volumes": [
+ "$$cap_appname-db-data:/var/lib/postgresql/data"
+ ]
+ },
+ "$$cap_appname-elasticsearch": {
+ "image" : "docker.elastic.co/elasticsearch/elasticsearch:$$cap_elasticsearch_version",
+ "volumes": [
+ "$$cap_appname-elasticsearch-data:/usr/share/elasticsearch/data"
+ ],
+ "restart": "always",
+ "environment": {
+ "ES_JAVA_OPTS": "-Xms512m -Xmx512m",
+ "cluster.name": "$$cap_elasticsearch_cluster_name",
+ "http.port": "$$cap_container_search_port",
+ "node.master": "$$cap_elasticsearch_node_master",
+ "node.data": "$$cap_elasticsearch_node_data",
+ "discovery.zen.minimum_master_nodes": "$$cap_elasticsearch_minimum_master_nodes",
+ "discovery.zen.ping.unicast.hosts": "$$cap_elasticsearch_unicast_hosts"
+ },
+ "containerHttpPort": "$$cap_container_search_port"
+ },
+ "$$cap_appname-fusionauth": {
+ "image": "fusionauth/fusionauth-app:$$cap_fusionauth_version",
+ "depends_on": [
+ "$$cap_appname-db",
+ "$$cap_appname-elasticsearch"
+ ],
+ "environment": {
+ "DATABASE_URL": "jdbc:postgresql://srv-captain--$$cap_appname-db:5432/fusionauth",
+ "DATABASE_ROOT_USER": "$$cap_db_user",
+ "DATABASE_ROOT_PASSWORD": "$$cap_db_pass",
+ "DATABASE_USER": "$$cap_db_user",
+ "DATABASE_PASSWORD": "$$cap_db_pass",
+ "FUSIONAUTH_MEMORY": "$$cap_fusion_memory",
+ "FUSIONAUTH_SEARCH_SERVERS": "http://srv-captain--$$cap_appname-elasticsearch:9200",
+ "FUSIONAUTH_URL": "http://srv-captain--$$cap_appname-fusionauth:9011"
+ },
+ "containerHttpPort": "$$cap_container_port",
+ "restart": "unless-stopped",
+ "volumes": [
+ "$$cap_appname-fusionauth-config:/usr/local/fusionauth/config"
+ ]
+ }
+ },
+ "networks": {
+ "db": {
+ "driver": "bridge"
+ },
+ "search": {
+ "driver": "bridge"
+ }
+ },
+ "volumes": {
+ "db_data": null,
+ "es_data": null,
+ "fa_config": null
+ }
+ },
+ "instructions": {
+ "start": "NOTE: This app requires at least 4GB of RAM. Without this requirement it fails to start up. \n\nFusionAuth is a modern platform for Customer Identity and Access Management (CIAM). FusionAuth provides APIs and a responsive web user interface to support login, registration, localized email, multi-factor authentication, reporting and much more. See: https://fusionauth.io/docs/v1/tech/getting-started/ and https://github.com/FusionAuth/fusionauth-containers",
+ "end": "FusionAuth is deployed and available as srv-captain--$$cap_appname-fusionauth:9011 to other apps"
+ },
+
+ "variables": [{
+ "id": "$$cap_db_user",
+ "label": "Database user",
+ "defaultValue": "fusion",
+ "validRegex": "/^([a-zA-Z0-9])+$/"
+ },
+ {
+ "id": "$$cap_db_pass",
+ "label": "Database password",
+ "description": "",
+ "validRegex": "/.{1,}/"
+ },
+ {
+ "id": "$$cap_fusionauth_version",
+ "label": "FusionAuth Version",
+ "defaultValue": "1.7.2",
+ "description": "See tags at: https://hub.docker.com/r/fusionauth/fusionauth-app/tags",
+ "validRegex": "/^([^\\s^\\/])+$/"
+ },
+ {
+ "id": "$$cap_fusion_memory",
+ "label": "Fusion Memory",
+ "defaultValue": "256M",
+ "description": "",
+ "validRegex": "/^([a-zA-Z0-9])+$/"
+ },
+ {
+ "id": "$$cap_postgres_version",
+ "label": "Postgres Version",
+ "defaultValue": "9.6",
+ "description": "",
+ "validRegex": "/^([^\\s^\\/])+$/"
+ },
+ {
+ "id": "$$cap_container_port",
+ "label": "Container TCP Port",
+ "defaultValue": "9011",
+ "description": "Internal port for Fusion Auth container to listens to.",
+ "validRegex": "/^([0-9])+$/"
+ },
+ {
+ "id": "$$cap_container_search_port",
+ "label": "Container TCP Port",
+ "defaultValue": "9200",
+ "description": "Internal port for Elasticsearch the container listens to.",
+ "validRegex": "/^([0-9])+$/"
+ },
+ {
+ "id": "$$cap_elasticsearch_version",
+ "label": "Elasticsearch Version Tag ",
+ "description": "Checkout the releases overview: https://www.elastic.co/de/downloads/elasticsearch",
+ "defaultValue": "6.7.1",
+ "validRegex": "/^([^\\s^\\/])+$/"
+ },{
+ "id": "$$cap_elasticsearch_cluster_name",
+ "label": "Cluster Name",
+ "description": "Only nodes within the same cluster name can be combined",
+ "defaultValue": "elasticsearch-cluster",
+ "validRegex": "/^([^\\s^\\/])+$/"
+ },{
+ "id": "$$cap_elasticsearch_unicast_hosts",
+ "label": "Unicasts hosts",
+ "description": "References to other node to attach to. (for example: srv-captain--XXX)",
+ "defaultValue": "false",
+ "validRegex": "/^([^\\s^\\/])+$/"
+ },{
+ "id": "$$cap_elasticsearch_node_data",
+ "label": "Node Data",
+ "description": "Should the node used for storing data? (true / false)",
+ "defaultValue": "true",
+ "validRegex": "/^([^\\s^\\/])+$/"
+ },{
+ "id": "$$cap_elasticsearch_node_master",
+ "label": "Node Master",
+ "description": "Define node as master-eligible (usual first node YES, others NO).",
+ "defaultValue": "true",
+ "validRegex": "/^([^\\s^\\/])+$/"
+ },{
+ "id": "$$cap_elasticsearch_minimum_master_nodes",
+ "label": "Minimum Master Nodes",
+ "description": "Define minimum amount of master (N) ( best practice: ceil(N/2 + 1) ).",
+ "defaultValue": "1",
+ "validRegex": "/^([0-9])+$/"
+ }
+ ]
+
+}