This is the open-source server software for gping.io.
The client (Android app) may be downloaded at Google Play.
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_HOME
to be the cloned directory
Recommended: addexport GPINGIO_HOME='<path>'
to your~/.profile
,~/.bash_profile
or~/.bashrc
then log out and back in for changes to take effect. cd $GPINGIO_HOME
cp www/config-dist.php www/config.php
and 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.sh
docker exec www composer install
This instructscomposer
to 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
www
container 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.
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.
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 wanted
should 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.
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.md
test
—test code; not included in the deployed build but mounted in the dev containerwww
—website & backend; additional discussion in www docs