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_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} 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: core-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 networks: core: name: core driver: bridge volumes: postgres_data: neo4j_data: shared: