version 1

This commit is contained in:
2025-11-20 22:39:45 +01:00
commit 96a801f063
3 changed files with 93 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.env

25
clean_invites.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/bash
set -euo pipefail
if [[ -f .env ]]; then
source .env
else
echo "ERROR: .env file not found."
exit 1
fi
DB_CONTAINER="outline_db"
DB_USER="${POSTGRES_USER:-outline}"
DB_NAME="${POSTGRES_DB:-outline}"
echo "[INFO] Removing invitation-related events..."
docker exec -i "$DB_CONTAINER" psql -U "$DB_USER" -d "$DB_NAME" \
-c "DELETE FROM events WHERE \"userId\" IN (SELECT id FROM users WHERE \"invitedById\" IS NOT NULL AND \"lastActiveAt\" IS NULL);"
echo "[INFO] Removing all pending invitations..."
docker exec -i "$DB_CONTAINER" psql -U "$DB_USER" -d "$DB_NAME" \
-c "DELETE FROM users WHERE \"invitedById\" IS NOT NULL AND \"lastActiveAt\" IS NULL;"
echo "[INFO] Restarting Outline service..."
docker compose restart outline
echo "[INFO] Done. All pending invitations have been removed."

67
docker-compose.yml Normal file
View File

@@ -0,0 +1,67 @@
---
services:
outline:
image: outlinewiki/outline:1.0.1
container_name: outline
restart: unless-stopped
env_file: .env
environment:
URL: ${OUTLINE_URL}
SECRET_KEY: ${OUTLINE_SECRET_KEY}
UTILS_SECRET: ${OUTLINE_UTILS_SECRET}
# PostgreSQL
DATABASE_URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@outline_db/${POSTGRES_DB}?sslmode=disable
# Redis
REDIS_URL: redis://default:${REDIS_PASSWORD}@outline_redis:6379
# File Storage
FILE_STORAGE: local
FILE_STORAGE_LOCAL_ROOT_DIR: /var/lib/outline/data
# Disable TLS inside container
FORCE_HTTPS: "false"
SMTP_HOST: ${SMTP_HOST}
SMTP_PORT: ${SMTP_PORT}
SMTP_USERNAME: ${SMTP_USERNAME}
SMTP_PASSWORD: ${SMTP_PASSWORD}
SMTP_FROM_EMAIL: ${SMTP_FROM_EMAIL}
SMTP_FROM_NAME: ${SMTP_FROM_NAME}
SMTP_SECURE: ${SMTP_SECURE}
ports:
- "127.0.0.1:13001:3000"
depends_on:
- outline_db
- outline_redis
volumes:
- outline_data:/var/lib/outline/data
outline_db:
image: postgres:15
container_name: outline_db
restart: unless-stopped
env_file: .env
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
PGSSLMODE: disable
volumes:
- outline_db_data:/var/lib/postgresql/data
outline_redis:
image: redis:7
container_name: outline_redis
restart: unless-stopped
command: ["redis-server", "--requirepass", "${REDIS_PASSWORD}"]
env_file: .env
volumes:
- outline_redis_data:/data
volumes:
outline_data:
outline_db_data:
outline_redis_data: