Files
AgapHost/overleaf/docker-compose.yml
alvis d37801806d services: add mood, moodtracker, overleaf, personal-sensing; update ollama
Compose and supporting code for four services that had been running or
prototyped without their config tracked here, per the repo convention that
agap_git holds the compose + config while application source lives in each
service's own Gitea repo.

Only placeholder credentials are included: mood/.env.example and
moodtracker/.env.example ship dummy values, and overleaf/variables.env carries
app name and feature flags only. Real values stay in Vaultwarden.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 04:42:58 +00:00

80 lines
1.9 KiB
YAML

---
services:
# MongoDB for Overleaf data storage
mongo:
restart: always
image: "${MONGO_IMAGE}:${MONGO_VERSION}"
command: --replSet overleaf
container_name: mongo
volumes:
- "${MONGO_DATA_PATH}:/data/db"
expose:
- 27017
healthcheck:
test: echo 'db.stats().ok' | mongosh localhost:27017/test --quiet
interval: 10s
timeout: 10s
retries: 5
networks:
- overleaf
# Redis for caching and sessions
redis:
restart: always
image: "${REDIS_IMAGE}"
container_name: redis
command: redis-server --appendonly yes
volumes:
- "${REDIS_DATA_PATH}:/data"
expose:
- 6379
networks:
- overleaf
# Overleaf (ShareLaTeX) application
sharelatex:
restart: always
image: "${SHARELATEX_IMAGE}"
container_name: sharelatex
depends_on:
mongo:
condition: service_healthy
redis:
condition: service_started
ports:
- "${OVERLEAF_LISTEN_IP}:${OVERLEAF_PORT}:80"
volumes:
# Data volume
- "${OVERLEAF_DATA_PATH}:/var/lib/overleaf"
# Docker socket for sandboxed compiles
- "${DOCKER_SOCKET_PATH}:/var/run/docker.sock"
environment:
# Connectivity
OVERLEAF_MONGO_URL: "${MONGO_URL}"
OVERLEAF_REDIS_HOST: "${REDIS_HOST}"
OVERLEAF_REDIS_PORT: "${REDIS_PORT}"
# Docker and compilation settings
DOCKER_RUNNER: 'true'
SANDBOXED_COMPILES: 'true'
SANDBOXED_COMPILES_SIBLING_CONTAINERS: 'true'
SANDBOXED_COMPILES_HOST_DIR: "${OVERLEAF_DATA_PATH}/data/compiles"
SYNCTEX_BIN_HOST_PATH: "${OVERLEAF_DATA_PATH}/bin/synctex"
# Git bridge (disabled for Community Edition)
GIT_BRIDGE_ENABLED: 'false'
# Load additional environment variables
env_file:
- variables.env
links:
- mongo
- redis
networks:
- overleaf
networks:
overleaf:
driver: bridge