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 Revornix
Install 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.local
Start the postgres, redis, neo4j, minio, milvus, rsshub, and browserless 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
Update 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_data
Start the core backend service
cd api
conda create -n api python=3.11 -y
pip install -r ./requirements.txt
fastapi run --port 8001
Start the hot-search aggregation service
cd daily-hot
pnpm build
pnpm start
Start the Celery task queue
Currently only pool=solo
(single-process mode) is supported; multi-process mode will be supported later.
cd celery-worker
conda create -n celery-worker python=3.11 -y
pip install -r ./requirements.txt
celery -A common.celery.app.celery_app worker --pool=solo
Start the frontend service
cd web
pnpm build
pnpm start
Once all services are running, visit http://localhost:3000 to see the frontend page.