This is a web application for real-time collection of geolocation data, tracks viewing and management.
Together with a dedicated μlogger mobile client it may be used as a complete self hosted server–client solution for logging and monitoring users' geolocation.
Download zipped archive or clone the repository on your computer
Move it to your web server directory (unzip if needed)
Fix folder permissions: uploads folder (for uploaded images) should be writeable by PHP scripts
In case of development version it is necessary to build javascript bundle from source files. You will need to install npm and run npm install and npm run build in root folder
Create database and database user (at least SELECT, INSERT, UPDATE, DELETE privileges, CREATE, DROP for setup script, SEQUENCES for postgreSQL)
Create a copy of config.default.php and rename it to config.php. Customize it and add database credentials
Edit scripts/setup.php script, enable it by setting $enabled value to true
Make sure you have a web server running with PHP and chosen database
Open http://YOUR_HOST/ulogger-server/scripts/setup.php page in your browser
Follow instructions in setup script. It will add database tables and set up your μlogger user
Remember to remove or disable scripts/setup.php script
Log in with your new user on http://YOUR_HOST/ulogger-server/
Run docker run --name ulogger -p 8080:80 -d bfabiszewski/ulogger and access http://localhost:8080 in your browser. Log in with admin:admin credentials and change default password
Optional configuration options with ENV variables, for list see Dockerfile. The variables correspond to main μlogger configuration parameteres
For example: docker run --name ulogger -e ULOGGER_LANG="pl" -p 8080:80 -d bfabiszewski/ulogger
You may also build the image yourself. Run docker build . from the root folder where Dockerfile reside. There are optional build-time arguments that allow you to set default database passwords for root and ulogger users
Docker was created to facilitate development and testing. It is not production ready. If you want to use it in production, you will have to adjust it to your needs.
Integration tests may be run against docker image. We need exposed http and optionally database ports (eg. mapped to localhost 8080 and 8081). Below example for MySQL setup