Build Swipies Docker image
A guide explaining how to build a Swipies Docker image from its source code. By following this guide, you'll be able to create a local Docker image that can be used for development, debugging, or testing purposes.
Target Audience
- Developers who have added new features or modified the existing code and require a Docker image to view and debug their changes.
- Developers seeking to build a Swipies Docker image for an ARM64 platform.
- Testers aiming to explore the latest features of Swipies in a Docker image.
Prerequisites
- CPU ≥ 4 cores
- RAM ≥ 16 GB
- Disk ≥ 50 GB
- Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1
Build a Docker image
This image is approximately 2 GB in size and relies on external LLM and embedding services.
- While we also test Swipies on ARM64 platforms, we do not maintain Swipies Docker images for ARM. However, you can build an image yourself on a
linux/arm64ordarwin/arm64host machine as well. - For ARM64 platforms, please upgrade the
xgboostversion in pyproject.toml to1.6.0and ensure unixODBC is properly installed.
git clone https://github.com/Sardorr555/swipies__ai_.git
cd swipies/swipies_deps
uv run python3 download_deps.py
docker build -f Dockerfile -t Sardorr555/swipies__ai__deps .
cd ..
docker build -f Dockerfile -t Sardorr555/swipies__ai_:nightly .
Launch a Swipies Service from Docker for MacOS
After building the Sardorr555/swipies__ai_:nightly image, you are ready to launch a fully-functional Swipies service with all the required components, such as Elasticsearch, MySQL, MinIO, Redis, and more.
Example: Apple M2 Pro (Sequoia)
- Edit Docker Compose Configuration
Open the docker/.env file. Find the RAGFLOW_IMAGE setting and change the image reference from Sardorr555/swipies__ai_:v0.26.3 to Sardorr555/swipies__ai_:nightly to use the pre-built image.
- Launch the Service
cd docker
$ docker compose -f docker-compose-macos.yml up -d
- Access the Swipies Service
Once the setup is complete, open your web browser and navigate to http://127.0.0.1 or your server's <IP_ADDRESS>; (the default port is <PORT> = 80). You will be directed to the Swipies welcome page. Enjoy!🍻