Self-hosted, Laravel PHP based analytics tool for those who care about privacy. Recolus runs on your own server, analyzes the traffic of your websites and provides useful statistics in a minimal interface.
We believe that you don't need to track every aspect of your visitors. Recolus keeps tracked data anonymized to avoid that users are identifiable, while still providing helpful insights. It's the right tool for everyone who doesn't need a full-featured marketing analytics platform like Google Analytics or Matomo.
Demo : recolus.lumibib.ch
- Features
- Install
- Update
- Documentation
- Contributing
- Changelog
- Roadmap
- Authors and acknowledgment
- Inspirations and packages used
- License
- Self-hosted: Recolus runs on your own server and is 100% open-source
- Public dashboard: Instantly see how many visitors are coming to your website, where they come from and what they do once they're there.
- Privacy-aware: Doesn’t track users and doesn't need a GDPR notice.
- No cookies: No required cookie message. Identify unique visits without cookies or persistently storing any personal data.
- Useful data: Keeps useful statistics such as browser information, location, and device. Keep track of referring sites and campaigns.
- Lightweight script: Lightweight and fast script; adds just ~2.5 KiB of extra data to your site.
- Custom variable: You can filter your analysis with a custom variable set on your sites.
Requirements
- PHP 8.0
- Composer
- Git
- Minimum MySQL 8.0, MariaDB 10.2, PostgreSQL 10 or SQLite 3.28
Follow this instructions to "install" Recolus.
Clone this repository or download it as an archive and decompress-it.
A. Using git clone
cd /var/www # Or wherever you chose to install web applications to
git clone https://github.com/lumibib/recolus.git
cd recolus
git tag -l
# Examples below
v1.0.0
v1.1.0
v2.0.0
v2.1.0
git checkout v2.1.0
ℹ️ The tags below are examples of what will be shown. You should always run git checkout on the latest tag. Recolus is constantly evolving therefore, we advise you to always download and use the latest tagged release. Using a non-tagged release or the
main
branch may result in an unstable or broken environment.
B. Download the zip archive
Download Recolus as an archive and decompress it where you install web applications on your server.
If not already installed, install composer.
And then install required packages.
composer update --no-dev -o
Recolus comes with an installation command that will:
- Configure database
- Configure environment
- Create an admin user
- Run migrations
- Run seeders (for demo if you want)
Follow the instructions running this command in your terminal at the root of your project (cd PATH_TO_RECOLUS_ROOT
).
php artisan recolus:install
ℹ️ Getting a 500 - Internal Server Error? If you get a 500 error when visiting your status page, you may need to run
chmod -R 777 storage
for it to work orrm -rf bootstrap/cache/*
. You can also try to give permissions to cachechmod -R 777 bootstrap/
By default Recolus comes with a .env.example
file. You'll need to rename this file to just .env
regardless of what environment you're working on.
It's now just a case of editing this new .env
file and setting the values of your setup.
You can configure database with
php artisan recolus:install
command or manually.
If you've installed Recolus using Git, then upgrading should be straight forward, requiring just a few minutes.
ℹ️ Before you get started, backup! Make sure that you've taken a backup of your Recolus database. We test thoroughly, but you never know.
Follow the instructions running this command in your terminal at the root of your project (cd PATH_TO_RECOLUS_ROOT
).
php artisan recolus:update
If you want, you can update with theses command and then run php artisan recolus:update
again :
git fetch origin main
git tag -l
git checkout LATEST_TAG
Checking out a LATEST_TAG value won't work. You need to replace this with the latest version from the output of git tag -l.
Comming.
We’re really happy to accept contributions from the community, that’s the main reason why we open-sourced it! There are many ways to contribute, even if you’re not a technical person.
- Fork it (https://github.com/lumibib/recolus/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
You will find changelogs in the CHANGELOG.md file.
- Localization
- Check host with the domain_whitelist attribute
- Check paths with the ignore_paths attribute
- Display UTM attributes
- Automated events like downloads, outbound links, and email clicks.
- Custom Domain filter
- Browser and Platform versions in dedicated cards
- Device width card
- Filter by attribute when clicking an item in cards
- Export and API
- Email automate reports
- Dark mode
- Password protected public site page
- Michael Ravedoni - Initial work - michaelravedoni
See also the list of contributors who participated in this project.
Inspirations
Packages an tools
- Tailwind elements
- Apex charts
- laravel-apexcharts
- How to write a Good readme
- Flagpedia
- Google favicon API
- Browser icons
Recolus is open-sourced software licensed under the MIT License.