Adds custom stack for get-outline

This commit is contained in:
Alicia Sykes
2023-04-24 20:49:44 +01:00
parent fc619d5aad
commit 9db9555fad
2 changed files with 293 additions and 0 deletions

View 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
}
]
}

View 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: