Skip to content

alfg/guildbit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

60d13b4 · Jul 21, 2023
Jul 21, 2023
Jan 25, 2021
Feb 21, 2021
Jan 28, 2021
Feb 21, 2021
Mar 30, 2020
Mar 30, 2020
Jan 17, 2021
Feb 21, 2021
Jul 22, 2021
Apr 23, 2014
Jul 22, 2021
Feb 2, 2021
Jan 31, 2021
Dec 11, 2013

Repository files navigation

GuildBit.com

Free Mumble Hosting

Guildbit.com

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.

https://guildbit.com

Screenshots

Guildbit.com Home Guildbit.com Server

Technology Stack

Development

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

Requirements

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
    

Docker

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.

Admin

See: Activating Admin

Translations

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.

Resources

License

MIT License © Alfred Gutierrez