A FastAPI application with endpoints to chat with Google's Gemini AI. Flutter is used to create a cross-platform application to interact with this API.
- Docker and Docker Compose installed
Download the latest release from GitHub Releases.
Rename .env.example to .env and edit it to configure the server.
HOST: Server host address (default: localhost)PORT: Server port (default: 443)API_TOKEN_HASH: Leave blank to auto-generate on first run, or provide your own token hashGEMINI_API_KEY: API key from Google AI Studio
# Start the container
docker compose up -d
# Stop the container
docker compose down
# Update to the latest version
docker compose pull && docker compose up -d
# View the logs
docker compose logs -f rpi-aiNote: You may need to add your user to the Docker group and log out/in for permission changes to take effect:
sudo usermod -aG docker ${USER}- Access the web application: https://localhost:443
- Server runs at: https://localhost:443/api
- Swagger UI: https://localhost:443/api/docs
- Redoc: https://localhost:443/api/redoc
A Flutter application is created in the /ui directory.
This provides a GUI for interacting with the API.
See the README.md in the /ui directory for more details.
This project is licensed under the MIT License - see the LICENSE file for details.