A comprehensive, open-source toolkit for Google Workspace administrators with tools for user management, group synchronization, and attribute injection.
π Features automatic updates β’ π Multi-language support β’ π³ Docker-ready β’ π Branch-protected
Extract all user accounts with email aliases from Google Workspace and export to CSV format.
Output Format:
- Current Email
- Alias 1
- Alias 2
- Alias 3
- (Additional aliases as needed)
- English
- Spanish (EspaΓ±ol)
- Portuguese (PortuguΓͺs)
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8000cd frontend
npm install
npm run dev- Go to Google Cloud Console
- Create a new project or select existing one
- Enable the Admin SDK API
- Create OAuth 2.0 credentials (Desktop app)
- Download the credentials JSON file
- Upload it through the application interface
Docker deployment includes automatic updates via Watchtower - you'll always have the latest version!
# Pull and run pre-built image
docker-compose up -d
# Access the application
# UI + API: http://localhost:8000What's included:
- β Single unified image (frontend + backend) from GitHub Container Registry
- β Automatic updates (checks daily for new versions)
- β Auto-cleanup of old images
- β No manual updates needed!
- β Access at http://localhost:8000 (both UI and API)
Manual update (if needed):
docker-compose pull
docker-compose up -dFor local development (build from source):
docker-compose -f docker-compose.dev.yml upGWorkspace-toolbox/
βββ backend/ # FastAPI Python backend
βββ frontend/ # React + Vite frontend
βββ docker-compose.yml
βββ README.md
Once running, access the interactive API documentation at:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
- Never commit
credentials.jsonortoken.jsonfiles - Store sensitive credentials securely
- Use environment variables for configuration
- The application runs locally to maintain credential security
We welcome contributions from the community! π
Open an issue with details about the problem.
Submit a feature request or start a discussion.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
Note: The main branch is protected and requires:
- β Pull Request review and approval
- β CI/CD checks to pass (Docker builds)
- β No direct pushes allowed
See CONTRIBUTING.md for detailed guidelines.
This project uses GitHub Actions for continuous integration:
- β
Automatic Docker image builds on every push to
main - β Images published to GitHub Container Registry
- β Watchtower automatically updates running instances
- β Branch protection ensures code quality
View builds: GitHub Actions
- π« Report Issues
- π¬ Discussions
- π Documentation
MIT License - see LICENSE for details
Made with β€οΈ for Google Workspace administrators