x-logging: &logging-config driver: ${LOGGING_DRIVER:-local} options: max-size: ${LOGGING_MAX_SIZE:-20m} max-file: ${LOGGING_MAX_FILES:-5} compress: ${LOGGING_COMPRESS:-true} version: "3.8" services: # core: # container_name: core-app # image: redplanethq/core:${VERSION} # environment: # - NODE_ENV=${NODE_ENV} # - DATABASE_URL=${DATABASE_URL} # - DIRECT_URL=${DIRECT_URL} # - SESSION_SECRET=${SESSION_SECRET} # - ENCRYPTION_KEY=${ENCRYPTION_KEY} # - MAGIC_LINK_SECRET=${MAGIC_LINK_SECRET} # - LOGIN_ORIGIN=${CORE_LOGIN_ORIGIN} # - APP_ORIGIN=${CORE_APP_ORIGIN} # - REDIS_HOST=${REDIS_HOST} # - REDIS_PORT=${REDIS_PORT} # - REDIS_PASSWORD=${REDIS_PASSWORD} # - REDIS_TLS_DISABLED=${REDIS_TLS_DISABLED} # - NEO4J_URI=${NEO4J_URI} # - NEO4J_USERNAME=${NEO4J_USERNAME} # - NEO4J_PASSWORD=${NEO4J_PASSWORD} # - OPENAI_API_KEY=${OPENAI_API_KEY} # - AUTH_GOOGLE_CLIENT_ID=${AUTH_GOOGLE_CLIENT_ID} # - AUTH_GOOGLE_CLIENT_SECRET=${AUTH_GOOGLE_CLIENT_SECRET} # - ENABLE_EMAIL_LOGIN=${ENABLE_EMAIL_LOGIN} # - OLLAMA_URL=${OLLAMA_URL} # - EMBEDDING_MODEL=${EMBEDDING_MODEL} # - MODEL=${MODEL} # - TRIGGER_PROJECT_ID=${TRIGGER_PROJECT_ID} # - TRIGGER_SECRET_KEY=${TRIGGER_SECRET_KEY} # - TRIGGER_API_URL=${API_ORIGIN} # - POSTGRES_DB=${POSTGRES_DB} # - EMAIL_TRANSPORT=${EMAIL_TRANSPORT} # - REPLY_TO_EMAIL=${REPLY_TO_EMAIL} # - FROM_EMAIL=${FROM_EMAIL} # - RESEND_API_KEY=${RESEND_API_KEY} # - COHERE_API_KEY=${COHERE_API_KEY} # - QUEUE_PROVIDER=${QUEUE_PROVIDER} # - TELEMETRY_ENABLED=${TELEMETRY_ENABLED} # - TELEMETRY_ANONYMOUS=${TELEMETRY_ANONYMOUS} # ports: # - "3033:3000" # depends_on: # postgres: # condition: service_healthy # redis: # condition: service_started # neo4j: # condition: service_healthy # networks: # - core postgres: container_name: core-postgres image: tegonhq/tegon-postgres:0.1.0-alpha environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${POSTGRES_DB} ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data networks: - core healthcheck: test: ["CMD-SHELL", "pg_isready"] interval: 10s timeout: 5s retries: 5 start_period: 10s redis: container_name: core-redis image: redis:7 ports: - "6379:6379" networks: - core neo4j: container_name: core-neo4j image: redplanethq/neo4j:0.1.0 environment: - NEO4J_AUTH=${NEO4J_AUTH} - NEO4J_dbms_security_procedures_unrestricted=gds.*,apoc.* - NEO4J_dbms_security_procedures_allowlist=gds.*,apoc.* - NEO4J_apoc_export_file_enabled=true # Enable file export - NEO4J_apoc_import_file_enabled=true # Enable file import - NEO4J_apoc_import_file_use_neo4j_config=true - NEO4J_server_memory_heap_initial__size=2G - NEO4J_server_memory_heap_max__size=4G ports: - "7474:7474" - "7687:7687" volumes: - neo4j_data:/data networks: - core healthcheck: test: ["CMD-SHELL", "cypher-shell -u $NEO4J_USERNAME -p $NEO4J_PASSWORD 'RETURN 1'"] interval: 10s timeout: 5s retries: 10 start_period: 20s # Uncomment this if you want to use a local embedding modal # ollama: # container_name: core-ollama # image: ollama/ollama:0.12.6 # ports: # - "11434:11434" # volumes: # - ollama_data:/root/.ollama # - ./scripts/ollama-init.sh:/usr/local/bin/ollama-init.sh:ro # networks: # - core # entrypoint: ["/bin/bash", "/usr/local/bin/ollama-init.sh"] # healthcheck: # test: ["CMD", "curl", "-f", "http://localhost:11434/api/tags"] # interval: 30s # timeout: 10s # retries: 5 # start_period: 90s # restart: unless-stopped networks: core: name: core driver: bridge volumes: postgres_data: neo4j_data: shared: ollama_data: