one-click-apps/public/v2/apps/outline.json

132 lines
5.6 KiB
JSON

{
"captainVersion": "2",
"documentation": "Taken from https://github.com/outline/outline/blob/master/docker-compose.yml",
"displayName": "Outline",
"description": "An open, extensible, wiki for your team built using React and Node.js.",
"isOfficial": true,
"dockerCompose": {
"services": {
"$$cap_appname-redis": {
"image": "redis:5",
"notExposeAsWebApp": "true"
},
"$$cap_appname-fakes3": {
"image": "lphoward/fake-s3",
"volumes": ["$$cap_appname-fakes3:/fakes3_root"],
"notExposeAsWebApp": "true"
},
"$$cap_appname-db": {
"image": "postgres:12.2",
"notExposeAsWebApp": "true",
"volumes": ["$$cap_appname-db-data:/var/lib/postgresql/data"],
"restart": "always",
"environment": {
"POSTGRES_USER": "$$cap_db_user",
"POSTGRES_PASSWORD": "$$cap_db_pass",
"POSTGRES_DB": "outline"
}
},
"$$cap_appname-outline": {
"depends_on": [
"$$cap_appname-fakes3",
"$$cap_appname-redis",
"$$cap_appname-db"
],
"image": "outlinewiki/outline:$$cap_outline_version",
"environment": {
"SECRET_KEY": "$$cap_secret_key",
"UTILS_SECRET": "$$cap_utils_secret",
"AWS_ACCESS_KEY_ID": "get_a_key_from_aws",
"AWS_SECRET_ACCESS_KEY": "get_the_secret_of_above_key",
"AWS_REGION": "xx-xxxx-x",
"AWS_S3_UPLOAD_BUCKET_URL": "http://srv-captain--$$cap_appname-fakes3:4569",
"AWS_S3_UPLOAD_BUCKET_NAME": "bucket_name_here",
"AWS_S3_UPLOAD_MAX_SIZE": "26214400",
"AWS_S3_ACL": "private",
"SLACK_KEY": "$$cap_slack_key",
"SLACK_SECRET": "$$cap_slack_secret",
"GOOGLE_CLIENT_ID": "$$cap_google_client_id",
"GOOGLE_CLIENT_SECRET": "$$cap_google_client_secret",
"FORCE_HTTPS": "false",
"DEPLOYMENT": "self",
"ENABLE_UPDATES": "false",
"SUBDOMAINS_ENABLED": "false",
"WEBSOCKETS_ENABLED": "false",
"DEBUG": "cache,presenters,events",
"URL": "https://$$cap_appname-outline.$$cap_root_domain",
"PORT": "80",
"REDIS_URL": "redis://srv-captain--$$cap_appname-redis:6379",
"DATABASE_URL_TEST": "postgres://$$cap_db_user:$$cap_db_pass@srv-captain--$$cap_appname-db:5432/outline-test",
"DATABASE_URL": "postgres://$$cap_db_user:$$cap_db_pass@srv-captain--$$cap_appname-db:5432/outline"
}
}
}
},
"instructions": {
"start": "Outline is an open, extensible, wiki for your team built using React and Node.js.",
"end": "IMPORTANT: before you start using Outline, you need to \n\n 1) Enable HTTPS \n 2) Force HTTPS \n 3) Enable Websocket in $$cap_appname-outline. \n 4) Run database migration `npm run sequelize:migrate` within the $$cap_appname-outline docker container. \n\nYou can customize more settings by environmental variables described here: https://github.com/outline/outline/blob/0deecfac446c37545e0787b3d32062e608a950ab/.env.sample \n\n IMPORTANT: It will take up to 2 minutes for it to be ready. Before that, you might see a 502 error page.\n"
},
"variables": [
{
"id": "$$cap_db_user",
"label": "Database user",
"defaultValue": "outlineuser",
"validRegex": "/^([a-zA-Z0-9])+$/"
},
{
"id": "$$cap_db_pass",
"label": "Database password",
"description": "",
"validRegex": "/.{8,}/"
},
{
"id": "$$cap_slack_key",
"label": "Slack Key",
"description": "IMPORTANT: You need to, at least, set one 3rd party login method, either Slack or Google",
"defaultValue": "get_a_key_from_slack"
},
{
"id": "$$cap_slack_secret",
"label": "Slack Secret",
"description": "",
"defaultValue": "get_the_secret_of_above_key"
},
{
"id": "$$cap_google_client_id",
"label": "Google Client ID"
},
{
"id": "$$cap_google_client_secret",
"label": "Google Client Secret",
"description": ""
},
{
"id": "$$cap_secret_key",
"label": "SECRET_KEY",
"description": "Run this command to generate a key: openssl rand -hex 32",
"defaultValue": "c63eaeed7ee7459098e2901ed87c8b70817428b85fbe3ef59cb6a79abb2bbf4a",
"validRegex": "/^([0-9a-f]){64}$/"
},
{
"id": "$$cap_utils_secret",
"label": "UTILS_SECRET",
"description": "Run this command to generate a key: openssl rand -hex 32",
"defaultValue": "c9b4d178130f53efc7419eaec9a2e764481269c9602c2ef2e541bdadc63b5bbf",
"validRegex": "/^([0-9a-f]){64}$/"
},
{
"id": "$$cap_outline_version",
"label": "Outline Version",
"defaultValue": "version-0.41.0",
"description": "Check out their page for the valid tags https://hub.docker.com/r/outlinewiki/outline/tags",
"validRegex": "/^([^\\s^\\/])+$/"
}
]
}