Chithi is an end-to-end file sharing application consisting of a FastAPI backend, a Svelte frontend, and a Celery worker with beat scheduler for background tasks. The project aims to provide secure file uploads, temporary links, and user management with a simple modern UI.
docker compose up --build
There is a docker-compose-dev.yml with a minimal local development setup (Postgres, Redis, RustFS, and optional pgAdmin).
If you are looking for the deployed codes behind chithi.dev, please take a look at my homelab's configuration with traefik, if you are willing to host a public instance of chithi please open a PR in public.chiti.dev repo with a modified .upptimerc
Important environment variables (examples come from the compose files):
You can find the full example environment in docker-compose.yml and docker-compose-dev.yml.
# from src/backend
uv sync
fastapi dev ./app/main.py # poe run dev
# from src/frontend
npm install
npm run dev
npm run test (Vitest), npm run lint (eslint)ruff is configured for linting in the backend project)Contributions are welcome. Please open issues for bugs or feature requests, and open pull requests for proposed fixes. Follow existing code style and tests where applicable.
This project is licensed under the Mozilla Public License 2.0. See LICENSE.md for details.
If you need help running the project or want to contribute, open an issue.