Skip to Content
DocumentationQuick Start

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 Revornix

Install 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.local

Start the local infrastructure services.

docker compose -f ./docker-compose-local.yaml --env-file .env.local up -d

Configure 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/.env

hot-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.create

Start 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 8001

Start the hot-search aggregation service

cd hot-news pnpm install pnpm build pnpm start

Start 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.sh

Start the frontend service

cd web pnpm install pnpm build pnpm start

Start the gateway service (optional)

cd gateway go run ./cmd/gateway

Once 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/.env so NEXT_PUBLIC_API_PREFIX, NEXT_PUBLIC_NOTIFICATION_WS_API_PREFIX, and NEXT_PUBLIC_HOT_NEWS_API_PREFIX point directly to backend services
Last updated on