Quick Start
Because the current system architecture design is not the final version and there are still several issues with the Docker packaging, we currently recommend using the manual deployment method.
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 have postgres, redis, neo4j, minio, milvus, rsshub, or browserless installed, you need to install these services locally and configure their environment variables according to your actual needs. Refer to the requirements of each service and to the Revornix Environment Variables section for details.
To save you from this tedious yet unimportant work, I prepared a docker-compose-local.yaml file and a .env.local.example file. You can use docker-compose-local.yaml to download these services and .env.local.example as a base for your environment variables.
Note: If you already have some of these services installed locally, disable the corresponding services in the docker-compose-local.yaml file according to your actual situation, otherwise unexpected issues may occur.
Copy the example file I provided and modify the fields according to your needs together with the Revornix Environment Variables section. If you do not have special requirements, you usually only need to change the OAUTH_SECRET_KEY field.
cp .env.local.example .env.localStart the postgres, redis, neo4j, minio, milvus, rsshub, and browserless 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/.envUpdate the environment variable files as needed. For details, see the Revornix Environment Variables section.
If you deploy manually, the SECRET_KEY must be identical across all services; otherwise, the user authentication systems cannot communicate with each other.
Initialize the required baseline data
cd api
python -m script.init_vector_base_data
python -m script.init_sql_base_dataStart the core backend service
cd api
conda create -n api python=3.11 -y
pip install -r ./requirements.txt
fastapi run --port 8001Start the hot-search aggregation service
cd daily-hot
pnpm build
pnpm startStart the Celery task queue
cd celery-worker
conda create -n celery-worker python=3.11 -y
pip install -r ./requirements.txt
celery -A common.celery.app worker --pool=threads --concurrency=10 --loglevel=info -EStart the frontend service
cd web
pnpm build
pnpm startOnce all services are running, visit http://localhost:3000 to see the frontend page.