A multi-vendor marketplace platform enabling users to buy, sell, post short videos, go live, and communicate via chat and in-app calls across multiple countries.
Install the app using bench:
cd $PATH_TO_YOUR_BENCH
bench get-app $URL_OF_THIS_REPO --branch main
bench install-app aosInstall required system packages:
sudo apt update
sudo apt install -y libgl1 ffmpeg build-essential python3-dev curl wgetlibgl1β required for background removal (rembg)ffmpegβ video processing (shorts)build-essentialβ build Python dependenciespython3-devβ required for some Python packages
AOS depends on external services. Run them using Docker Compose.
cd apps/aoscp .env.example .envUpdate values inside .env as needed.
docker compose up -d- Qdrant
- URL: http://localhost:6333
- MinIO
- API: http://localhost:9100
- Console: http://localhost:9101
- LiveKit
- WebSocket: ws://localhost:7880
- Firebase Cloud Messaging
- No server required (managed by Firebase)
- Go to Firebase Console
- Create project
- Download service account JSON
- Add to
site_config.json:
{
"firebase_service_account": "/absolute/path/to/service-account.json"
}Configure Email Account in Frappe:
- SMTP server
- Email credentials
- Enable outgoing mail
Used for:
- OTP verification
- Password reset
- System notifications
After installing the app, configure AOS Settings in Frappe:
host: 127.0.0.1
port: 6333
collection: ads
endpoint: 127.0.0.1:9100
access_key: from .env
secret_key: from .env
public_base_url: http://127.0.0.1:9100
secure: 0
endpoint: ws://127.0.0.1:7880
api_key: from .env
api_secret: from .env
bench startbench run-tests --app aosapps/aos/
βββ aos/ # Main application code
βββ docker-compose.yml # Dev/infra services
βββ .env.example # Environment variables template
βββ infra/
β βββ livekit/
β βββ livekit.yaml # LiveKit config
βββ pyproject.toml
βββ README.md
- Do NOT commit
.env - Do NOT commit Firebase JSON
- Always use strong passwords in production
This docker setup is intended for:
- Local development β
- Testing β
- Single-server deployments β
For high-scale production:
- Separate services into different servers
- Add SSL (HTTPS)
- Use reverse proxy (nginx)
cd apps/aos
pre-commit installTools used:
- ruff
- eslint
- prettier
- pyupgrade
GitHub Actions workflows:
- CI β installs app and runs tests
- Linters β static analysis
MIT