Quick Start
If you want to try the product directly first, go to https://app.revornix.com . This page is mainly for local/self-hosted deployment.
If your main business services run in mainland China but you still need Google / GitHub login, also read Gateway Deployment so the public entrypoint and overseas auth API are planned together.
Manual Deployment Method
We strongly recommend using conda to create a separate Python virtual environment for each service, because the Python dependencies of different services may conflict. If you prefer another Python virtual environment manager, feel free to use that instead.
Clone the repository to your local machine
git clone git@github.com:Qingyon-AI/Revornix.git
cd RevornixInstall and start the foundational services
If you do not already have Postgres, Redis, Neo4j, MinIO, and Milvus running, use docker-compose-local.yaml together with .env.local.example to bootstrap the local infrastructure layer.
Note: If some of these dependencies are already running on your machine, disable the corresponding services in docker-compose-local.yaml to avoid port conflicts and accidental data mixups.
Copy the example file and adjust it together with the environment guide. In the simplest local setup, the most important custom value is usually OAUTH_SECRET_KEY.
cp .env.local.example .env.localStart the local infrastructure services.
docker compose -f ./docker-compose-local.yaml --env-file .env.local up -dConfigure environment variables for each microservice
cp ./web/.env.example ./web/.env
cp ./api/.env.example ./api/.env
cp ./celery-worker/.env.example ./celery-worker/.env
cp ./gateway/.env.example ./gateway/.envhot-news does not currently ship a committed .env.example, so if you want custom configuration there, create hot-news/.env manually according to the variables described in the environment guide.
Update each service’s env file as needed. For details, see the Revornix Environment Variables section.
If you deploy manually, OAUTH_SECRET_KEY must be identical across API and Worker; otherwise, the authentication and internal service trust chain will break.
Initialize the required baseline data
cd api
python -m data.milvus.create
python -m data.sql.createStart the core backend service
cd api
conda create -n api python=3.11 -y
conda activate api
pip install -r ./requirements.txt
fastapi run --port 8001Start the hot-search aggregation service
cd hot-news
pnpm install
pnpm build
pnpm startStart the Celery task queue
cd celery-worker
conda create -n celery-worker python=3.11 -y
conda activate celery-worker
pip install -r ./requirements.txt
playwright install
./start-worker.shStart the frontend service
cd web
pnpm install
pnpm build
pnpm startStart the gateway service (optional)
cd gateway
go run ./cmd/gatewayOnce all services are running:
- The frontend entrypoint is always http://localhost:3000
- If you enable the gateway, use it for backend traffic splitting such as API / Hot News (for example http://localhost:8787 )
- If you do not enable the gateway, update
web/.envsoNEXT_PUBLIC_API_PREFIX,NEXT_PUBLIC_NOTIFICATION_WS_API_PREFIX, andNEXT_PUBLIC_HOT_NEWS_API_PREFIXpoint directly to backend services