homelab/docker/dockerino/outline/docker-compose.yml
gaia 893e7dba7c feat: inicial IaC - estrutura base + Docker Compose + Ansible
- Estrutura Terraform para ER605/Omada
- Ansible inventory e role base para Dockerino
- Docker Compose files para todos os serviços do Dockerino
- Docker Compose para Media stack (Jellyfin, Sonarr, Radarr, etc)
- Documentação ARCHITECTURE.md e NEXT_STEPS.md (via Héstia)
2026-04-09 01:06:05 -03:00

96 lines
2.6 KiB
YAML

version: '3.8'
services:
outline-postgres:
image: postgres:15-alpine
container_name: outline-postgres
restart: unless-stopped
environment:
POSTGRES_USER: outline
POSTGRES_PASSWORD: ${OUTLINE_DB_PASSWORD:-outline123}
POSTGRES_DB: outline
volumes:
- ./postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U outline"]
interval: 10s
timeout: 5s
retries: 5
outline-redis:
image: redis:7-alpine
container_name: outline-redis
restart: unless-stopped
volumes:
- ./redis-data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
outline-minio:
image: quay.io/minio/minio:latest
container_name: outline-minio
restart: unless-stopped
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-outline}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-outline123}
volumes:
- ./minio-data:/data
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 10s
timeout: 5s
retries: 5
outline-minio-init:
image: quay.io/minio/mc:latest
container_name: outline-minio-init
depends_on:
outline-minio:
condition: service_healthy
entrypoint: |
/bin/sh -c "
sleep 5;
mc alias set myminio http://outline-minio:9000 $${MINIO_ROOT_USER} $${MINIO_ROOT_PASSWORD};
mc mb myminio/outline --ignore-existing;
mc anonymous set download myminio/outline;
exit 0;
"
outline:
image: outlinewiki/outline:latest
container_name: outline
restart: unless-stopped
ports:
- "3001:3000"
depends_on:
outline-postgres:
condition: service_healthy
outline-redis:
condition: service_healthy
outline-minio:
condition: service_healthy
environment:
DATABASE_URL: postgres://outline:${OUTLINE_DB_PASSWORD:-outline123}@outline-postgres:5432/outline
REDIS_URL: redis://outline-redis:6379
MINIO_SERVER: http://outline-minio:9000
MINIO_ACCESS_KEY: ${MINIO_ROOT_USER:-outline}
MINIO_SECRET_KEY: ${MINIO_ROOT_PASSWORD:-outline123}
SECRET_KEY: ${OUTLINE_SECRET_KEY:-change-me-in-production}
URL: https://outline.hackerfortress.cc
PORT: 3000
TZ: America/Sao_Paulo
healthcheck:
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3000 || exit 1"]
interval: 30s
timeout: 10s
retries: 3
networks:
default:
name: homelab-network
external: true