summaryrefslogtreecommitdiffhomepage
path: root/public/v2/apps/outline.json
blob: f34393d2f47d751f22a0a2eef2ec70c280d87861 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
{
    "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.",
    "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^\\/])+$/"
        }
    ]

}