aboutsummaryrefslogtreecommitdiff
path: root/services/outline
diff options
context:
space:
mode:
authorMax Bossing <info@maxbossing.de>2025-09-30 18:02:29 +0200
committerMax Bossing <info@maxbossing.de>2025-09-30 18:02:29 +0200
commit91a45232bd36727dca2e7474005e240d518d4c54 (patch)
tree98fac5162ac356123716634284aece8c927f8106 /services/outline
init
Diffstat (limited to 'services/outline')
-rw-r--r--services/outline/.env35
-rw-r--r--services/outline/compose.yaml64
2 files changed, 99 insertions, 0 deletions
diff --git a/services/outline/.env b/services/outline/.env
new file mode 100644
index 0000000..e9ee83c
--- /dev/null
+++ b/services/outline/.env
@@ -0,0 +1,35 @@
+URL=https://outline.4d6178.work
+PORT=3000
+WEB_CONCURRENCY=5
+
+SECRET_KEY=
+UTILS_SECRET=
+
+DEFAULT_LANGUAGE=en_GB
+
+DATABASE_URL=postgres://outline:outline@postgres:5432/outline
+PGSSLMODE=disable
+REDIS_URL=redis://redis:6379
+
+FILE_STORAGE=local
+FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data
+FILE_STORAGE_UPLOAD_MAX_SIZE=262144000
+
+FORCE_HTTPS=false
+
+OIDC_CLIENT_ID=
+OIDC_CLIENT_SECRET=
+OIDC_AUTH_URI=https://id.4d6178.work/authorize
+OIDC_TOKEN_URI=https://id.4d6178.work/api/oidc/token
+OIDC_USERINFO_URI=https://id.4d6178.work/api/oidc/userinfo
+OIDC_LOGOUT_URI=https://id.4d6178.work/api/oidc/end-session
+OIDC_USERNAME_CLAIM=preferred_username
+OIDC_DISPLAY_NAME=PocketId
+OIDC_SCOPES=openid profile email
+
+RATE_LIMITER_ENABLED=true
+RATE_LIMITER_REQUESTS=1000
+RATE_LIMITER_DURATION_WINDOW=60
+
+ENABLE_UPDATES=false
+LOG_LEVEL=info
diff --git a/services/outline/compose.yaml b/services/outline/compose.yaml
new file mode 100644
index 0000000..f52a075
--- /dev/null
+++ b/services/outline/compose.yaml
@@ -0,0 +1,64 @@
+networks:
+ default:
+ proxy:
+ external: true
+
+volumes:
+ data:
+ postgres:
+
+services:
+ outline:
+ image: docker.getoutline.com/outlinewiki/outline:latest
+ env_file: .env
+ volumes:
+ - data:/var/lib/outline/data
+ networks:
+ - default
+ - proxy
+ labels:
+ traefik.enable: true
+ traefik.http.routers.outline.rule: Host(`outline.4d6178.work`)
+ traefik.http.services.outline.loadbalancer.server.port: 3000
+ traefik.http.routers.outline.entrypoints: websecure
+ traefik.http.routers.outline.tls: true
+ traefik.http.routers.outline.tls.certresolver: le
+ depends_on:
+ postgres:
+ condition: service_healthy
+ redis:
+ condition: service_healthy
+ restart: unless-stopped
+
+ redis:
+ image: redis
+ env_file: .env
+ volumes:
+ - /opt/outline/redis.conf:/redis.conf
+ command: ["redis-server", "/redis.conf"]
+ networks:
+ - default
+ healthcheck:
+ test: ["CMD", "redis-cli", "ping"]
+ interval: 10s
+ timeout: 30s
+ retries: 3
+ restart: unless-stopped
+
+ postgres:
+ image: postgres
+ env_file: .env
+ volumes:
+ - postgres:/var/lib/postgresql/data
+ healthcheck:
+ test: ["CMD", "pg_isready", "-d", "outline", "-U", "outline"]
+ interval: 30s
+ timeout: 20s
+ retries: 3
+ networks:
+ - default
+ environment:
+ POSTGRES_USER: 'outline'
+ POSTGRES_PASSWORD: 'outline'
+ POSTGRES_DB: 'outline'
+ restart: unless-stopped