125 lines
5.6 KiB
YAML
125 lines
5.6 KiB
YAML
captainVersion: 4
|
|
services:
|
|
$$cap_appname-db:
|
|
image: postgres:$$cap_postgres_version
|
|
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
|
|
caproverExtra:
|
|
notExposeAsWebApp: 'true'
|
|
$$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.type: single-node
|
|
discovery.zen.minimum_master_nodes: $$cap_elasticsearch_minimum_master_nodes
|
|
discovery.zen.ping.unicast.hosts: $$cap_elasticsearch_unicast_hosts
|
|
caproverExtra:
|
|
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
|
|
restart: unless-stopped
|
|
volumes:
|
|
- $$cap_appname-fusionauth-config:/usr/local/fusionauth/config
|
|
caproverExtra:
|
|
containerHttpPort: $$cap_container_port
|
|
caproverOneClickApp:
|
|
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: 'Check out 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])+$/
|
|
instructions:
|
|
start: >-
|
|
NOTE: This app requires at least 4GB of RAM. Without this requirement it fails to start up.
|
|
|
|
|
|
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
|
|
end: FusionAuth is deployed and available as srv-captain--$$cap_appname-fusionauth:9011 to other apps
|
|
displayName: FusionAuth
|
|
isOfficial: true
|
|
description: FusionAuth is a scalable, identity and user management platform built for devs
|
|
documentation: 'Adapted from: https://github.com/FusionAuth/fusionauth-containers'
|