Skip to content

dustball/gping.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

  1. Clone this repo
  2. Define GPINGIO_HOME to be the cloned directory
    Recommended: add export GPINGIO_HOME='<path>' to your ~/.profile, ~/.bash_profile or ~/.bashrc then log out and back in for changes to take effect.
  3. cd $GPINGIO_HOME
  4. cp www/config-dist.php www/config.php and edit.
  5. ./docker/build.sh
  6. ./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 with docker logs -f db.
    Note: the first time you run this command it will produce Error response from daemon, this is normal.
  7. ./docker/www.sh
  8. docker exec www composer install
    This instructs composer to download and install the libraries that the GPing service relies on.
  9. Optional: List the running containers with docker ps.
  10. 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.

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 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.

Structure

Components of the project live loosely coupled under $GPING_HOME with related code grouped by directory.

  • db—DB schema and sample data
  • docker—container definitions and helper scripts around running dev setup
  • docs—various documentation; each major topic coordinated under topic.md
  • test—test code; not included in the deployed build but mounted in the dev container
  • www—website & backend; additional discussion in www docs