{ "name": "outline", "title": "Outline", "subtitle": "Knowledge Base", "description": "Outline is an open-source, self-hosted knowledge management and wiki application designed for teams to organize documentation, internal knowledge bases, onboarding guides, and notes.", "icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIiByeD0iNyIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTMwLjMzMzMgNDIuMjUyNlY0My4zMDQ0QzMwLjMzMzMgNDQuNzkzMSAyOS4xMzk0IDQ2IDI3LjY2NjcgNDZDMjcuMjA4NyA0NiAyNi43NTg1IDQ1Ljg4MDggMjYuMzU5MyA0NS42NTM4TDEwLjM1OTMgMzYuNTU1OUM5LjUxOTY4IDM2LjA3ODQgOSAzNS4xODAzIDkgMzQuMjA2NFYxNS43OTRDOSAxNC44MjAyIDkuNTE5NjggMTMuOTIyIDEwLjM1OTMgMTMuNDQ0NkwyNi4zNTkzIDQuMzQ2NjdDMjcuNjQyOSAzLjYxNjc3IDI5LjI2ODggNC4wNzY5OSAyOS45OTA4IDUuMzc0NTdDMzAuMjE1NCA1Ljc3ODA2IDMwLjMzMzMgNi4yMzMyMSAzMC4zMzMzIDYuNjk2MTZWNy43NDc4OEwzMi4yMzM3IDcuMTcxNTZDMzMuNjQ0NCA2Ljc0Mzc2IDM1LjEzMSA3LjU1Mjk2IDM1LjU1NDIgOC45Nzg5NEMzNS42Mjg4IDkuMjMwMjkgMzUuNjY2NyA5LjQ5MTIzIDM1LjY2NjcgOS43NTM1N1YxMC44NDc5TDM4LjAwMjYgMTAuNTUyOEMzOS40NjQgMTAuMzY4MSA0MC43OTY3IDExLjQxNiA0MC45Nzk0IDEyLjg5MzJDNDAuOTkzMiAxMy4wMDQyIDQxIDEzLjExNTggNDEgMTMuMjI3NlYzNi43NzI4QzQxIDM4LjI2MTcgMzkuODA2MSAzOS40Njg2IDM4LjMzMzMgMzkuNDY4NkMzOC4yMjI3IDM5LjQ2ODYgMzguMTEyMyAzOS40NjE2IDM4LjAwMjYgMzkuNDQ3N0wzNS42NjY3IDM5LjE1MjZWNDAuMjQ3QzM1LjY2NjcgNDEuNzM1NyAzNC40NzI3IDQyLjk0MjYgMzMgNDIuOTQyNkMzMi43NDA1IDQyLjk0MjYgMzIuNDgyMyA0Mi45MDQzIDMyLjIzMzcgNDIuODI4OUwzMC4zMzMzIDQyLjI1MjZaTTMwLjMzMzMgMzkuNDM4MkwzMyA0MC4yNDdWMjUuMDAwM1Y5Ljc1MzU3TDMwLjMzMzMgMTAuNTYyMlYzOS40MzgyWk0zNS42NjY3IDEzLjU2NDZWMzYuNDM2TDM4LjMzMzMgMzYuNzcyOFYxMy4yMjc2TDM1LjY2NjcgMTMuNTY0NlpNMTEuNjY2NyAxNS43OTRWMzQuMjA2NEwyNy42NjY3IDQzLjMwNDRWNi42OTYxNkwxMS42NjY3IDE1Ljc5NFpNMTQuMzMzMyAxNy41ODcxTDE3IDE2LjIzOTJWMzMuNzYxMkwxNC4zMzMzIDMyLjQxMzNWMTcuNTg3MVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=", "fields": [ { "description": "Secret key", "key": "SECRET_KEY", "value": "", "required": "true", "generated": "openssl|hex|32" }, { "description": "Util secret key", "key": "UTILS_SECRET", "value": "", "required": "true", "generated": "openssl|hex|32" }, { "description": "Postgres database name", "key": "DB_NAME", "value": "", "required": "true", "generated": "time|md5|8" }, { "description": "Postgres username", "key": "DB_USER", "value": "", "required": "true", "generated": "time|md5|8" }, { "description": "Postgres password for user", "key": "DB_PASSWORD", "value": "", "required": "true", "generated": "random|md5|12" }, { "description": "Postgres root user password", "key": "DB_ROOT_PASSWORD", "value": "", "required": "true", "generated": "random|sha256|20" }, { "description": "Domain:", "key": "DOMAIN", "value": "", "required": "true" }, { "description": "Slack client ID", "key": "SLACK_CLIENT_ID", "value": "", "info": "Create a new app in your Slack workspace at https://api.slack.com/apps?new_app=1 and add 'Sign in with Slack' under 'Add features and functionality'. Set the Redirect URL to 'https:///auth/slack.callback'.", "advanced": "true" }, { "description": "Slack client secret", "key": "SLACK_CLIENT_SECRET", "value": "", "advanced": "true" }, { "description": "Google client ID", "key": "GOOGLE_CLIENT_ID", "value": "", "info": "Create OAuth 2.0 credentials in Google Cloud Console at https://console.cloud.google.com/apis/credentials and set the Redirect URL to 'https:///auth/google.callback'.", "advanced": "true" }, { "description": "Google client secret", "key": "GOOGLE_CLIENT_SECRET", "value": "", "advanced": "true" }, { "description": "Azure client ID", "key": "AZURE_CLIENT_ID", "value": "", "info": "Register an application in Azure AD at https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade and set the Redirect URL to 'https:///auth/azuread.callback'.", "advanced": "true" }, { "description": "Azure client secret", "key": "AZURE_CLIENT_SECRET", "value": "", "advanced": "true" }, { "description": "Azure resource app ID", "key": "AZURE_RESOURCE_APP_ID", "value": "", "info": "This is usually the same as the client ID, but can vary based on your Azure AD setup.", "advanced": "true" }, { "description": "Discord client ID", "key": "DISCORD_CLIENT_ID", "value": "", "info": "Create an application in Discord Developer Portal at https://discord.com/developers/applications and set the Redirect URL to 'https:///auth/discord.callback'.", "advanced": "true" }, { "description": "Discord client secret", "key": "DISCORD_CLIENT_SECRET", "value": "", "advanced": "true" }, { "description": "Discord server ID (optional)", "key": "DISCORD_SERVER_ID", "value": "", "info": "(Optional) If you want to restrict login to members of a specific Discord server, provide the server ID here.", "advanced": "true" }, { "description": "OpenID Connect client ID", "key": "OIDC_CLIENT_ID", "value": "", "info": "Set up an OpenID Connect application with your provider and set the Redirect URL to 'https:///auth/oidc.callback'.", "advanced": "true" }, { "description": "OpenID Connect client secret", "key": "OIDC_CLIENT_SECRET", "value": "", "advanced": "true" }, { "description": "OpenID Connect provider auth URI", "key": "OIDC_AUTH_URI", "value": "", "info": "The authorization endpoint URL of your OpenID Connect provider.", "advanced": "true" }, { "description": "OpenID Connect provider token URI", "key": "OIDC_TOKEN_URI", "value": "", "info": "The token endpoint URL of your OpenID Connect provider.", "advanced": "true" }, { "description": "OpenID Connect provider userinfo URI", "key": "OIDC_USERINFO_URI", "value": "", "info": "The userinfo endpoint URL of your OpenID Connect provider.", "advanced": "true" }, { "description": "OpenID Connect provider logout URI (optional)", "key": "OIDC_LOGOUT_URI", "value": "", "info": "(Optional) The logout endpoint URL of your OpenID Connect provider, if supported.", "advanced": "true" }, { "description": "OpenID Connect username claim", "key": "OIDC_USERNAME_CLAIM", "value": "preferred_username", "info": "The claim in the ID token or userinfo response to use as the username. Defaults to 'preferred_username'.", "advanced": "true" }, { "description": "OpenID Connect display name", "key": "OIDC_DISPLAY_NAME", "value": "OpenID Connect", "info": "The display name for the OpenID Connect authentication option. Defaults to 'OpenID Connect'.", "advanced": "true" }, { "description": "OpenID Connect scopes", "key": "OIDC_SCOPES", "value": "openid profile email", "info": "Space-separated list of scopes to request during authentication. Defaults to 'openid profile email'.", "advanced": "true" }, { "description": "SMTP host", "key": "SMTP_HOST", "value": "", "info": "Used for sending invitation and password reset emails. Leave blank to disable email functionality.", "advanced": "true" }, { "description": "SMTP port", "key": "SMTP_PORT", "value": "587", "info": "(Optional) The port to connect to on the SMTP server. Defaults to 587.", "advanced": "true" }, { "description": "SMTP service (e.g., gmail)", "key": "SMTP_SERVICE", "value": "", "info": "Used for sending invitation and password reset emails. Leave blank to disable email functionality.", "advanced": "true" }, { "description": "SMTP username (email address)", "key": "SMTP_USERNAME", "value": "", "advanced": "true" }, { "description": "SMTP password", "key": "SMTP_PASSWORD", "value": "", "advanced": "true" }, { "description": "From email address", "key": "SMTP_FROM_EMAIL", "value": "", "info": "(Optional) The email address that emails will be sent from. Defaults to the SMTP username if not set.", "advanced": "true" } ] }