gping.io
gping.io copied to clipboard
gping.io
gping.io Server
This is the open-source server software for gping.io.
The client (Android app) may be downloaded at Google Play.
Installation
Docker
If you're interested in running your own dev server we've tried to make setup as simple as possible by providing a set of containers. These collect all necessary configuration for local development and should make it trivial to get a functional production deployment.
For more detailed discussion of our container setup see docker/README.md. In summary, however, to get a dev environment running:
- Clone this repo
- Define
GPINGIO_HOMEto be the cloned directory
Recommended: addexport GPINGIO_HOME='<path>'to your~/.profile,~/.bash_profileor~/.bashrcthen log out and back in for changes to take effect. cd $GPINGIO_HOMEcp www/config-dist.php www/config.phpand edit../docker/build.sh./docker/db.sh
It may take a few moments for this container to fully spin up as the startup process includes bootstraping the DB. You can watch its progress withdocker logs -f db.
Note: the first time you run this command it will produceError response from daemon, this is normal../docker/www.shdocker exec www composer install
This instructscomposerto download and install the libraries that the GPing service relies on.- Optional: List the running containers with
docker ps. - Optional: Bring up the command line of the
wwwcontainer with:docker/shell.sh www
You should now have an instance of the latest build running on localhost:8080.
A brief discussion of the helper scripts used is here. If you're
interested in running a production instance see this for the changes
that shourd be made.
Apache
If you already have production Apache server ready to serve PHP files, you can
always deploy the www/ directly under your htdocs. Don't forget to a2enmod rewrite in order to enable mod_rewrite in Apache and composer install to
get PHP library dependencies.
Participate
Our community guidelines are outlined in the code of conduct.
- Roadmap—Where we see GPing going and the large blocks of work that needs attention next.
- Issues List—actionable tasks that need to be completed to
reach some goal on our roadmap. Items marked with
help wantedshould be reasonable tasks to get involved with when you're new to the project. - Forum—Ask questions to the community.
We also try to idle in the #gping.io IRC channel on Freenode.
Structure
Components of the project live loosely coupled under $GPING_HOME with
related code grouped by directory.
db—DB schema and sample datadocker—container definitions and helper scripts around running dev setupdocs—various documentation; each major topic coordinated undertopic.mdtest—test code; not included in the deployed build but mounted in the dev containerwww—website & backend; additional discussion in www docs