---
Intra is a modern LAN-based messaging application designed for local network communication without internet dependency. It includes:
- Android app (Jetpack Compose)
- FastAPI backend
- Web client (
backend/static) - Desktop admin utility
Run these from repo root (
IntraChat-Android-FastAPI).
Start_Server.batBackground mode:
Start_Server.bat --backgroundchmod +x start_server.sh
./start_server.shThese scripts automatically:
- Check for and install external tools (FFmpeg, Tesseract OCR, Ghostscript)
- Create
backend/venvif missing - Install/update dependencies from
backend/requirements.txt - Start
backend/run_server.py
Install and auto-start on boot:
chmod +x setup_systemd.sh
sudo ./setup_systemd.sh installUninstall service:
sudo ./setup_systemd.sh uninstallUseful checks:
sudo systemctl status intra_backend.service
sudo journalctl -u intra_backend.service -fcd backend
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
python -m pip install -r requirements.txt
python run_server.pyrun_server.py supports:
--host--port--reload/--no-reload
- Android and server machine should be on same Wi-Fi/LAN.
- Start backend and note displayed local IP.
- In app/client, set server as
http://<SERVER_IP>:8000.
- 🔐 JWT Authentication
- 💬 Real-time messaging (WebSocket)
- 📁 File/media sharing
- 🤖 Lumir AI assistant integration
- 👥 Group chat support
- ⌨️ Typing indicators
- 💾 Offline message handling
- 🌙 Dark/Light mode
- 📱 Android + Web + Desktop tooling
Available from backend static host:
http://<SERVER_IP>:8000
IntraChat-Android-FastAPI/
├── backend/ # FastAPI backend + web static files
│ ├── server.py # Main ASGI app
│ ├── run_server.py # Starter script (IP print + uvicorn launch)
│ ├── requirements.txt
│ ├── static/ # Web client
│ └── lumir/ # AI logic
│
├── app/ # Android app source
├── Start_Server.bat # Windows starter
├── start_server.sh # Linux starter
├── setup_systemd.sh # Linux systemd installer/uninstaller
└── GUIDE.md # Beginner-friendly setup guide
- Fork the repository
- Create a branch (
git checkout -b feature/AmazingFeature) - Commit (
git commit -m 'Add some AmazingFeature') - Push (
git push origin feature/AmazingFeature) - Open a Pull Request
GPLv3 License. See LICENSE.
Made with ❤️ for local network communication
⭐ Star this repo if you find it useful!

