Free Mumble Hosting
GuildBit is a full-stack application written in Python to offer temporary virtual Mumble servers to users. Guildbit depends on murmur-rest API backend to interface with the virtual Mumble servers.
- Flask - Python Framework
- Flask-SQLAlchemy - PostgreSQL/SQLite ORM
- Celery - Message Queue for scheduling Mumble Server tasks
- Redis - Cache backend and message broker for Celery
- Python-requests - HTTP requests to murmur-rest API
- Murmur-rest - Murmur HTTP API
It is highly recommended to use Docker to setup your environment. A docker-compose.yml
is provided as a typical setup for the following services:
- Guildbit App
- Celery - Task scheduler.
- Flower - Celery Dashboard UI
- NGINX - optional reverse proxy
- Redis Server - key/value storage for caching and message broker
- murmur-rest - Murmur HTTP API
- murmurd - Mumble Server
If using Docker, scroll down to Docker Setup
- Redis-server
- PostgreSQL
- Virtualenv recommended for development
- murmur-rest
Please note murmur-rest
MUST be setup in order to deploy virtual Mumble servers. However, it is possible to work on the Guildbit app without murmur-rest, you just won't be able to deploy or administer any Mumble servers.
$ git clone https://github.com/alfg/guildbit
$ virtualenv env --system-site-packages
$ . env/bin/activate
$ pip install -r requirements.txt
$ export FLASK_ENV=development
$ export FLASK_RUN_HOST=0.0.0.0
$ export FLASK_RUN_PORT=5000
$ flask run
* Running on http://0.0.0.0:5000/
* Restarting with reloader
- Database and schema will automatically be created via Flask-Migrate.
- Development server is running with default settings. See Configuration Guide for additional configuration options.
- Run celery in a separate process (but in the same python environment) to start the messaging queue:
$ celery worker --app=app.tasks -l info
A Dockerfile and docker-compose.yml
is provided for setting up a local development server. This will startup and link all services needed to run Guildbit:
$ docker-compose build
$ docker-compose up
Starting guildbit_redis_1 ... done
Starting guildbit_murmurd_1 ... done
Starting guildbit_db_1 ... done
Starting guildbit_flower_1 ... done
Starting guildbit_murmur-rest_1 ... done
Starting guildbit_guildbit_1 ... done
Starting guildbit_guildbit-tasks_1 ... done
Starting guildbit_nginx_1 ... done
guildbit_1 | [1] [INFO] Starting gunicorn 19.5.0
guildbit_1 | [1] [INFO] Listening at: http://0.0.0.0:8081 (1)
guildbit_1 | [1] [INFO] Using worker: sync
guildbit_1 | [9] [INFO] Booting worker with pid: 9
Or run flask run
via Docker for active devleopment with a local volume mounted:
λ docker-compose run --service-ports guildbit bash
Starting guildbit_db_1 ... done
Starting guildbit_redis_1 ... done
Starting guildbit_murmurd_1 ... done
Starting guildbit_murmur-rest_1 ... done
Creating guildbit_guildbit_run ... done
root@dbf0add00eec:/opt/guildbit# . venv/bin/activate
(venv) root@dbf0add00eec:/opt/guildbit# flask run
* Serving Flask app "app" (lazy loading)
* Environment: development
* Debug mode: on
* Running on http://0.0.0.0:8081/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 212-673-348
The database schema should automatically be created and ready for use.
Load http://localhost:8081
in your browser.
See Configuring Hosts on the wiki for next steps on setting up Hosts to start deploying Mumble servers.
See: Activating Admin
Translations are welcome. To add or update a translation, please add a file or update a file in https://github.com/alfg/guildbit/tree/master/app/translations. For more information, please read the wiki.
- See The Wiki for further commands available.
- Configuration Guide
MIT License © Alfred Gutierrez