{ "info": { "author": "Jan Bednarik", "author_email": "jan.bednarik@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "# Open Lobby Server\n\nOpen Lobby is register of lobby meetings. It's being developed for and tested\non [Czech Pirate Party](https://www.pirati.cz) but later it may be used by\nany party, organization, agency, ...\n\n_Open Lobby is in early beta version now. Not for production use._\n\nThis is core of the register - server with [GraphQL API](http://graphql.org).\nOver API are connected application interfaces. Default web application is\navailable at\n[openlobby/openlobby-app](https://github.com/openlobby/openlobby-app).\n\nRegister is built on top of\n[Elasticsearch](https://www.elastic.co/products/elasticsearch). For now it's\nintended for search in Czech language with custom Czech text analyzer. There is\nprepared Elasticsearch Docker container with Czech support at\n[openlobby/openlobby-es-czech](https://github.com/openlobby/openlobby-es-czech).\n\n## Configuration\n\nConfiguration is done by environment variables:\n - `DEBUG` - Set to any value to turn on debug mode. Don't use in production!\n - `SECRET_KEY` - long random secret string (required if not in debug mode)\n - `DATABASE_DSN` - DSN of PostgreSQL database (default: `postgresql://db:db@localhost:5432/openlobby`)\n - `ELASTICSEARCH_DSN` - DSN of Elasticsearch cluster (default: `http://localhost:9200`)\n - `SITE_NAME` - site name for OpenID authentication (default: `Open Lobby`)\n - `ES_INDEX` - Elasticsearch indices prefix (default: `openlobby`)\n - `REDIRECT_URI` - redirect URI used in OpenID Connect authentication (default: `http://localhost:8010/login-redirect`)\n - put there address where you run server, but keep there `/login-redirect`\n - this is the Redirect URI for static client registration at OpenID Provider\n\n### Login shortcuts aka preregistered OpenID Clients\n\nSome OpenID Providers does not allow dynamic client registration. You can still\nuse them. Register client with `REDIRECT_URI` and save client's credentials into\ndatabase. You can do it in admin interface running at `/admin`. It's standard\nDjango admin (create superuser for yourself like `./manage.py createsuperuser`).\n\n## Docker\n\nDocker image is at Docker Hub\n[openlobby/openlobby-server](https://hub.docker.com/r/openlobby/openlobby-server/).\nIt exposes server on port 8010. You should provide it environment variables for\nconfiguration (at least `SECRET_KEY`).\n\n## Demo\n\nDemo of Open Lobby with instructions is in repository\n[openlobby/demo](https://github.com/openlobby/demo).\n\n## Local run and development\n\n### Prerequisites\n\nYou need to have Python 3 installed.\n\nRun PostgreSQL database on `localhost:5432` with user `db`, password `db` and\ndatabase `openlobby`. You can provide different address in environment variable\n`DATABASE_DSN`.\n\nRun Elasticsearch server\n[openlobby/openlobby-es-czech](https://github.com/openlobby/openlobby-es-czech) \non `http://localhost:9200`. You can provide different address in environment\nvariable `ELASTICSEARCH_DSN`.\n\n### Local run\n\nClone this repository and run:\n\n1. `make init-env` - prepares Python virtualenv in dir `.env`\n2. `source .env/bin/activate` - activates virtualenv\n3. `make install` - installs requirements and server in development mode\n4. `make migrate` - runs database migrations and rebuilds Elasticsearch index\n5. `make run` - runs development server on port `8010`\n\nNow you can use GraphQL API endpoint and GraphiQL web interface at\n`http://localhost:8010/graphql`\n\nNext time you can just do steps 2 and 5.\n\n### Testing\n\nRun: `pytest`\n\nFor full test suite run you have to provide OpenID Provider issuer URL which\nallows client registration. For example you can run Keycloak sever locally:\n`docker run -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=pass -p 8080:8080 --rm jboss/keycloak`\n\nLogin into Keycloak admin console `http://localhost:8080/auth/admin/`\n(as admin/pass) and go to Realm Settings -> Client Registration -> Client \nRegistration Policies -> Trusted Hosts. There add `localhost` to \"Trusted \nHosts\", turn off \"Host Sending Client Registration Request Must Match\" and save\nit.\n\nNow run: `pytest --issuer=http://localhost:8080/auth/realms/master`", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/openlobby/openlobby-server", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "openlobby", "package_url": "https://pypi.org/project/openlobby/", "platform": "", "project_url": "https://pypi.org/project/openlobby/", "project_urls": { "Homepage": "https://github.com/openlobby/openlobby-server" }, "release_url": "https://pypi.org/project/openlobby/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "Open Lobby Server", "version": "0.1.0" }, "last_serial": 3652501, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "134c602eeae8008f762fc9e2dd1bc628", "sha256": "4d9b5737e808a144beada4e2b58c941b178094bea13d595f5f71034b7e58c3c5" }, "downloads": -1, "filename": "openlobby-0.1.0.tar.gz", "has_sig": false, "md5_digest": "134c602eeae8008f762fc9e2dd1bc628", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22398, "upload_time": "2018-03-08T21:39:43", "url": "https://files.pythonhosted.org/packages/7a/ef/0096a534760ff1ed87551dbf8b2da14d745b05947c954c5717916905e9aa/openlobby-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "134c602eeae8008f762fc9e2dd1bc628", "sha256": "4d9b5737e808a144beada4e2b58c941b178094bea13d595f5f71034b7e58c3c5" }, "downloads": -1, "filename": "openlobby-0.1.0.tar.gz", "has_sig": false, "md5_digest": "134c602eeae8008f762fc9e2dd1bc628", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22398, "upload_time": "2018-03-08T21:39:43", "url": "https://files.pythonhosted.org/packages/7a/ef/0096a534760ff1ed87551dbf8b2da14d745b05947c954c5717916905e9aa/openlobby-0.1.0.tar.gz" } ] }