Adds custom stack for get-outline
This commit is contained in:
205
sources/lissy93_templates.json
Normal file
205
sources/lissy93_templates.json
Normal file
@@ -0,0 +1,205 @@
|
|||||||
|
{
|
||||||
|
"version": "2",
|
||||||
|
"templates": [
|
||||||
|
{
|
||||||
|
"categories": [
|
||||||
|
"Productivity",
|
||||||
|
"Social"
|
||||||
|
],
|
||||||
|
"description": "Open source collaborative knowledge base for modern teams",
|
||||||
|
"env": [
|
||||||
|
{
|
||||||
|
"default": "production",
|
||||||
|
"label": "NODE_ENV",
|
||||||
|
"name": "NODE_ENV"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "SECRET_KEY",
|
||||||
|
"name": "SECRET_KEY"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "UTILS_SECRET",
|
||||||
|
"name": "UTILS_SECRET"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "DATABASE_URL",
|
||||||
|
"name": "DATABASE_URL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "DATABASE_URL_TEST",
|
||||||
|
"name": "DATABASE_URL_TEST"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "DATABASE_CONNECTION_POOL_MIN",
|
||||||
|
"name": "DATABASE_CONNECTION_POOL_MIN"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "DATABASE_CONNECTION_POOL_MAX",
|
||||||
|
"name": "DATABASE_CONNECTION_POOL_MAX"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "REDIS_URL",
|
||||||
|
"name": "REDIS_URL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "URL",
|
||||||
|
"name": "URL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "3000",
|
||||||
|
"label": "PORT",
|
||||||
|
"name": "PORT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "COLLABORATION_URL",
|
||||||
|
"name": "COLLABORATION_URL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "GOOGLE_CLIENT_ID",
|
||||||
|
"name": "GOOGLE_CLIENT_ID"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "GOOGLE_CLIENT_SECRET",
|
||||||
|
"name": "GOOGLE_CLIENT_SECRET"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "SSL_KEY",
|
||||||
|
"name": "SSL_KEY"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "SSL_CERT",
|
||||||
|
"name": "SSL_CERT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "true",
|
||||||
|
"label": "FORCE_HTTPS",
|
||||||
|
"name": "FORCE_HTTPS"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "true",
|
||||||
|
"label": "ENABLE_UPDATES",
|
||||||
|
"name": "ENABLE_UPDATES"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "1",
|
||||||
|
"label": "WEB_CONCURRENCY",
|
||||||
|
"name": "WEB_CONCURRENCY"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "5120000",
|
||||||
|
"label": "MAXIMUM_IMPORT_SIZE",
|
||||||
|
"name": "MAXIMUM_IMPORT_SIZE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "http",
|
||||||
|
"label": "DEBUG",
|
||||||
|
"name": "DEBUG"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "info",
|
||||||
|
"label": "LOG_LEVEL",
|
||||||
|
"name": "LOG_LEVEL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "GOOGLE_ANALYTICS_ID",
|
||||||
|
"name": "GOOGLE_ANALYTICS_ID"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "SENTRY_DSN",
|
||||||
|
"name": "SENTRY_DSN"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "SENTRY_TUNNEL",
|
||||||
|
"name": "SENTRY_TUNNEL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "SMTP_HOST",
|
||||||
|
"name": "SMTP_HOST"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "SMTP_PORT",
|
||||||
|
"name": "SMTP_PORT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "SMTP_USERNAME",
|
||||||
|
"name": "SMTP_USERNAME"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "SMTP_PASSWORD",
|
||||||
|
"name": "SMTP_PASSWORD"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "SMTP_FROM_EMAIL",
|
||||||
|
"name": "SMTP_FROM_EMAIL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "SMTP_REPLY_EMAIL",
|
||||||
|
"name": "SMTP_REPLY_EMAIL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "",
|
||||||
|
"label": "SMTP_TLS_CIPHERS",
|
||||||
|
"name": "SMTP_TLS_CIPHERS"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "true",
|
||||||
|
"label": "SMTP_SECURE",
|
||||||
|
"name": "SMTP_SECURE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "en_US",
|
||||||
|
"label": "DEFAULT_LANGUAGE",
|
||||||
|
"name": "DEFAULT_LANGUAGE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "true",
|
||||||
|
"label": "RATE_LIMITER_ENABLED",
|
||||||
|
"name": "RATE_LIMITER_ENABLED"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "1000",
|
||||||
|
"label": "RATE_LIMITER_REQUESTS",
|
||||||
|
"name": "RATE_LIMITER_REQUESTS"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "60",
|
||||||
|
"label": "RATE_LIMITER_DURATION_WINDOW",
|
||||||
|
"name": "RATE_LIMITER_DURATION_WINDOW"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"logo": "https://avatars.githubusercontent.com/u/1765001",
|
||||||
|
"name": "outline",
|
||||||
|
"note": "Open source collaborative knowledge base for modern teams",
|
||||||
|
"platform": "linux",
|
||||||
|
"repository": {
|
||||||
|
"stackfile": "sources/stacks/outline.yml",
|
||||||
|
"url": "https://github.com/lissy93/portainer-templates"
|
||||||
|
},
|
||||||
|
"restart_policy": "unless-stopped",
|
||||||
|
"title": "Outline",
|
||||||
|
"type": 3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
88
sources/stacks/outline.yml
Normal file
88
sources/stacks/outline.yml
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
|
||||||
|
outline:
|
||||||
|
image: docker.getoutline.com/outlinewiki/outline:latest
|
||||||
|
env_file: ./docker.env
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
- redis
|
||||||
|
- storage
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis
|
||||||
|
env_file: ./docker.env
|
||||||
|
ports:
|
||||||
|
- "6379:6379"
|
||||||
|
volumes:
|
||||||
|
- ./redis.conf:/redis.conf
|
||||||
|
command: ["redis-server", "/redis.conf"]
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "redis-cli", "ping"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 30s
|
||||||
|
retries: 3
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: postgres
|
||||||
|
env_file: ./docker.env
|
||||||
|
ports:
|
||||||
|
- "5432:5432"
|
||||||
|
volumes:
|
||||||
|
- database-data:/var/lib/postgresql/data
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "pg_isready"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 20s
|
||||||
|
retries: 3
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: 'user'
|
||||||
|
POSTGRES_PASSWORD: 'pass'
|
||||||
|
POSTGRES_DB: 'outline'
|
||||||
|
|
||||||
|
storage:
|
||||||
|
image: minio/minio
|
||||||
|
env_file: ./docker.env
|
||||||
|
ports:
|
||||||
|
- "9000:9000"
|
||||||
|
entrypoint: sh
|
||||||
|
command: -c 'minio server'
|
||||||
|
deploy:
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
volumes:
|
||||||
|
- storage-data:/data
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 20s
|
||||||
|
retries: 3
|
||||||
|
|
||||||
|
https-portal:
|
||||||
|
image: steveltn/https-portal
|
||||||
|
env_file: ./docker.env
|
||||||
|
ports:
|
||||||
|
- '80:80'
|
||||||
|
- '443:443'
|
||||||
|
links:
|
||||||
|
- outline
|
||||||
|
- storage
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- https-portal-data:/var/lib/https-portal
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "service", "nginx", "status"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 20s
|
||||||
|
retries: 3
|
||||||
|
environment:
|
||||||
|
DOMAINS: 'docs.mycompany.com -> http://outline:3000'
|
||||||
|
STAGE: 'production'
|
||||||
|
WEBSOCKET: 'true'
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
https-portal-data:
|
||||||
|
storage-data:
|
||||||
|
database-data:
|
||||||
Reference in New Issue
Block a user