4 ms·
A side project I've been working on for a while now. Ackee is a self-hosted, Node.js based analytics tool for those who care about privacy. It runs on your own
by electerious 7y ago
A side project I've been working on for a while now. Ackee is a self-hosted, Node.js based analytics tool for those who care about privacy. It runs on your own server, analyses the traffic of your websites and provides useful statistics in a minimal interface. If you have any questions or feedback, just write it here :) Thanks!
- breck 7y agoLooks good! We removed analytics from our sites for privacy and simplicity reasons so I’ll consider this. Does it use JavaScript clientside or hook up to express or nginx or both? Before google analytics I remember there were a few self hosted tools in this space. Would you mind adding a list of the most current ones that people are using? I need to get caught up.
- rkwz 7y agoCouple of ones I can think of: Fathom: https://github.com/usefathom/fathom https://github.com/usefathom/fathom Goatcounter: https://github.com/zgoat/goatcounter https://github.com/zgoat/goatcounter Freshlytics: https://github.com/sheshbabu/freshlytics https://github.com/sheshbabu/freshlytics There's also a non-oss but privacy focussed analytics - http://simpleanalytics.com http://simpleanalytics.com Disclaimer: I'm the creator of Freshlytics
- gorkemcetin 7y agoYou may want to add Countly (for both web and mobile) to that list (https://github.com/countly/countly-server https://github.com/countly/countly-server) - which can be deployed on DO easily as well for free (https://marketplace.digitalocean.com/apps/countly-analytics https://marketplace.digitalocean.com/apps/countly-analytics)
- cosmie 7y agoSnowplow is another: https://snowplowanalytics.com/products/snowplow-open-source/ https://snowplowanalytics.com/products/snowplow-open-source/
- electerious 7y agoAckee uses a JS snippet to get the data. Nginx logs won't work, but the API is fully documented and it should be possible to build an import / custom script. Could also work with express.
- bildung 7y agoPiwik/Matomo is a popular tool in the same space. How would you compare Ackee to Matomo (tech aside)?
- electerious 7y agoPiwik/Matomo is more like Google Analytics in the way it works and what you can do with it. Ackee will never be a replacement if you need full-featured marketing analytics with tons of options and insights. Ackee tries to be less. Lightweight, easy to install and with a good balance between analytics and privacy.
- acidburnNSA 7y agoWhat about vs. the old perl script, awstats? I'm still using that, amazingly, after like 15 years. It does the basics fairly well, if a little ugly. I'm always looking for new cool stuff though.
- g4k 7y agoLog file analytics does not work with Javascript apps.
- cmroanirgo 7y agoTrue, but log file analytics work despite JavaScript being disabled in the browser.
- dpcan 7y agoWhat happens when you start to accumulate over 5 million+ records (as an arbitrary large number)? Or a couple gigs of stats data? We used to provide our own stats software to our customers before it became an utter nightmare of indexing databases, cron jobs, report generation, and customers stepping over their hosting quotas because of all the stats data.
- cosmie 7y agoI can't speak to the OP's performance, but Snowplow[1] may be good for your use. It's a bit more general purpose than just pure web analytics, and doesn't come with the reporting interface. But as far as the data collection and storage at scale aspect, it's fantastic. [1] https://snowplowanalytics.com/products/snowplow-open-source/ https://snowplowanalytics.com/products/snowplow-open-source/
- rkwz 7y agoIf your reports are predefined - summarised and no adhoc reporting needed, you can look into the continuous view feature of PipelineDB - http://docs.pipelinedb.com/continuous-views.html http://docs.pipelinedb.com/continuous-views.html > As soon as a stream row has been read by the continuous views that must read it, it is discarded. Raw, granular data is not stored anywhere. The only data that is persisted for a continuous view is whatever is returned by running a SELECT * FROM that_view. Thus you can think of a continuous view as a very high-throughput, realtime materialized view. I use PipelineDB continuous views in Freshlytics - https://github.com/sheshbabu/freshlytics/blob/master/src/server/migrations/1561030715992_init.sql#L32 https://github.com/sheshbabu/freshlytics/blob/master/src/ser... TimescaleDB also has something called "Continuous Aggregates" - https://docs.timescale.com/latest/using-timescaledb/continuous-aggregates https://docs.timescale.com/latest/using-timescaledb/continuo... but I haven't looked into it much.
- electerious 7y ago> What happens when you start to accumulate over 5 million+ records I don't think Ackee is the right tool if your site as so many visitors. And to be honest: I don't know what will happen at this scale. There shouldn't be a problem as long as MongoDB can handle it.
- bovermyer 7y agoHow does this compare to Fathom?
- electerious 7y agoAckee and Fathom are very similar. Both in the way they display data and how they process it. The biggest advantages of Ackee (compared to Fathom) are probably: - A documented REST API that lets you build upon Ackee. Could be used for custom import scripts or apps that display your current visitor stats in the menu bar. - Ackee allows you to track more than just page/site views (browser, system, etc.). This is optional and off by default, but great for people/companies that need more insights. Fathom definitely has a head start, while Ackee is very young. Can't wait to see how Fathom v2 will look like and how both will compare in the future.