All Projects → Bogdanp → nemea

Bogdanp / nemea

Licence: GPL-3.0 license
Privacy focused website analytics.

Programming Languages

racket
414 projects
Vue
7211 projects
javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
shell
77523 projects
Dockerfile
14818 projects
HTML
75241 projects

nemea

Take control of your website analytics!

screenshot

Usage

See the example directory for an example of how you might run nemea using docker and docker-compose.

Developing

Requirements

nemea is a Racket application so you'll need to install that and you'll need Node.js version 10.6.0 to build the static assets.

You'll also need a running PostgreSQL instance.

First-time setup

Install all the prerequisites:

$ raco pkg install chief
$ raco pkg install nemea/
$ npm install
$ cp .env.default .env

Set up the databases:

$ psql -dpostgres <<-SQL
create user nemea with password 'nemea' login;
create database nemea;
grant all privileges on database nemea to nemea;
create database nemea_tests;
grant all privileges on database nemea_tests to nemea;
SQL
$ echo "create extension if not exists hll;" | psql -dnemea
$ echo "create extension if not exists hll;" | psql -dnemea_tests

Download Maxmind's geolocation database:

$ curl -ls https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz | tar -xz '*.mmdb' \
    && mv GeoLite2-Country_*/GeoLite2-Country.mmdb assets/data/GeoLite2-Country.mmdb \
    && rm -r GeoLite2-Country_*

NB: As of Jan. 2020, you need to create an account to get access to MaxMind's GeoLite databases.

Running the development server

$ raco chief start

Running the tests

$ raco test nemea/

License

nemea is licensed under the GPL. Please see COPYING for details.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].