Removed support for V1
This commit is contained in:
parent
0596f038ee
commit
112f95fccc
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"captainVersion": "1",
|
||||||
|
"documentation": "Just a placeholder for upgrade message",
|
||||||
|
"dockerCompose": {
|
||||||
|
"services": {
|
||||||
|
"$$cap_appname": {
|
||||||
|
"image": "this-is-not-a-real-app:$$cap_adminer_version"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"instructions": {
|
||||||
|
"start": "You CapRover is not supported anymore. Navigate to SETTINGS and update your CapRover.",
|
||||||
|
"end": ""
|
||||||
|
},
|
||||||
|
"variables": [{
|
||||||
|
"id": "$$cap_adminer_version",
|
||||||
|
"label": "Update CapRover",
|
||||||
|
"description": "",
|
||||||
|
"defaultValue": "NOT SUPPORTED",
|
||||||
|
"validRegex": "/.{100,}/"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/_/adminer ",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "adminer:$$cap_adminer_version",
|
|
||||||
"containerHttpPort": "8080",
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"ADMINER_PLUGINS": "$$cap_adminer_plugins",
|
|
||||||
"ADMINER_DESIGN": "$$cap_adminer_design"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Adminer (formerly phpMinAdmin) is a full-featured database management tool written in PHP. Conversely to phpMyAdmin, it consist of a single file ready to deploy to the target server. Adminer is available for MySQL, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch and MongoDB. \n\n For more details, see: https://github.com/vrana/adminer\n\n Enter your Adminer Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "Adminer is deployed and available as $$cap_appname"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_adminer_version",
|
|
||||||
"label": "Adminer Version Tag",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/adminer/tags/",
|
|
||||||
"defaultValue": "4",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_adminer_design",
|
|
||||||
"label": "OPTIONAL: Adminer Design",
|
|
||||||
"description": "List of designs: https://github.com/vrana/adminer/tree/master/designs",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9-.])*$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_adminer_plugins",
|
|
||||||
"label": "OPTIONAL: Adminer plugins (space separated)",
|
|
||||||
"defaultValue": "",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9-.\\s])*$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "ArangoDB",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"image": "arangodb:$$cap_arango_version",
|
|
||||||
"containerHttpPort": "8529",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/var/lib/arangodb3",
|
|
||||||
"$$cap_appname-db-apps-data:/var/lib/arangodb3-apps"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"ARANGO_ROOT_PASSWORD": "$$cap_db_pass"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. Scale horizontally and vertically with a few mouse clicks.",
|
|
||||||
"end": "ArangoDB is deployed and available as srv-captain--$$cap_appname-db:8529 to other apps."
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_arango_version",
|
|
||||||
"label": "ArangoDB Version",
|
|
||||||
"defaultValue": "3.4",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/arangodb/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_db_pass",
|
|
||||||
"label": "ArangoDB Root password",
|
|
||||||
"description": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/_/couchdb/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "couchdb:$$cap_couchdb_version",
|
|
||||||
"containerHttpPort": "5984",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/opt/couchdb/data",
|
|
||||||
"$$cap_appname-db-etc:/opt/couchdb/etc"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"COUCHDB_USER": "$$cap_couchdb_user",
|
|
||||||
"COUCHDB_PASSWORD": "$$cap_couchdb_password"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "CouchDB is a database that uses JSON for documents, an HTTP API, & JavaScript/declarative indexing.\n\n After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 5984 to other CapRover apps.\n\nEnter your CouchDB Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "CouchDB is deployed and available as $$cap_appname at port 5984 to other apps"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_couchdb_version",
|
|
||||||
"label": "CouchDB Version Tag",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/couchdb/tags/",
|
|
||||||
"defaultValue": "2",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_couchdb_user",
|
|
||||||
"label": "CouchDB Username",
|
|
||||||
"defaultValue": "mainuser",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9_])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_couchdb_password",
|
|
||||||
"label": "CouchDB Password",
|
|
||||||
"defaultValue": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,116 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://github.com/directus/docker.",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "7",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"image": "mysql:5.7",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/var/lib/mysql/"
|
|
||||||
],
|
|
||||||
"environment": {
|
|
||||||
"MYSQL_DATABASE": "$$cap_mysql_database_name",
|
|
||||||
"MYSQL_ROOT_PASSWORD": "$$cap_mysql_root_passwd",
|
|
||||||
"MYSQL_USER": "$$cap_mysql_user",
|
|
||||||
"MYSQL_PASSWORD": "$$cap_mysql_passwd"
|
|
||||||
},
|
|
||||||
"healthcheck": {
|
|
||||||
"test": "mysql -u$$cap_mysql_user -p$$cap_mysql_passwd -e \"SHOW DATABASES;\"",
|
|
||||||
"interval": "10s",
|
|
||||||
"timeout": "6s",
|
|
||||||
"retries": "10"
|
|
||||||
},
|
|
||||||
"restart": "always"
|
|
||||||
},
|
|
||||||
"$$cap_appname-api": {
|
|
||||||
"depends_on": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"condition" : "service_healthy"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"image": "directus/api:2.0.18",
|
|
||||||
"containerHttpPort":"80",
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"DATABASE_HOST": "srv-captain--$$cap_appname-db",
|
|
||||||
"DATABASE_NAME": "$$cap_mysql_database_name",
|
|
||||||
"DATABASE_USERNAME": "$$cap_mysql_user",
|
|
||||||
"DATABASE_PASSWORD":"$$cap_mysql_passwd",
|
|
||||||
"ADMIN_EMAIL":"$$cap_directus_admin_username",
|
|
||||||
"ADMIN_PASSWORD":"$$cap_directus_admin_passwd"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"$$cap_appname-app": {
|
|
||||||
"depends_on": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"condition" : "service_healthy"
|
|
||||||
},
|
|
||||||
"$$cap_appname-api" : {}
|
|
||||||
},
|
|
||||||
"image": "directus/app:7.0.18",
|
|
||||||
"containerHttpPort":"80",
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"API_ENDPOINT": "API; $$cap_api_endpoint/_/"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions":{
|
|
||||||
"end":"Directus is deployed and available as $$cap_appname-app. \n\n It may take a few minutes for Directus to initialize.\n",
|
|
||||||
"start":"Directus is a free and open souce content management system and API wrapper for SQL databases. The API instance provides a realtime REST API for interacting with your database, while the App instance provides a web based CMS for managaging the database. \n For more information and available options, see https://github.com/directus/docker."
|
|
||||||
},
|
|
||||||
"variables":[
|
|
||||||
{
|
|
||||||
"description":"Name of the Directus backing database instance.",
|
|
||||||
"defaultValue" : "directus",
|
|
||||||
"id":"$$cap_mysql_database_name",
|
|
||||||
"label":"mySQL Database Name",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description":"Master password for the Directus backing database instance.",
|
|
||||||
"defaultValue" : "ultr@s3curep@ssword",
|
|
||||||
"id":"$$cap_mysql_root_passwd",
|
|
||||||
"label":"mySQL Root Password",
|
|
||||||
"validRegex":"/^(?=.*\\d).{10,}$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description":"User for the Directus backing database instance.",
|
|
||||||
"defaultValue" : "directus",
|
|
||||||
"id":"$$cap_mysql_user",
|
|
||||||
"label":"mySQL User",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description":"User password for the Directus backing database instance.",
|
|
||||||
"defaultValue" : "s3curep@ssword",
|
|
||||||
"id":"$$cap_mysql_passwd",
|
|
||||||
"label":"mySQL User Password",
|
|
||||||
"validRegex":"/^(?=.*\\d).{10,}$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description":"Admin login email for the Directus app.",
|
|
||||||
"defaultValue" : "admin@example.com",
|
|
||||||
"id":"$$cap_directus_admin_username",
|
|
||||||
"label":"Directus App Admin Email",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description":"Admin login password for the Directus app.",
|
|
||||||
"defaultValue" : "s3curep@ssword",
|
|
||||||
"id":"$$cap_directus_admin_passwd",
|
|
||||||
"label":"Directus App Admin Password",
|
|
||||||
"validRegex":"/^(?=.*\\d).{10,}$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description":"A URL in the format of http://appname-api.rootdomain.com. \n The admin web app will connect to the endpoint using this URL.",
|
|
||||||
"id":"$$cap_api_endpoint",
|
|
||||||
"label":"Directus API Endpoint URL",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,102 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://docs.drone.io/intro/gitea/single-machine/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "2",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-agent": {
|
|
||||||
"image": "drone/agent:$$cap_drone_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"DRONE_SERVER": "srv-captain--$$cap_appname-server:9000",
|
|
||||||
"DRONE_SECRET": "$$cap_drone_secret"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"$$cap_appname-server": {
|
|
||||||
"depends_on": [
|
|
||||||
"$$cap_appname-agent"
|
|
||||||
],
|
|
||||||
"image": "drone/drone:$$cap_drone_version",
|
|
||||||
"containerHttpPort": "80",
|
|
||||||
"volumes": [
|
|
||||||
"/var/run/docker.sock:/var/run/docker.sock",
|
|
||||||
"$$cap_appname-server:/data"
|
|
||||||
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"DRONE_GITEA_SERVER": "$$cap_drone_gitea_server",
|
|
||||||
"DRONE_GIT_ALWAYS_AUTH": "$$cap_drone_gitea_always_auth",
|
|
||||||
"DRONE_RUNNER_CAPACITY": "$$cap_drone_runner_capacity",
|
|
||||||
"DRONE_SERVER_PROTO": "$$cap_drone_server_proto",
|
|
||||||
"DRONE_SERVER_HOST": "$$cap_drone_server_host",
|
|
||||||
"DRONE_TLS_AUTOCERT": "$$cap_drone_tls_autocert",
|
|
||||||
"DRONE_SECRET": "$$cap_drone_secret"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Drone is a self-service Continuous Delivery platform for busy development teams. It can be used with different GIT servers like gogs, gitea as well as services like gitlab and github. This installer is gitea focused and requires a running gitea instances (which you can install via one-click-apps in caprover).\n\n Enter your Drone for Gitea configuration parameters and click on next. The process will take about a minute to finish.",
|
|
||||||
"end": "Drone is deployed and available as $$cap_appname-server.\n\n IMPORTANT: It will take up to 2 minutes for Drone for Gitea to be ready. Before that, you might see 502 error page.\n"
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"id": "$$cap_drone_version",
|
|
||||||
"label": "drone Version",
|
|
||||||
"defaultValue": "1.0.0-rc.6",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/drone/drone/tags",
|
|
||||||
"validRegex": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_drone_gitea_server",
|
|
||||||
"label": "DRONE_GITEA_SERVER",
|
|
||||||
"defaultValue": "https://your.server",
|
|
||||||
"description": "A string containing your Gitea server address.",
|
|
||||||
"validRegex": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_drone_gitea_always_auth",
|
|
||||||
"label": "DRONE_GIT_ALWAYS_AUTH",
|
|
||||||
"defaultValue": "false",
|
|
||||||
"description": "Boolean value configures Drone to authenticate when cloning public repositories. This is only required when your source code management system (e.g. GitHub Enterprise) has private mode enabled.",
|
|
||||||
"validRegex": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_drone_runner_capacity",
|
|
||||||
"label": "DRONE_RUNNER_CAPACITY",
|
|
||||||
"defaultValue": "2",
|
|
||||||
"description": "An integer defining the maximum number of pipelines the agent should execute concurrently. The default value is two pipelines.",
|
|
||||||
"validRegex": "/^[0-9]+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_drone_server_proto",
|
|
||||||
"label": "DRONE_SERVER_PROTO",
|
|
||||||
"defaultValue": "https",
|
|
||||||
"description": "A string containing your Drone server protocol scheme. This value should be set to http or https. This field defaults to https if you configure ssl or acme.",
|
|
||||||
"validRegex": "/^([Hh][Tt][Tt][Pp]|[Hh][Tt][Tt][Pp][Ss])$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_drone_server_host",
|
|
||||||
"label": "DRONE_SERVER_HOST",
|
|
||||||
"defaultValue": "drone.yourhost.com",
|
|
||||||
"description": "A string containing your Drone server hostname or IP address.",
|
|
||||||
"validRegex": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_drone_tls_autocert",
|
|
||||||
"label": "DRONE_TLS_AUTOCERT",
|
|
||||||
"defaultValue": "false",
|
|
||||||
"description": "An boolean indicating debug level logs should be use for automatic SSL certification generation and configuration. The default value is false..",
|
|
||||||
"validRegex": "/^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_drone_secret",
|
|
||||||
"label": "secret for linking drone and agent",
|
|
||||||
"description": "some random secret here (min 10 characters)",
|
|
||||||
"defaultValue": "",
|
|
||||||
"validRegex": "/.{10,}/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": 1,
|
|
||||||
"documentation": "Elasticsearch is a distributed, RESTful search and analytics engine. This image can be used for single nodes and cluster setups. Look at https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html for further assistance using Elasticsearch with docker.",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"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_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_port"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Elasticsearch startearch engine. Be sure to extend the virtual memory on all your hosts! (increase \"echo 'vm.max_map_count=262144' >> /etc/sysctl.conf\" and restart \"sysctl -p\")",
|
|
||||||
"end": "Deployment of Elasticsearch is finished. You might see 502 errors for the next 2 minutes. Goto <YOUR-APP-URL>/_cat/health to check the health of your cluster."
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"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])+$/"
|
|
||||||
},{
|
|
||||||
"id": "$$cap_container_port",
|
|
||||||
"label": "Container TCP Port",
|
|
||||||
"defaultValue": "9200",
|
|
||||||
"description": "Internal port for Elasticsearch the container listens to.",
|
|
||||||
"validRegex": "/^([0-9])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,165 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"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])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,151 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion":"1",
|
|
||||||
"documentation":"Taken from https://docs.ghost.org/",
|
|
||||||
"dockerCompose":{
|
|
||||||
"services":{
|
|
||||||
"$$cap_appname":{
|
|
||||||
"containerHttpPort":"2368",
|
|
||||||
"environment":{
|
|
||||||
"GHOST_DATABASE_NAME":"ghost",
|
|
||||||
"GHOST_DATABASE_PASSWORD":"$$cap_db_ghost_password",
|
|
||||||
"GHOST_DATABASE_USER":"ghost",
|
|
||||||
"GHOST_EMAIL":"$$cap_ghost_email",
|
|
||||||
"GHOST_HOST":"$$cap_ghost_host",
|
|
||||||
"GHOST_PASSWORD":"$$cap_ghost_password",
|
|
||||||
"GHOST_PROTOCOL":"$$cap_ghost_protocol",
|
|
||||||
"GHOST_PORT_NUMBER": "80",
|
|
||||||
"MARIADB_HOST":"srv-captain--$$cap_appname-db",
|
|
||||||
"MARIADB_PORT_NUMBER":"3306",
|
|
||||||
"SMTP_FROM_ADDRESS":"$$cap_ghost_smtp_from",
|
|
||||||
"SMTP_HOST":"$$cap_ghost_smtp_host",
|
|
||||||
"SMTP_PASSWORD":"$$cap_ghost_smtp_password",
|
|
||||||
"SMTP_PORT":"$$cap_ghost_smtp_port",
|
|
||||||
"SMTP_SERVICE":"$$cap_ghost_smtp_service",
|
|
||||||
"SMTP_USER":"$$cap_ghost_smtp_user"
|
|
||||||
},
|
|
||||||
"image":"bitnami/ghost:$$cap_ghost_version",
|
|
||||||
"restart":"always",
|
|
||||||
"volumes":[
|
|
||||||
"$$cap_appname-data:/bitnami"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"$$cap_appname-db":{
|
|
||||||
"environment":{
|
|
||||||
"MARIADB_DATABASE":"ghost",
|
|
||||||
"MARIADB_PASSWORD":"$$cap_db_ghost_password",
|
|
||||||
"MARIADB_ROOT_PASSWORD":"$$cap_db_password",
|
|
||||||
"MARIADB_ROOT_USER":"$$cap_db_user",
|
|
||||||
"MARIADB_USER":"ghost"
|
|
||||||
},
|
|
||||||
"image":"bitnami/mariadb:10.1",
|
|
||||||
"restart":"always",
|
|
||||||
"volumes":[
|
|
||||||
"$$cap_appname-mariadb-data:/bitnami"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"version":"2",
|
|
||||||
"volumes":{
|
|
||||||
"$$cap_appname-data":{
|
|
||||||
|
|
||||||
},
|
|
||||||
"$$cap_appname-mariadb-data":{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions":{
|
|
||||||
"end":"Ghost is deployed and available as $$cap_appname. \n\n IMPORTANT: It will take up to 2 minutes for Ghost to be ready. Before that, you might see 502 error page.\n",
|
|
||||||
"start":"Ghost is a fully open source, adaptable platform for building and running a modern online publication. We power blogs, magazines and journalists from Zappos to Sky News."
|
|
||||||
},
|
|
||||||
"variables":[
|
|
||||||
{
|
|
||||||
"defaultValue":"2.16.4",
|
|
||||||
"description":"Checkout their Docker page for the valid tags https://hub.docker.com/r/bitnami/ghost/tags",
|
|
||||||
"id":"$$cap_ghost_version",
|
|
||||||
"label":"Ghost Version",
|
|
||||||
"validRegex":"/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"defaultValue":"admin",
|
|
||||||
"description":"Root user that will be created on MariaDB",
|
|
||||||
"id":"$$cap_db_user",
|
|
||||||
"label":"MariaDB root user",
|
|
||||||
"validRegex":"/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description":"Root password that will be created on MariaDB",
|
|
||||||
"id":"$$cap_db_password",
|
|
||||||
"label":"MariaDB root password",
|
|
||||||
"validRegex":"/^(?=.*\\d).{10,}$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description":"Password for database user named `ghost`",
|
|
||||||
"id":"$$cap_db_ghost_password",
|
|
||||||
"label":"MariaDB Ghost password",
|
|
||||||
"validRegex":"/^(?=.*\\d).{10,}$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"defaultValue":"youremail@example.com",
|
|
||||||
"description":"Ghost application email, you will use it to login",
|
|
||||||
"id":"$$cap_ghost_email",
|
|
||||||
"label":"Ghost email",
|
|
||||||
"validRegex":"/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description":"The admin password must be at least 10 characters, and at least one number and letter",
|
|
||||||
"id":"$$cap_ghost_password",
|
|
||||||
"label":"Ghost password",
|
|
||||||
"validRegex":"/^(?=.*\\d).{10,}$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"defaultValue":"blog.example.com",
|
|
||||||
"description":"Enter the URL that is used to access your publication",
|
|
||||||
"id":"$$cap_ghost_host",
|
|
||||||
"label":"Ghost Host",
|
|
||||||
"validRegex":"/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"defaultValue":"http",
|
|
||||||
"description":"Protocol that you will be using",
|
|
||||||
"id":"$$cap_ghost_protocol",
|
|
||||||
"label":"Ghost Protocol",
|
|
||||||
"validRegex":"/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"defaultValue":"GMail",
|
|
||||||
"description":"Ghost uses node mailer, check this docs https://docs.ghost.org/concepts/config/#mail",
|
|
||||||
"id":"$$cap_ghost_smtp_service",
|
|
||||||
"label":"STMP service to use"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"defaultValue":"smtp.gmail.com",
|
|
||||||
"description":"The STMP host you will be using",
|
|
||||||
"id":"$$cap_ghost_smtp_host",
|
|
||||||
"label":"STMP host"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"defaultValue":"465",
|
|
||||||
"description":"The STMP port you will be using",
|
|
||||||
"id":"$$cap_ghost_smtp_port",
|
|
||||||
"label":"STMP port"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"defaultValue":"your_email@gmail.com",
|
|
||||||
"description":"Your user on the SMTP service",
|
|
||||||
"id":"$$cap_ghost_smtp_user",
|
|
||||||
"label":"STMP user"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description":"Your password on the SMTP service",
|
|
||||||
"id":"$$cap_ghost_smtp_password",
|
|
||||||
"label":"STMP password"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"defaultValue":"your_email@gmail.com",
|
|
||||||
"description":"STMP from address",
|
|
||||||
"id":"$$cap_ghost_smtp_from",
|
|
||||||
"label":"STMP from address"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,66 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/gitea/gitea/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "2",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"image": "mysql:$$cap_mysql_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/var/lib/mysql"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"MYSQL_ROOT_PASSWORD": "$$cap_db_pass",
|
|
||||||
"MYSQL_DATABASE": "gitea",
|
|
||||||
"MYSQL_USER": "gitea",
|
|
||||||
"MYSQL_PASSWORD": "$$cap_db_pass"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"$$cap_appname-gitea": {
|
|
||||||
"depends_on": [
|
|
||||||
"$$cap_appname-db"
|
|
||||||
],
|
|
||||||
"image": "gitea/gitea:$$cap_gitea_version",
|
|
||||||
"containerHttpPort": "3000",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-data:/data"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"RUN_MODE": "prod",
|
|
||||||
"DB_TYPE": "mysql",
|
|
||||||
"DB_HOST": "srv-captain--$$cap_appname-db:3306",
|
|
||||||
"DB_USER": "gitea",
|
|
||||||
"DB_PASSWD": "$$cap_db_pass"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "A painless self-hosted Git service. Gitea is a community managed fork of Gogs.\n\n Enter your Gitea Configuration parameters and click on next. A MySQL (database) and a Gitea container will be created for you. The process will take about a minute to finish.",
|
|
||||||
"end": "Gitea is deployed and available as $$cap_appname-gitea.\n\n Since Gitea is running inside a container, you can optionally map a port (not 22) of the host to port 22 of the container, if you want to use git commands over SSH. You can perform port mapping in your CapRover dashboard, in App Config section.\n\n IMPORTANT: It will take up to 2 minutes for Gitea to be ready. Before that, you might see 502 error page.\n"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_db_pass",
|
|
||||||
"label": "MySQL Root password",
|
|
||||||
"description": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_gitea_version",
|
|
||||||
"label": "Gitea Version",
|
|
||||||
"defaultValue": "1.7",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/gitea/gitea/tags",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_mysql_version",
|
|
||||||
"label": "MySQL Version",
|
|
||||||
"defaultValue": "5.7",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://docs.gitlab.com/omnibus/docker/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "gitlab/gitlab-ce:$$cap_gitlab_version",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-config: /etc/gitlab",
|
|
||||||
"$$cap_appname-logs: /var/log/gitlab",
|
|
||||||
"$$cap_appname-data: /var/opt/gitlab"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"containerHttpPort": "80",
|
|
||||||
"environment": {
|
|
||||||
"GITLAB_OMNIBUS_CONFIG": "$$cap_gitlab_omnibus_config"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security. \n\n More about this container:\n https://hub.docker.com/r/gitlab/gitlab-ce/ \n\n Hardware and Software requeriments can be found here:\n https://docs.gitlab.com/ce/install/requirements.html\n\n For security reasons, no port mapping is created, those can be created after deploying the app.\n More information about Caprover's Firewall & Port Forwarding and configuration can be found here:\nhttps://caprover.com/docs/firewall.html \n\nMore information about gitlab's docker configuration can be found here:\n https://docs.gitlab.com/omnibus/docker/#configure-gitlab\n\n It can take some time (2-3 minutes) for the service to launch in a new container. Check the \"Deployment\" tab logs to determine once GitLab is ready.",
|
|
||||||
"end": "Gitlab-CE is deployed and available as srv-captain--$$cap_appname:80 to other apps."
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_gitlab_version",
|
|
||||||
"label": "Gitlab-CE Version Tag",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/gitlab/gitlab-ce/tags",
|
|
||||||
"defaultValue": "11.9.8-ce.0",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_gitlab_omnibus_config",
|
|
||||||
"label": "Omnibus Config (Optional)",
|
|
||||||
"description": "More information here: https://docs.gitlab.com/omnibus/docker/#pre-configure-docker-container"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://docs.gitlab.com/runner/install/docker.html and https://docs.gitlab.com/runner/register/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "gitlab/gitlab-runner:$$cap_gitlab-runner_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-data:/etc/gitlab-runner",
|
|
||||||
"/var/run/docker.sock:/var/run/docker.sock"
|
|
||||||
],
|
|
||||||
"restart": "always"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "GitLab CI/CD is the CI/CD solution integrated into GitLab. With this one-click-app, you receive a self-hosted runner for your pipelines. To enable you to build Docker Images in your pipelines, we mount /var/run/docker.sock into the container of the runner (see https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#use-docker-socket-binding for more info). As a consequence, this container will have full access to all your other containers. If you don't need this functionality, feel free to manually remove the mounted Docker socket from the volumes.",
|
|
||||||
"end": "Head over to https://docs.gitlab.com/runner/register/ to register your newly installed runner. You can run 'docker exec -ti <runner-image-name> /bin/sh' to connect to the newly created container and follow the tutorial."
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_gitlab-runner_version",
|
|
||||||
"label": "GitLab-Runner Version",
|
|
||||||
"defaultValue": "v11.11.0",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/gitlab/gitlab-runner/tags",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Hasura GraphQL Engine",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.6",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"image": "mdillon/postgis:$$cap_mdillon_postgis_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/var/lib/postgresql/data"
|
|
||||||
],
|
|
||||||
"restart": "always"
|
|
||||||
},
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "hasura/graphql-engine:$$cap_hasura_version",
|
|
||||||
"containerHttpPort":"8080",
|
|
||||||
"depends_on": [
|
|
||||||
"$$cap_appname-db"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"HASURA_GRAPHQL_DATABASE_URL": "postgres://postgres:@srv-captain--$$cap_appname-db:5432/postgres",
|
|
||||||
"HASURA_GRAPHQL_ENABLE_CONSOLE": "true",
|
|
||||||
"HASURA_GRAPHQL_ADMIN_SECRET":"$$cap_admin_secret"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions":{
|
|
||||||
"end":"Hasura is deployed and available as $$cap_appname. \n\n IMPORTANT: It will take up to 2 minutes for Hasura to be ready. Before that, you might see 502 error page.\n",
|
|
||||||
"start":"Instant Realtime GraphQL on Postgres with web admin cosole. This Docker Compose setup runs Hasura GraphQL Engine along with a Postgres database with the PostGIS extension."
|
|
||||||
},
|
|
||||||
"variables":[
|
|
||||||
{
|
|
||||||
"defaultValue":"v1.0.0-beta.2",
|
|
||||||
"description":"Checkout their github page for their latest version https://github.com/hasura/graphql-engine",
|
|
||||||
"id":"$$cap_hasura_version",
|
|
||||||
"label":"Hasura Version",
|
|
||||||
"validRegex":"/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"defaultValue":"11",
|
|
||||||
"description":"mdillon/postgis provides a Docker container running Postgres with PostGIS installed. Checkout their Docker page for their available tags https://hub.docker.com/r/mdillon/postgis/tags",
|
|
||||||
"id":"$$cap_mdillon_postgis_version",
|
|
||||||
"label":"mdillon/postgis Version",
|
|
||||||
"validRegex":"/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description":"The admin secret gives you access to the console.",
|
|
||||||
"id":"$$cap_admin_secret",
|
|
||||||
"label":"Hasura admin secret(password)",
|
|
||||||
"validRegex":"/^(?=.*\\d).{10,}$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/jenkins/jenkins/ ",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "jenkins/jenkins:$$cap_jenkins_version",
|
|
||||||
"containerHttpPort": "8080",
|
|
||||||
"restart": "always",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-jenkins-home:/var/jenkins_home"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.\n\n It's documentation is available at: https://jenkins.io/doc/ \n\n For more details about this container, see: https://hub.docker.com/r/jenkins/jenkins/\n\n Enter your Jenkins Configuration parameters and click on next.\n\n To ensure Jenkins is securely set up by the administrator, an initial administrative password will be written to the log, available at the app Deployment tab, and this file on the server: /var/jenkins_home/secrets/initialAdminPassword.\n\n It will take about a minute for the process to finish.",
|
|
||||||
"end": "Jenkins is deployed and available as $$cap_appname"
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"id": "$$cap_jenkins_version",
|
|
||||||
"label": "Jenkins Version",
|
|
||||||
"defaultValue": "lts-jdk11",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/jenkins/jenkins/tags",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/jsreport/jsreport/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "jsreport/jsreport:$$cap_jsreport_version",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-data:/jsreport"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"containerHttpPort": "5488",
|
|
||||||
"environment": {
|
|
||||||
"extensions_authentication_admin_username": "$$cap_jsreport_adminusername",
|
|
||||||
"extensions_authentication_admin_password": "$$cap_jsreport_password",
|
|
||||||
"extensions_authentication_cookieSession_secret": "$$cap_jsreport_secret"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Reporting tools for creating PDF, HTMLS, Excel by converting your HTML + CSS + Javascript knowledge.",
|
|
||||||
"end": "Congratulations! You have the new jsReport instance running. Happy reporting!"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_jsreport_version",
|
|
||||||
"label": "version",
|
|
||||||
"defaultValue": "2.4.0-full",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/jsreport/jsreport/tags",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_jsreport_adminusername",
|
|
||||||
"label": "Admin user name",
|
|
||||||
"defaultValue": "admin",
|
|
||||||
"description": "Only use alphanumeric chars.",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_jsreport_password",
|
|
||||||
"label": "Admin password",
|
|
||||||
"validRegex": "/^\\s*\\S.*$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_jsreport_secret",
|
|
||||||
"label": "Session secret",
|
|
||||||
"defaultValue": "long-secret",
|
|
||||||
"validRegex": "/^\\s*\\S.*$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,78 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://github.com/jboss-dockerfiles/keycloak/blob/master/server/README.md",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"image": "postgres:$$cap_postgres_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/var/lib/postgresql/data"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"POSTGRES_USER": "keycloak",
|
|
||||||
"POSTGRES_PASSWORD": "$$cap_pg_pass",
|
|
||||||
"POSTGRES_DB": "keycloak"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "jboss/keycloak:$$cap_keycloak_version",
|
|
||||||
"depends_on": [
|
|
||||||
"$$cap_appname-db"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"containerHttpPort": "8080",
|
|
||||||
"environment": {
|
|
||||||
"DB_VENDOR": "postgres",
|
|
||||||
"DB_ADDR": "srv-captain--$$cap_appname-db",
|
|
||||||
"POSTGRES_DB": "keycloak",
|
|
||||||
"DB_USER": "keycloak",
|
|
||||||
"DB_PASSWORD": "$$cap_pg_pass",
|
|
||||||
"KEYCLOAK_USER": "$$cap_keycloak_user",
|
|
||||||
"KEYCLOAK_PASSWORD": "$$cap_keycloak_password",
|
|
||||||
"PROXY_ADDRESS_FORWARDING": "true"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Keycloak is an Open Source Identity and Access Management solution for modern Applications and Services. It makes it easy to secure applications and services with little to no code.\n\n For documentation, see: https://www.keycloak.org/documentation.html\n\nFor source code, see: https://github.com/keycloak/keycloak\n\nFor docker image, see: https://hub.docker.com/r/jboss/keycloak\n\n Enter your Keycloak Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "Keycloak is deployed and available as srv-captain--$$cap_appname:8080 to other apps"
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"id": "$$cap_postgres_version",
|
|
||||||
"label": "Postgres Version",
|
|
||||||
"defaultValue": "9.6",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_keycloak_version",
|
|
||||||
"label": "Keycloak Version",
|
|
||||||
"defaultValue": "6.0.1",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/jboss/keycloak/tags",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_pg_pass",
|
|
||||||
"label": "Postgres Password",
|
|
||||||
"description": "Password strength requeriments: Should contain at least one digit, one lower case, one upper case and at least 12 from the mentioned characters.",
|
|
||||||
"validRegex": "/^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{12,}$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_keycloak_user",
|
|
||||||
"label": "Keycloak user",
|
|
||||||
"description": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_keycloak_password",
|
|
||||||
"label": "Keycloak password",
|
|
||||||
"description": "Password strength requeriments: Should contain at least one digit, one lower case, one upper case and at least 12 from the mentioned characters.",
|
|
||||||
"validRegex": "/^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{12,}$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/_/mariadb.",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.1",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"dockerfileLines": [
|
|
||||||
"FROM mariadb:$$cap_mysql_version",
|
|
||||||
"CMD [\"--character-set-server=$$cap_charset\", \"--collation-server=$$cap_collation\", \"--skip-character-set-client-handshake\"]"
|
|
||||||
],
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": ["$$cap_appname-db-data:/var/lib/mysql"],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"MYSQL_ROOT_PASSWORD": "$$cap_db_pass"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "MariaDB is a community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPL. Being a fork of a leading open source software system, it is notable for being led by the original developers of MySQL, who forked it due to concerns over its acquisition by Oracle. Contributors are required to share their copyright with the MariaDB Foundation. The intent is also to maintain high compatibility with MySQL, ensuring a \"drop-in\" replacement capability with library binary equivalency and exact matching with MySQL APIs and commands. It includes the XtraDB storage engine for replacing InnoDB, as well as a new storage engine, Aria, that intends to be both a transactional and non-transactional engine perhaps even included in future versions of MySQL.",
|
|
||||||
"end": "MariaDB has been successfully deployed. The database is accessable on port 3306 inside the container. If you need to access the database externally, you will have to setup port mapping in the App configs tab. For example serverport: 3306, containerport: 3306. You can change the serverport for connection, but the containerport is predefined."
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"id": "$$cap_mysql_version",
|
|
||||||
"label": "MariaDB Version",
|
|
||||||
"defaultValue": "10.4",
|
|
||||||
"description": "Check out their Docker page for the valid tags https://hub.docker.com/_/mariadb?tab=tags",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_db_pass",
|
|
||||||
"label": "MariaDB Root password",
|
|
||||||
"description": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_charset",
|
|
||||||
"label": "Default server character set",
|
|
||||||
"description": "See the MariaDB website for supported character sets (https://mariadb.com/kb/en/library/supported-character-sets-and-collations/#character-sets)",
|
|
||||||
"defaultValue": "utf8mb4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_collation",
|
|
||||||
"label": "Default server collation",
|
|
||||||
"description": "See the MariaDB website for supported collations (https://mariadb.com/kb/en/library/supported-character-sets-and-collations/#collations)",
|
|
||||||
"defaultValue": "utf8mb4_unicode_ci"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/minio/minio",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"dockerfileLines": [
|
|
||||||
"FROM minio/minio:$$cap_minio_version",
|
|
||||||
"CMD [\"minio\", \"server\", \"/data\"]"
|
|
||||||
],
|
|
||||||
"containerHttpPort": "9000",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/data",
|
|
||||||
"$$cap_appname-config-data:/root/.minio"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"MINIO_ACCESS_KEY": "$$cap_access_key",
|
|
||||||
"MINIO_SECRET_KEY": "$$cap_secret_key"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Minio is an object storage server released under Apache License v2.0. It is compatible with Amazon S3 cloud storage service. It is best suited for storing unstructured data such as photos, videos, log files, backups and container / VM images. Size of an object can range from a few KBs to a maximum of 5TB. Minio server is light enough to be bundled with the application stack, similar to NodeJS, Redis and MySQL. \n This one click app deploy one single instance of minio. If you are deploying minio in a high demand production environment, you should consider deploying multiple instances of minio. See minio docs for more details. https://www.minio.io/",
|
|
||||||
"end": "Minio is deployed and available as $$cap_appname"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_minio_version",
|
|
||||||
"label": "Minio Version",
|
|
||||||
"defaultValue": "latest",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/minio/minio/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_access_key",
|
|
||||||
"label": "Minio Access Key",
|
|
||||||
"defaultValue": "",
|
|
||||||
"description": "Username to access minio server",
|
|
||||||
"validRegex": "/.{5,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_secret_key",
|
|
||||||
"label": "Minio Secret Key",
|
|
||||||
"defaultValue": "",
|
|
||||||
"description": "Password to access minio server",
|
|
||||||
"validRegex": "/.{8,}/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,75 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/_/mongo-express/ except it is manually adjusted for port 80",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "mongo-express:$$cap_mongoexpress_version",
|
|
||||||
"containerHttpPort": "8081",
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"ME_CONFIG_MONGODB_SERVER": "$$cap_me_server_address",
|
|
||||||
"ME_CONFIG_MONGODB_ADMINUSERNAME": "$$cap_me_server_admin_username",
|
|
||||||
"ME_CONFIG_MONGODB_ADMINPASSWORD": "$$cap_me_server_admin_password",
|
|
||||||
"ME_CONFIG_MONGODB_PORT": "$$cap_me_server_port",
|
|
||||||
"ME_CONFIG_BASICAUTH_USERNAME": "$$cap_me_dashboard_username",
|
|
||||||
"ME_CONFIG_BASICAUTH_PASSWORD": "$$cap_me_dashboard_password",
|
|
||||||
"ME_CONFIG_SITE_COOKIESECRET": "$$cap_appname$$cap_mongoexpress_version",
|
|
||||||
"ME_CONFIG_SITE_SESSIONSECRET": "$$cap_appname$$cap_mongoexpress_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "MongoExpress is a Web-based MongoDB admin interface, written with Node.js and express. See MongoExpress page for more details: https://github.com/mongo-express/mongo-express\n\n Enter your MongoExpress Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "MongoExpress is deployed and available as $$cap_appname"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_mongoexpress_version",
|
|
||||||
"label": "Mongo Express Version Tag",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/mongo-express/tags/",
|
|
||||||
"defaultValue": "0.49",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_me_server_address",
|
|
||||||
"label": "MongoDB Server Address",
|
|
||||||
"description": "If MongoDB is created by CapRover, use srv-captain--REPLACE_THIS_WITH_CONTAINER_NAME",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_me_server_port",
|
|
||||||
"label": "MongoDB Server Port (default is 27017)",
|
|
||||||
"defaultValue": "27017",
|
|
||||||
"validRegex": "/^([0-9])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_me_server_admin_username",
|
|
||||||
"label": "MongoDB Admin Username",
|
|
||||||
"defaultValue": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_me_server_admin_password",
|
|
||||||
"label": "MongoDB Admin Password",
|
|
||||||
"defaultValue": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_me_dashboard_username",
|
|
||||||
"label": "Choose a Mongo-Express Dashboard Username",
|
|
||||||
"defaultValue": "admin",
|
|
||||||
"description": "Restrict access to your Mongo Express dashboard by choosing username/pass",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_me_dashboard_password",
|
|
||||||
"label": "Mongo-Express Dashboard Password",
|
|
||||||
"defaultValue": "",
|
|
||||||
"description": "Restrict access to your Mongo Express dashboard by choosing username/pass",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/mongo/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "mongo:$$cap_mongo_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/data/db",
|
|
||||||
"$$cap_appname-db-config:/data/configdb"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"MONGO_INITDB_ROOT_USERNAME": "$$cap_mongo_username",
|
|
||||||
"MONGO_INITDB_ROOT_PASSWORD": "$$cap_mongo_password"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "MongoDB is a cross-platform document-oriented database. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemas. \n\n After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 27017 to other CapRover apps.\n\n Enter your MongoDB Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "MongoDB is deployed and available as srv-captain--$$cap_appname:27017 to other apps. For example with NodeJS: mongoose.connect('mongodb://srv-captain--$$cap_appname/mydatabase', {userMongoClient: true});"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_mongo_version",
|
|
||||||
"label": "MongoDB Version",
|
|
||||||
"defaultValue": "4",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_mongo_username",
|
|
||||||
"label": "MongoDB RootUsername",
|
|
||||||
"defaultValue": "root",
|
|
||||||
"description": "Only use alphanumeric chars.",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_mongo_password",
|
|
||||||
"label": "MongoDB password",
|
|
||||||
"validRegex": "/^\\s*\\S.*$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/_/microsoft-mssql-server",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"image": "mcr.microsoft.com/mssql/server:$$cap_server_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/var/opt/mssql"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"ACCEPT_EULA": "$$cap_accept_eula",
|
|
||||||
"MSSQL_PID": "$$cap_pid",
|
|
||||||
"MSSQL_SA_PASSWORD": "$$cap_sa_pass",
|
|
||||||
"MSSQL_TCP_PORT": "$$cap_container_port"
|
|
||||||
},
|
|
||||||
"ports": [
|
|
||||||
"$$cap_host_port:$$cap_container_port"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "SQL Server is a central part of the Microsoft data platform. SQL Server is an industry leader in operational database management systems (ODBMS). \n\nSQL Server Developer edition lets developers build any kind of application on top of SQL Server. \n\n It includes all the functionality of Enterprise edition, but is licensed for use as a development and test system, not as a production server. \n\n SQL Server Developer Edition cannot be used in a production environment. \n\n The SQL Server 2017 Developer Edition license terms are located here: https://go.microsoft.com/fwlink/?linkid=857698 .\n\n After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at the port specified for \"Container TCP Port\" field to other apps.\n\nEnter your SQL Server Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "SQL Server is deployed and available as srv-captain--$$cap_appname-db:$$cap_container_port to other apps."
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"id": "$$cap_server_version",
|
|
||||||
"label": "Version",
|
|
||||||
"defaultValue": "2017-CU12-ubuntu",
|
|
||||||
"description": "Checkout this page for the valid tags https://mcr.microsoft.com/v2/mssql/server/tags/list"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_host_port",
|
|
||||||
"label": "Host Port",
|
|
||||||
"defaultValue": "1433",
|
|
||||||
"description": "Sets the TCP port that the host exposes. This is also used for creating the port mapping.",
|
|
||||||
"validRegex": "/^([0-9])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_container_port",
|
|
||||||
"label": "Container TCP Port",
|
|
||||||
"defaultValue": "1433",
|
|
||||||
"description": "Sets the TCP port that SQL Server container listens to. This is also used for creating the port mapping.",
|
|
||||||
"validRegex": "/^([0-9])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_sa_pass",
|
|
||||||
"label": "SA Password",
|
|
||||||
"description": "The database system administrator (userid = 'sa') password used to connect to SQL Server once the container is running. Important note: This password needs to include at least 8 characters of at least three of these four categories: uppercase letters, lowercase letters, numbers and non-alphanumeric symbols."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_pid",
|
|
||||||
"label": "PID",
|
|
||||||
"description": "Set the SQL Server edition or product key. This will run the container with the edition that is associated with the PID. This the Product ID (PID) or Edition that the container will run with. Acceptable values: Developer, Express, Standard, Enterprise, EnterpriseCore : More info here: https://hub.docker.com/_/microsoft-mssql-server",
|
|
||||||
"defaultValue": "Developer"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_accept_eula",
|
|
||||||
"label": "Accept EULA (Y/N)",
|
|
||||||
"description": "Confirms your acceptance of the End-User Licensing Agreement https://go.microsoft.com/fwlink/?linkid=857698. \n By passing the value \"Y\", you are expressing that you have a valid and existing license for the edition and version of SQL Server that you intend to use. You also agree that your use of SQL Server software running in a Docker container image will be governed by the terms of your SQL Server license.",
|
|
||||||
"validRegex": "/^Y{1}$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://docs.docker.com/compose/mysql/ port mapping removed from WP as it's not needed",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"image": "mysql:$$cap_mysql_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/var/lib/mysql"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"MYSQL_ROOT_PASSWORD": "$$cap_db_pass"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "MySQL is the world's most popular open source database. With its proven performance, reliability and ease-of-use, MySQL has become the leading database choice for web-based applications, covering the entire range from personal projects and websites, via e-commerce and information services, all the way to high profile web properties including Facebook, Twitter, YouTube, Yahoo! and many more.\n\n After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 3306 to other CapRover apps.\n\nEnter your MySQL Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "MySQL is deployed and available as srv-captain--$$cap_appname-db:3306 to other apps. For example with NodeJS, you do 'var con = mysql.createConnection({ host: 'srv-captain--$$cap_appname-db', user: 'root', password: '*********' });'"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_mysql_version",
|
|
||||||
"label": "MySQL Version",
|
|
||||||
"defaultValue": "5.7",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_db_pass",
|
|
||||||
"label": "MySQL Root password",
|
|
||||||
"description": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/_/nextcloud",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "nextcloud:$$cap_nextcloud_version",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-data:/var/www/html"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "A safe home for all your data. Access & share your files, calendars, contacts, mail & more from any device, on your terms. http://Nextcloud.com",
|
|
||||||
"end": "NextCloud is deployed and available as $$cap_appname"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_nextcloud_version",
|
|
||||||
"label": "NextCloud Version",
|
|
||||||
"defaultValue": "15",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/nextcloud/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
}]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/sonatype/nexus3/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "sonatype/nexus3:$$cap__version",
|
|
||||||
"containerHttpPort": "8081",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-data:/nexus-data"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Nexus is the world's first and only universal repository solution that's FREE to use. It supports Bower, Docker, Git LFS, Maven, npm, NuGet, PyPI, Ruby Gems, Yum, Apt, Conan, R, CPAN, Raw (Universal),P2 ,Helm and ELPA.\n\nEnter your Nexus Configuration parameters and click on next. \n\n Notes:\n\nDefault credentials are: admin / admin123\n\nIt can take some time (2-3 minutes) for the service to launch in a new container. Check the \"Deployment\" tab logs to determine once Nexus is ready.",
|
|
||||||
"end": "Nexus is deployed and available as srv-captain--$$cap_appname:8081 to other apps."
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"id": "$$cap__version",
|
|
||||||
"label": "Version",
|
|
||||||
"defaultValue": "3.15.2",
|
|
||||||
"description": "Additional tags can be found here: https://hub.docker.com/r/sonatype/nexus3/tags"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://github.com/caprover/nginx-reverse-proxy",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "caprover/nginx-reverse-proxy:latest",
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"UPSTREAM_HTTP_ADDRESS": "$$cap_upstream_http_address",
|
|
||||||
"CLIENT_MAX_BODY_SIZE": "$$cap_max_body_size"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "This is a very simply reverse proxy image. It forwards all HTTP requests to the HTTP address that you define.",
|
|
||||||
"end": "Reverse Proxy is deployed and available as $$cap_appname"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_upstream_http_address",
|
|
||||||
"label": "Upstream address",
|
|
||||||
"description": "For example use https://caprover.com to forward all request to CapRover.\n If you're forwarding http requests to a CapRover internal app use http://srv-captain--yourappnamehere or if you want a particular port, use http://srv-captain--yourappnamehere:8080",
|
|
||||||
"defaultValue": "",
|
|
||||||
"validRegex": "/^(http:\\/\\/|https:\\/\\/)\\S*$/"
|
|
||||||
}, {
|
|
||||||
"id": "$$cap_max_body_size",
|
|
||||||
"label": "Client max body size",
|
|
||||||
"description": "Sets the maximum allowed size of the client request body, specified in the “Content-Length” request header field. If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is returned to the client. Please be aware that browsers cannot correctly display this error. Setting size to 0 disables checking of client request body size.",
|
|
||||||
"defaultValue": "256M",
|
|
||||||
"validRegex": "/^\\d+M$/"
|
|
||||||
}]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,79 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Built from scract (https://github.com/nightscout/cgm-remote-monitor)",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-mongodb": {
|
|
||||||
"image": "mongo:$$cap_mongo_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/data/db",
|
|
||||||
"$$cap_appname-db-config:/data/configdb"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"MONGO_INITDB_ROOT_USERNAME": "root",
|
|
||||||
"MONGO_INITDB_ROOT_PASSWORD": "$$cap_mongo_password"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"$$cap_appname-nightscout": {
|
|
||||||
"depends_on": [
|
|
||||||
"$$cap_appname-mongodb"
|
|
||||||
],
|
|
||||||
"dockerfileLines": [
|
|
||||||
"FROM node:10",
|
|
||||||
"RUN mkdir -p /opt/app",
|
|
||||||
"WORKDIR /opt/app",
|
|
||||||
"RUN git clone git://github.com/nightscout/cgm-remote-monitor.git /opt/app",
|
|
||||||
"RUN cd /opt/app && git checkout $$cap_nighscout_version && rm -rf .git",
|
|
||||||
"RUN cd /opt/app && npm install && npm run postinstall && npm run env",
|
|
||||||
"EXPOSE 1337",
|
|
||||||
"CMD [\"node\", \"server.js\"]"
|
|
||||||
],
|
|
||||||
"containerHttpPort": "1337",
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"PORT": "1337",
|
|
||||||
"INSECURE_USE_HTTP": "true",
|
|
||||||
"MONGO_CONNECTION": "mongodb://root:$$cap_mongo_password@srv-captain--$$cap_appname-mongodb:27017/nightscout?authSource=admin",
|
|
||||||
"API_SECRET": "$$cap_api_secret",
|
|
||||||
"BASE_URL": "https://replace.me.in.settings.of.website.com",
|
|
||||||
"DISPLAY_UNITS": "mg/dl"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Nightscout acts as a web-based CGM (Continuous Glucose Monitor) to allow multiple caregivers to remotely view a patient's glucose data in real time.",
|
|
||||||
"end": "Nightscout is deployed and available as $$cap_appname-nightscout."
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_mongo_version",
|
|
||||||
"label": "MongoDB Version",
|
|
||||||
"defaultValue": "4",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_mongo_password",
|
|
||||||
"label": "MongoDB password",
|
|
||||||
"description": "Only use alphanumeric chars.",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_nighscout_version",
|
|
||||||
"label": "Nighscout Version",
|
|
||||||
"defaultValue": "0.11.1",
|
|
||||||
"description": "Checkout their page for the valid tags https://github.com/nightscout/cgm-remote-monitor/releases",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_api_secret",
|
|
||||||
"label": "API key",
|
|
||||||
"description": "Use a random string (alphanumberic) - minimum 12 characters. See documentation for more details.",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9]){12,}$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/parseplatform/parse-server/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-mongodb": {
|
|
||||||
"image": "mongo:$$cap_mongo_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/data/db",
|
|
||||||
"$$cap_appname-db-config:/data/configdb"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"MONGO_INITDB_ROOT_USERNAME": "root",
|
|
||||||
"MONGO_INITDB_ROOT_PASSWORD": "$$cap_mongo_password"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"$$cap_appname-parse": {
|
|
||||||
"depends_on": [
|
|
||||||
"$$cap_appname-mongodb"
|
|
||||||
],
|
|
||||||
"image": "parseplatform/parse-server:$$cap_parse_version",
|
|
||||||
"containerHttpPort": "8080",
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"PORT": "8080",
|
|
||||||
"PARSE_SERVER_APPLICATION_ID": "$$cap_app_id",
|
|
||||||
"PARSE_SERVER_MASTER_KEY": "$$cap_master_key",
|
|
||||||
"PARSE_SERVER_DATABASE_URI": "mongodb://root:$$cap_mongo_password@srv-captain--$$cap_appname-mongodb:27017/parse?authSource=admin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Parse Server is an open source version of the Parse backend that can be deployed to any infrastructure that can run Node.js. For more information on Parse platform see http://parseplatform.org\n\n Enter your Parse Configuration parameters and click on next. A MongoDB (database) and a Parse container will be created for you. The process will take about a minute for the process to finish.",
|
|
||||||
"end": "Parse is deployed and available as $$cap_appname-parse."
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_mongo_version",
|
|
||||||
"label": "MongoDB Version",
|
|
||||||
"defaultValue": "4",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_mongo_password",
|
|
||||||
"label": "MongoDB password",
|
|
||||||
"description": "Only use alphanumeric chars.",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_parse_version",
|
|
||||||
"label": "Parse Version",
|
|
||||||
"defaultValue": "3.1.3",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/parseplatform/parse-server/tags",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_app_id",
|
|
||||||
"label": "Application ID",
|
|
||||||
"description": "Use a random string. See Parse documentation for more details.",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_master_key",
|
|
||||||
"label": "Master Key",
|
|
||||||
"description": "Use a random string. See Parse documentation for more details.",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/thajeztah/pgadmin4 ",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "thajeztah/pgadmin4:$$cap_pgadmin4_version",
|
|
||||||
"containerHttpPort": "5050",
|
|
||||||
"restart": "always",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-data:/pgadmin"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world.\n\n Enter your Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "pgAdmin is deployed and available as $$cap_appname"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_pgadmin4_version",
|
|
||||||
"label": "Version Tag",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/thajeztah/pgadmin4/tags/",
|
|
||||||
"defaultValue": "3.6",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "See https://hub.docker.com/r/sosedoff/pgweb for details",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "sosedoff/pgweb:$$cap_pgweb_version",
|
|
||||||
"containerHttpPort": "8081",
|
|
||||||
"restart": "always"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "pgweb is a web-based database browser for PostgreSQL, written in Go.",
|
|
||||||
"end": "pgweb is deployed."
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_pgweb_version",
|
|
||||||
"label": "pgweb Version",
|
|
||||||
"defaultValue": "0.11.2",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/sosedoff/pgweb/tags",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/phpmyadmin/phpmyadmin/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "phpmyadmin/phpmyadmin:$$cap_pma_version",
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"PMA_ARBITRARY": "1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "PhpMyAdmin is the most popular web interface for MySQL & MariaDB. Simply install PhpMyAdmin and then select what database you want to connect to.\n\n Enter your PhpMyAdmin Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "PhpMyAdmin is deployed and available as $$cap_appname"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_pma_version",
|
|
||||||
"label": "PHP My Admin Version Tag",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/phpmyadmin/phpmyadmin/tags/",
|
|
||||||
"defaultValue": "4.8",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
}]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/portainer/portainer/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"containerHttpPort": "9000",
|
|
||||||
"image": "portainer/portainer:$$cap_portainer_version",
|
|
||||||
"volumes": [
|
|
||||||
"/var/run/docker.sock:/var/run/docker.sock",
|
|
||||||
"$$cap_appname-data:/data"
|
|
||||||
],
|
|
||||||
"restart": "always"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Portainer is a lightweight management UI which allows you to easily manage your Docker host or Swarm cluster. \n\n More information about this container can be found here:\n https://hub.docker.com/r/portainer/portainer/ .\n\n After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 9000 to other CapRover apps .\n\nEnter your portainer Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "Portainer is deployed and available as srv-captain--$$cap_appname:9000 to other apps."
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"id": "$$cap_portainer_version",
|
|
||||||
"label": "Portainer Version",
|
|
||||||
"defaultValue": "1.20.2",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/portainer/portainer/tags",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Read the poste.io documentation @ https://poste.io/doc",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.7",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "analogic/poste.io:$$cap_poste_version",
|
|
||||||
"ports": [
|
|
||||||
"25:25",
|
|
||||||
"110:110",
|
|
||||||
"143:143",
|
|
||||||
"465:465",
|
|
||||||
"587:587",
|
|
||||||
"993:993",
|
|
||||||
"995:995",
|
|
||||||
"4190:4190"
|
|
||||||
],
|
|
||||||
"volumes": [
|
|
||||||
"/etc/localtime:/etc/localtime:ro",
|
|
||||||
"$$cap_appname-data:/data"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"HTTPS": "OFF",
|
|
||||||
"LETSENCRYPT_EMAIL": "$$cap_email",
|
|
||||||
"LETSENCRYPT_HOST": "$$cap_host",
|
|
||||||
"VIRTUAL_HOST": "$$cap_host"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "SMTP + IMAP + POP3 + Antispam + Antivirus\nWeb administration + Web email\n...on your server in ~5 minutes\n\nRecommended: Use\"mail\" as the App Name.",
|
|
||||||
"end": "Poste is deployed and available as $$cap_appname. \n\n IMPORTANT: It will take up to 2 minutes for Poste to be ready. Before that, you might see 502 error page.\nThe trick to not getting marked as spam is to properly set up the reverse DNS for your server, DKIM, and SPF records."
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"id": "$$cap_poste_version",
|
|
||||||
"label": "Poste.io version tag",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/analogic/poste.io/tags",
|
|
||||||
"defaultValue": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_email",
|
|
||||||
"label": "Email Address",
|
|
||||||
"description": "The email address used for Lets Encrpt certificates."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_host",
|
|
||||||
"label": "Hostname",
|
|
||||||
"description": "The full hostname for this captain app. (usually mail.mydomain.com)"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://docs.docker.com/compose/mysql/ port mapping removed from WP as it's not needed",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"image": "postgres:$$cap_postgres_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/var/lib/postgresql/data"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"POSTGRES_USER": "$$cap_pg_user",
|
|
||||||
"POSTGRES_PASSWORD": "$$cap_pg_pass",
|
|
||||||
"POSTGRES_DB": "$$cap_pg_db",
|
|
||||||
"POSTGRES_INITDB_ARGS": "$$cap_pg_initdb_args"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "PostgreSQL, often simply Postgres, is an object-relational database management system (ORDBMS) with an emphasis on extensibility and standards-compliance. As a database server, its primary function is to store data, securely and supporting best practices, and retrieve it later, as requested by other software applications, be it those on the same computer or those running on another computer across a network (including the Internet). It can handle workloads ranging from small single-machine applications to large Internet-facing applications with many concurrent users.\n\n After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 5432 to other CapRover apps.\n\n Enter your Postgres Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "Postgres is deployed and available as srv-captain--$$cap_appname-db:5432 to other apps. For example with NodeJS: 'const client = new Client({ user: 'cap_pg_user', host: 'srv-captain--$$cap_appname', database: 'cap_pg_db', password: '********', port: 5432})'"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_postgres_version",
|
|
||||||
"label": "Postgres Version",
|
|
||||||
"defaultValue": "9.6",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_pg_user",
|
|
||||||
"label": "Postgres Username",
|
|
||||||
"description": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_pg_pass",
|
|
||||||
"label": "Postgres Password",
|
|
||||||
"description": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_pg_db",
|
|
||||||
"label": "Postgres Default Database",
|
|
||||||
"description": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_pg_initdb_args",
|
|
||||||
"label": "OPTIONAL: Arguments for 'postgres initdb'",
|
|
||||||
"description": "For example, --data-checksums",
|
|
||||||
"validRegex": "/.{0,}/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/prismagraphql/prisma/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"image": "mysql:$$cap_mysql_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"MYSQL_ROOT_PASSWORD": "$$cap_db_pass"
|
|
||||||
},
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/var/lib/mysql"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "prismagraphql/prisma:$$cap_prisma_version",
|
|
||||||
"restart": "always",
|
|
||||||
"ports": [
|
|
||||||
"4466:4466"
|
|
||||||
],
|
|
||||||
"containerHttpPort": "4466",
|
|
||||||
"depends_on": [
|
|
||||||
"$$cap_appname-db"
|
|
||||||
],
|
|
||||||
"environment": {
|
|
||||||
"PRISMA_CONFIG": "managementApiSecret: $$cap_management_secret\nport: 4466\ndatabases:\n default:\n connector: mysql\n host: srv-captain--$$cap_appname-db\n port: 3306\n user: root\n password: $$cap_db_pass\n migrations: true\n"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"volumes": {
|
|
||||||
"mysql": null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"end": "Prisma is deployed and available as $$cap_appname.",
|
|
||||||
"start": "Prisma - Database tools for modern application development. This setup runs Prisma along with a MySQL Database."
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"id": "$$cap_prisma_version",
|
|
||||||
"label": "Prisma Version",
|
|
||||||
"defaultValue": "1.29",
|
|
||||||
"description": "Checkout their GitHub page for their latest version https://github.com/prisma/prisma",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_mysql_version",
|
|
||||||
"label": "MySQL Version",
|
|
||||||
"defaultValue": "5.7",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_db_pass",
|
|
||||||
"label": "Database password",
|
|
||||||
"description": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_management_secret",
|
|
||||||
"label": "Prisma Management API secret",
|
|
||||||
"description": "To ensure only entitled users are able to perform actions through the Management API. Minimum 10 characters, at least one letter and one number.",
|
|
||||||
"validRegex": "/^(?=.*\\d).{10,}$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/_/rabbitmq",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "rabbitmq:$$cap_rabbitmq_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-rabbitmq-data:/var/lib/rabbitmq"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"RABBITMQ_DEFAULT_USER": "$$cap_rabbitmq_user",
|
|
||||||
"RABBITMQ_DEFAULT_PASS": "$$cap_rabbitmq_password",
|
|
||||||
"RABBITMQ_NODENAME": "$$cap_rabbitmq_nodename"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "RabbitMQ is open source message broker software (sometimes called message-oriented middleware) that implements the Advanced Message Queuing Protocol (AMQP). The RabbitMQ server is written in the Erlang programming language and is built on the Open Telecom Platform framework for clustering and failover. Client libraries to interface with the broker are available for all major programming languages.\n\n Enter your RabbitMQ Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "RabbitMQ is deployed and available as srv-captain--$$cap_appname:5672 to other apps."
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_rabbitmq_version",
|
|
||||||
"label": "RabbitMQ Version Tag",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/rabbitmq/tags/",
|
|
||||||
"defaultValue": "3.7",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_rabbitmq_user",
|
|
||||||
"label": "RabbitMQ Default User",
|
|
||||||
"description": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_rabbitmq_password",
|
|
||||||
"label": "RabbitMQ Default Password",
|
|
||||||
"description": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_rabbitmq_nodename",
|
|
||||||
"label": "RabbitMQ Nodename",
|
|
||||||
"description": "Nodename is appended to the end of the database directory.",
|
|
||||||
"defaultValue": "rabbit@localhost",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/hardware/rainloop",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "2",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "hardware/rainloop:$$cap_rainloop_version",
|
|
||||||
"containerHttpPort": "8888",
|
|
||||||
"restart": "always",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-data:/rainloop/data"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"volumes": {
|
|
||||||
"$$cap_appname-data": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Rainloop is a simple, modern & fast web-based email client. \n\n For initial configuration, see https://www.rainloop.net/docs/configuration/",
|
|
||||||
"end": "Rainloop is deployed and available as $$cap_appname. \n\n It will take about a minute for Rainloop to be ready. Before that, you might see 502 error page."
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"id": "$$cap_rainloop_version",
|
|
||||||
"label": "Rainloop Version",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/hardware/rainloop/tags",
|
|
||||||
"defaultValue": "1.12.0",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/_/redis",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"dockerfileLines": [
|
|
||||||
"FROM redis:$$cap_redis_version",
|
|
||||||
"CMD exec redis-server --requirepass \"$$cap_redis_password\""
|
|
||||||
],
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-redis-data:/data"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"REDIS_PASSWORD": "$$cap_redis_password"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Redis is an open source key-value store that functions as a data structure server.\n\n After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 6379 to other CapRover apps.\n\n Enter your Redis container name and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "Redis is deployed and available as srv-captain--$$cap_appname:6379 to other apps. For example with NodeJS: const client = redis.createClient(6379, 'srv-captain--$$cap_appname' , {password: '$$cap_redis_password'})"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_redis_version",
|
|
||||||
"label": "Redis Version Tag",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/redis/tags/",
|
|
||||||
"defaultValue": "4",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_redis_password",
|
|
||||||
"label": "Redis Password",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9-_])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,214 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/_/sentry/ and https://docs.sentry.io/server/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-postgres": {
|
|
||||||
"image": "postgres:$$cap_postgres_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-postgres-data:/var/lib/postgresql/data"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"POSTGRES_USER": "sentry",
|
|
||||||
"POSTGRES_PASSWORD": "$$cap_pg_pass",
|
|
||||||
"POSTGRES_DB": "sentry"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"$$cap_appname-redis": {
|
|
||||||
"dockerfileLines": [
|
|
||||||
"FROM redis:$$cap_redis_version",
|
|
||||||
"CMD exec redis-server"
|
|
||||||
],
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-redis-data:/data"
|
|
||||||
],
|
|
||||||
"restart": "always"
|
|
||||||
},
|
|
||||||
"$$cap_appname-cron": {
|
|
||||||
"depends_on": [
|
|
||||||
"$$cap_appname"
|
|
||||||
],
|
|
||||||
"dockerfileLines": [
|
|
||||||
"FROM sentry:$$cap_sentry_version",
|
|
||||||
"RUN groupadd -r $$cap_appname-cron && useradd -r -g $$cap_appname-cron $$cap_appname-cron",
|
|
||||||
"USER $$cap_appname-cron",
|
|
||||||
"CMD sentry run cron"
|
|
||||||
],
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"SENTRY_SECRET_KEY": "$$cap_sentry_secret",
|
|
||||||
"SENTRY_REDIS_HOST": "srv-captain--$$cap_appname-redis"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"$$cap_appname-worker": {
|
|
||||||
"depends_on": [
|
|
||||||
"$$cap_appname-cron"
|
|
||||||
],
|
|
||||||
"dockerfileLines": [
|
|
||||||
"FROM sentry:$$cap_sentry_version",
|
|
||||||
"RUN groupadd -r $$cap_appname-worker && useradd -r -g $$cap_appname-worker $$cap_appname-worker",
|
|
||||||
"USER $$cap_appname-worker",
|
|
||||||
"CMD sentry run worker"
|
|
||||||
],
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"SENTRY_SECRET_KEY": "$$cap_sentry_secret",
|
|
||||||
"SENTRY_REDIS_HOST": "srv-captain--$$cap_appname-redis",
|
|
||||||
"SENTRY_REDIS_PORT": "6379",
|
|
||||||
"SENTRY_POSTGRES_HOST": "srv-captain--$$cap_appname-postgres",
|
|
||||||
"SENTRY_DB_NAME": "sentry",
|
|
||||||
"SENTRY_DB_USER": "sentry",
|
|
||||||
"SENTRY_DB_PASSWORD": "$$cap_pg_pass"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"$$cap_appname": {
|
|
||||||
"dockerfileLines": [
|
|
||||||
"FROM sentry:$$cap_sentry_version",
|
|
||||||
"RUN echo 'auth.allow-registration: false' > /etc/sentry/config.yml",
|
|
||||||
"RUN echo 'beacon.anonymous: true' >> /etc/sentry/config.yml",
|
|
||||||
"RUN echo 'mail.from: \"\"' >> /etc/sentry/config.yml",
|
|
||||||
"RUN echo 'mail.host: \"\"' >> /etc/sentry/config.yml",
|
|
||||||
"RUN echo 'mail.password: \"\"' >> /etc/sentry/config.yml",
|
|
||||||
"RUN echo 'mail.port: 465' >> /etc/sentry/config.yml",
|
|
||||||
"RUN echo 'mail.use-tls: true' >> /etc/sentry/config.yml",
|
|
||||||
"RUN echo 'mail.username: \"\"' >> /etc/sentry/config.yml",
|
|
||||||
"RUN echo 'system.admin-email: \"\"' >> /etc/sentry/config.yml",
|
|
||||||
"RUN echo 'system.url-prefix: \"\"' >> /etc/sentry/config.yml",
|
|
||||||
"RUN echo '#!/bin/bash' >> ./init.sh",
|
|
||||||
"RUN echo 'echo Starting configuration. The App will restart multiple times.' >> ./init.sh",
|
|
||||||
"RUN echo 'echo 1 of 4 : running upgrade' >> ./init.sh",
|
|
||||||
"RUN echo 'sentry upgrade --noinput --traceback --no-repair' >> ./init.sh",
|
|
||||||
"RUN echo 'echo 2 of 4 : set sentry:version-configured' >> ./init.sh",
|
|
||||||
"RUN echo 'sentry config set sentry:version-configured ${CAP_SENTRY_VERSION}' >> ./init.sh",
|
|
||||||
"RUN echo 'echo 3 of 4 : creating user' >> ./init.sh",
|
|
||||||
"RUN echo 'sentry createuser --email=${CAP_SENTRY_SUPERUSER_EMAIL} --password=${CAP_SENTRY_SUPERUSER_PASSWORD} --superuser --no-input' >> ./init.sh",
|
|
||||||
"RUN echo 'echo Configuration completed!' >> ./init.sh",
|
|
||||||
"RUN echo 'echo 4 of 4 : starting application' >> ./init.sh",
|
|
||||||
"RUN echo 'sentry run web' >> ./init.sh",
|
|
||||||
"RUN chmod +x init.sh",
|
|
||||||
"RUN groupadd -r $$cap_appname-sentry && useradd -r -g $$cap_appname-sentry $$cap_appname-sentry",
|
|
||||||
"USER $$cap_appname-sentry",
|
|
||||||
"CMD [\"./init.sh\"]"
|
|
||||||
],
|
|
||||||
"containerHttpPort": "9000",
|
|
||||||
"depends_on": [
|
|
||||||
"$$cap_appname-postgres",
|
|
||||||
"$$cap_appname-redis"
|
|
||||||
],
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-data:/var/lib/sentry/files"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"CAP_SENTRY_VERSION": "$$cap_sentry_version",
|
|
||||||
"CAP_SENTRY_SUPERUSER_EMAIL": "$$cap_sentry_superuser_email",
|
|
||||||
"CAP_SENTRY_SUPERUSER_PASSWORD": "$$cap_sentry_superuser_password",
|
|
||||||
"SENTRY_POSTGRES_HOST": "srv-captain--$$cap_appname-postgres",
|
|
||||||
"SENTRY_REDIS_HOST": "srv-captain--$$cap_appname-redis",
|
|
||||||
"SENTRY_REDIS_PORT": "6379",
|
|
||||||
"SENTRY_DB_NAME": "sentry",
|
|
||||||
"SENTRY_DB_USER": "sentry",
|
|
||||||
"SENTRY_DB_PASSWORD": "$$cap_pg_pass",
|
|
||||||
"SENTRY_SECRET_KEY": "$$cap_sentry_secret",
|
|
||||||
"SENTRY_MAILGUN_API_KEY": "$$cap_mailgun_apikey",
|
|
||||||
"SENTRY_SERVER_EMAIL": "$$cap_sentry_server_mail",
|
|
||||||
"SENTRY_EMAIL_HOST": "$$cap_sentry_email_host",
|
|
||||||
"SENTRY_EMAIL_PORT": "$$cap_sentry_email_port",
|
|
||||||
"SENTRY_EMAIL_USER": "$$cap_sentry_email_user",
|
|
||||||
"SENTRY_EMAIL_PASSWORD": "$$cap_sentry_email_password",
|
|
||||||
"SENTRY_EMAIL_USE_TLS": "$$cap_sentry_email_use_tls"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Open-source error tracking that helps developers monitor and fix crashes in real time.\n\n Information about this container:\n https://hub.docker.com/_/sentry/ \n\nDocumentation:\n https://docs.sentry.io/server/\n\nMinimum Hardware Requirements: At least 3GB Ram\nNot filling this requirement may cause some errors during the initial configuration when running the database migrations.\n\n Enter your Sentry Configuration parameters and click on next. The initial installation will take about 5 minutes for the process to finish.",
|
|
||||||
"end": "Sentry is deployed and available as srv-captain--$$cap_appname:9000. \n\n IMPORTANT: It will take up to 10 minutes for Sentry to be ready. Before that, you might see 502 error page.\n"
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"id": "$$cap_postgres_version",
|
|
||||||
"label": "Postgres Version Tag",
|
|
||||||
"defaultValue": "9.6",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_redis_version",
|
|
||||||
"label": "Redis Version Tag",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/redis/tags/",
|
|
||||||
"defaultValue": "3.2-alpine",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_sentry_version",
|
|
||||||
"label": "Sentry Version Tag",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/_/sentry/",
|
|
||||||
"defaultValue": "9.1.0",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_pg_pass",
|
|
||||||
"label": "Postgres Password",
|
|
||||||
"description": "Password strength requeriments: Should contain at least one digit, one lower case, one upper case and at least 12 from the mentioned characters.",
|
|
||||||
"validRegex": "/^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{12,}$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_sentry_secret",
|
|
||||||
"label": "Sentry Secret",
|
|
||||||
"description": "A secret key used for cryptographic functions within Sentry. This key should be unique and consistent across all running instances. You can generate a new secret key doing something like: docker run --rm sentry config generate-secret-key. Minimum length: 50 characters.",
|
|
||||||
"validRegex": "/^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{50,}$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_sentry_superuser_email",
|
|
||||||
"label": "Sentry Superuser Email",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_sentry_superuser_password",
|
|
||||||
"label": "Sentry Superuser Password",
|
|
||||||
"description": "Password strength requeriments: Should contain at least one digit, one lower case, one upper case and at least 12 from the mentioned characters.",
|
|
||||||
"validRegex": "/^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{12,}$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_sentry_server_mail",
|
|
||||||
"label": "Sentry Server Email (optional)",
|
|
||||||
"description": "The email address used for From: in outbound emails.",
|
|
||||||
"defaultValue": "root@localhost",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_sentry_email_host",
|
|
||||||
"label": "SMTP email host (optional)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_sentry_email_port",
|
|
||||||
"label": "SMTP email port (optional)",
|
|
||||||
"defaultValue": 465
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_sentry_email_user",
|
|
||||||
"label": "SMTP email user (optional)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_sentry_email_password",
|
|
||||||
"label": "SMTP email password (optional)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_sentry_email_use_tls",
|
|
||||||
"label": "SMTP use tls (optional)",
|
|
||||||
"defaultValue": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_mailgun_apikey",
|
|
||||||
"label": "Mailgun Api key (optional)",
|
|
||||||
"description": "If you're using Mailgun for inbound mail, set your API key and configure a route to forward to /api/hooks/mailgun/inbound/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/_/sonarqube?tab=description",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"image": "postgres:$$cap_postgres_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/var/lib/postgresql/data"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"POSTGRES_USER": "sonarqube",
|
|
||||||
"POSTGRES_PASSWORD": "$$cap_pg_pass",
|
|
||||||
"POSTGRES_DB": "sonarqube",
|
|
||||||
"POSTGRES_INITDB_ARGS": "$$cap_pg_initdb_args"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "sonarqube:$$cap_sonar_version",
|
|
||||||
"containerHttpPort": "9000",
|
|
||||||
"depends_on": [
|
|
||||||
"$$cap_appname-db"
|
|
||||||
],
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-conf:/opt/sonarqube/conf",
|
|
||||||
"$$cap_appname-data:/opt/sonarqube/data",
|
|
||||||
"$$cap_appname-logs:/opt/sonarqube/logs",
|
|
||||||
"$$cap_appname-extensions:/opt/sonarqube/extensions"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"sonar.jdbc.username": "sonarqube",
|
|
||||||
"sonar.jdbc.password": "$$cap_pg_pass",
|
|
||||||
"sonar.jdbc.url": "jdbc:postgresql://srv-captain--$$cap_appname-db/sonarqube"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "SonarQube is an open source product for continuous inspection of code quality. \n This Docker image contains the Community Edition of SonarQube.\n\n Enter your Sonarqube Configuration parameters and click on next. \n\n More information about this container can be found here:\n https://hub.docker.com/_/sonarqube?tab=description\n\n Default username: admin\n Default password: admin\n\n It will take about a minute for the process to finish.",
|
|
||||||
"end": "SonarQube is deployed and available as srv-captain--$$cap_appname:9000 to other apps."
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"id": "$$cap_postgres_version",
|
|
||||||
"label": "Postgres Version",
|
|
||||||
"defaultValue": "9.6",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_sonar_version",
|
|
||||||
"label": "Sonarqube Version",
|
|
||||||
"defaultValue": "7.7-community",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/_/sonarqube?tab=tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_pg_pass",
|
|
||||||
"label": "Postgres Password",
|
|
||||||
"description": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_pg_initdb_args",
|
|
||||||
"label": "OPTIONAL: Arguments for 'postgres initdb'",
|
|
||||||
"description": "For example, --data-checksums",
|
|
||||||
"validRegex": "/.{0,}/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/sourcegraph/server/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"containerHttpPort":"7080",
|
|
||||||
"image": "sourcegraph/server:$$cap_container_version",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-config:/etc/sourcegraph",
|
|
||||||
"$$cap_appname-data:/var/opt/sourcegraph"
|
|
||||||
],
|
|
||||||
"restart": "always"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Sourcegraph is a code search and navigation tool (open-source/self-hosted). \n\n More information about this container can be found here: https://hub.docker.com/r/sourcegraph/server/ .\n\n After installation on CapRover, it will be available as srv-captain--YOUR_CONTAINER_NAME at port 7080 to other CapRover apps. \n\nEnter your Sourcegraph Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "Sourcegraph is deployed and available as srv-captain--$$cap_appname:7080 to other apps. Open the application to create the administrator account. \n\n SECURITY: If the site has no users (i.e., during initial setup), it will always allow the first user to sign up and become site admin **without any approval** (first user to sign up becomes the admin).\n\n In order to use administration console, for critical configurations, the port 2633 needs to be mapped on the host. This port is not mapped, by default, for security reasons and because it's required only for special configurations. The administation console requires an admin username and a strong readonly password generated by the application.\n\n More information about the administration console can be found here: \nhttps://docs.sourcegraph.com/admin/management_console \n\nTo disable the signup option for other users use the administration console and change the boolean property \"allowSignup\" to false. More information here: https://docs.sourcegraph.com/admin/config/critical_config#builtin-password-authentication"
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"id": "$$cap_container_version",
|
|
||||||
"label": "Version",
|
|
||||||
"defaultValue": "3.2.2",
|
|
||||||
"description": "Additional tags can be found here: https://hub.docker.com/r/sourcegraph/server/tags",
|
|
||||||
"validRegex":"/^([^\\s^\\/])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://github.com/strapi/strapi-docker/blob/master/docker-compose.yml",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-core": {
|
|
||||||
"depends_on": [
|
|
||||||
"$$cap_appname-mongo"
|
|
||||||
],
|
|
||||||
"containerHttpPort": "1337",
|
|
||||||
"dockerfileLines": [
|
|
||||||
"FROM node:11.1.0-alpine",
|
|
||||||
"WORKDIR /usr/src/api",
|
|
||||||
"RUN echo \"unsafe-perm = true\" >> ~/.npmrc",
|
|
||||||
"RUN npm install -g strapi@$$cap_strapi_version",
|
|
||||||
"ADD https://raw.githubusercontent.com/strapi/strapi-docker/b0b3cab55b993c00690b249a89e09b3db7073fca/strapi.sh ./strapi.sh",
|
|
||||||
"RUN chmod +x ./strapi.sh",
|
|
||||||
"EXPOSE 1337",
|
|
||||||
"CMD [\"./strapi.sh\"]"
|
|
||||||
],
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-data:/usr/src/api/$$cap_appname"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"APP_NAME": "$$cap_appname",
|
|
||||||
"DATABASE_CLIENT": "mongo",
|
|
||||||
"DATABASE_HOST": "srv-captain--$$cap_appname-mongo",
|
|
||||||
"DATABASE_PORT": "27017",
|
|
||||||
"DATABASE_NAME": "strapi",
|
|
||||||
"DATABASE_USERNAME": "root",
|
|
||||||
"DATABASE_PASSWORD": "$$cap_mongo_password",
|
|
||||||
"HOST": "localhost",
|
|
||||||
"DATABASE_AUTHENTICATION_DATABASE": "admin"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"$$cap_appname-mongo": {
|
|
||||||
"image": "mongo:$$cap_mongo_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-mongo-data:/data/db",
|
|
||||||
"$$cap_appname-mongo-config:/data/configdb"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"MONGO_INITDB_DATABASE": "strapi",
|
|
||||||
"MONGO_INITDB_ROOT_USERNAME": "root",
|
|
||||||
"MONGO_INITDB_ROOT_PASSWORD": "$$cap_mongo_password"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"volumes": {
|
|
||||||
"db_data": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "API creation made simple, secure and fast. The most advanced open-source Content Management Framework to build powerful API with no effort. Read more here: https://strapi.io \n\nNOTE: Hardware requirements: \n2GB minimum RAM required\n1Ghz minimum CPU clock speed",
|
|
||||||
"end": "Strapi is deployed and available as $$cap_appname-core \n IMPORTANT!! It takes up to 2 minutes for Strapi to boot up. You will see 502 Error until the startup is finished."
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_strapi_version",
|
|
||||||
"label": "Strapi Version",
|
|
||||||
"defaultValue": "3.0.0-alpha.24.1",
|
|
||||||
"description": "Checkout their GitHub page for the valid versions https://github.com/strapi/strapi/releases",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_mongo_version",
|
|
||||||
"label": "MongoDB Version",
|
|
||||||
"defaultValue": "4",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/mongo/tags/",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_mongo_password",
|
|
||||||
"label": "MongoDB password",
|
|
||||||
"description": "Only use alphanumeric chars.",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/minimalcompact/thumbor/tags/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"image": "minimalcompact/thumbor:$$cap_thumbor_version",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-thumbor:/data"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"THUMBOR_PORT": "80"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "thumbor is a smart imaging service. It enables on-demand crop, resizing and flipping of images. It also features a VERY smart detection of important points in the image for better cropping and resizing, using state-of-the-art face and feature detection algorithms (more on that in Detection Algorithms). Using thumbor is very easy (after it is running). All you have to do is access it using an URL for an image, like this:\n http://<thumbor-server>/300x200/smart/s.glbimg.com/et/bb/f/original/2011/03/24/VN0JiwzmOw0b0lg.jpg\n\n See http://thumbor.org for more details. \n\n Enter your thumbor Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "thumbor is deployed and available as $$cap_appname-db. Go to YOUR_APP_URL/unsafe/200x50/i.imgur.com/bvjzPct.jpg to test thumbor!"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_thumbor_version",
|
|
||||||
"label": "Thumbor Version",
|
|
||||||
"defaultValue": "6.7.0",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/minimalcompact/thumbor/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
}]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/verdaccio/verdaccio/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "verdaccio/verdaccio:$$cap__verdaccio_version",
|
|
||||||
"containerHttpPort": "4873",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-storage:/verdaccio/storage",
|
|
||||||
"$$cap_appname-conf:/verdaccio/conf",
|
|
||||||
"$$cap_appname-plugins:/verdaccio/plugins"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Verdaccio is a simple, zero-config-required local private npm registry. \n\n No need for an entire database just to get started! Verdaccio comes out of the box with its own tiny database, and the ability to proxy other registries (eg. npmjs.org), caching the downloaded modules along the way. For those looking to extend their storage capabilities, Verdaccio supports various community-made plugins to hook into services such as Amazon's s3, Google Cloud Storage or create your own plugin. \n\n For more details, see: https://hub.docker.com/r/verdaccio/verdaccio\n\n Enter your verdaccio Configuration parameters and click on next. It will take about a minute for the process to finish.",
|
|
||||||
"end": "Verdaccio is deployed and available as srv-captain--$$cap_appname:4873 to other apps.."
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"id": "$$cap__verdaccio_version",
|
|
||||||
"label": "Verdaccio Version",
|
|
||||||
"defaultValue": "3.11.6",
|
|
||||||
"description": "Additional tags can be found here: https://hub.docker.com/r/verdaccio/verdaccio/tags"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://hub.docker.com/r/microsoft/vsts-agent/",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname": {
|
|
||||||
"image": "microsoft/vsts-agent:$$cap_vsts_version",
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"VSTS_ACCOUNT": "$$cap_vsts_account",
|
|
||||||
"VSTS_TOKEN": "$$cap_vsts_token",
|
|
||||||
"VSTS_AGENT": "$$cap_vsts_name",
|
|
||||||
"VSTS_POOL": "$$cap_vsts_pool"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "Official image for the Visual Studio Team Services (VSTS) agent.",
|
|
||||||
"end": "VSTS Agent is deployed and available as $$cap_appname"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_vsts_version",
|
|
||||||
"label": "VSTS Version Tag",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/microsoft/vsts-agent/tags/",
|
|
||||||
"defaultValue": "ubuntu-16.04-standard",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_vsts_account",
|
|
||||||
"label": "VSTS Account",
|
|
||||||
"description": "The name of the Visual Studio account. Take only the account part from your address, e.g. http://{account}.visualstudio.com",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_vsts_token",
|
|
||||||
"label": "VSTS Token",
|
|
||||||
"description": "A personal access token (PAT) for the Visual Studio account that has been given at least the Agent Pools (read, manage) scope.",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_vsts_name",
|
|
||||||
"label": "VSTS Agent Name",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_vsts_pool",
|
|
||||||
"label": "VSTS Pool",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,73 +0,0 @@
|
||||||
{
|
|
||||||
"captainVersion": "1",
|
|
||||||
"documentation": "Taken from https://docs.docker.com/compose/wordpress/ port mapping removed from WP as it's not needed",
|
|
||||||
"dockerCompose": {
|
|
||||||
"version": "3.3",
|
|
||||||
"services": {
|
|
||||||
"$$cap_appname-db": {
|
|
||||||
"image": "mysql:$$cap_mysql_version",
|
|
||||||
"notExposeAsWebApp": "true",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-db-data:/var/lib/mysql"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"MYSQL_ROOT_PASSWORD": "$$cap_db_pass",
|
|
||||||
"MYSQL_DATABASE": "wordpress",
|
|
||||||
"MYSQL_USER": "$$cap_db_user",
|
|
||||||
"MYSQL_PASSWORD": "$$cap_db_pass"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"$$cap_appname-wordpress": {
|
|
||||||
"depends_on": [
|
|
||||||
"$$cap_appname-db"
|
|
||||||
],
|
|
||||||
"image": "wordpress:$$cap_wp_version",
|
|
||||||
"volumes": [
|
|
||||||
"$$cap_appname-wp-data:/var/www/html"
|
|
||||||
],
|
|
||||||
"restart": "always",
|
|
||||||
"environment": {
|
|
||||||
"WORDPRESS_DB_HOST": "srv-captain--$$cap_appname-db:3306",
|
|
||||||
"WORDPRESS_DB_USER": "$$cap_db_user",
|
|
||||||
"WORDPRESS_DB_PASSWORD": "$$cap_db_pass"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"volumes": {
|
|
||||||
"db_data": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"instructions": {
|
|
||||||
"start": "WordPress is an online, open source website creation tool written in PHP. But in non-geek speak, it’s probably the easiest and most powerful blogging and website content management system (or CMS) in existence today.\n\n Enter your WordPress Configuration parameters and click on next. A MySQL (database) and a WordPress container will be created for you. The process will take about a minute for the process to finish.",
|
|
||||||
"end": "Wordpress is deployed and available as $$cap_appname-wordpress . \n\n IMPORTANT: It will take up to 2 minutes for wordpress to be ready. Before that, you might see 502 error page.\n"
|
|
||||||
},
|
|
||||||
"variables": [{
|
|
||||||
"id": "$$cap_db_user",
|
|
||||||
"label": "Database user",
|
|
||||||
"defaultValue": "wordpressuser",
|
|
||||||
"validRegex": "/^([a-zA-Z0-9])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_db_pass",
|
|
||||||
"label": "Database password",
|
|
||||||
"description": "",
|
|
||||||
"validRegex": "/.{1,}/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_wp_version",
|
|
||||||
"label": "WordPress Version",
|
|
||||||
"defaultValue": "4.9",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/wordpress/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "$$cap_mysql_version",
|
|
||||||
"label": "MySQL Version",
|
|
||||||
"defaultValue": "5.7",
|
|
||||||
"description": "Checkout their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/",
|
|
||||||
"validRegex": "/^([^\\s^\\/])+$/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue