Browse docs

Configuration

Updated

On this page
  1. Standard Laravel settings
  2. Geolocation
  3. Behind a CDN

Tidemark reads settings from the .env file in the project root. The installer writes the essentials. Edit the file with FTP or your file manager; changes apply on the next request.

Variable Default Notes
TIDEMARK_MODE self-hosted cloud opens registration and enables plan limits
TIDEMARK_REGISTRATION false (true in cloud) Allow sign-ups
TIDEMARK_INGEST sync queue buffers writes; drained by schedule:run or a worker
TIDEMARK_INGEST_QUEUE ingest Queue name used for buffered events
TIDEMARK_ANALYTICS_DB (app database) Separate connection for visits, events and event_props
TIDEMARK_IGNORE_IP none Comma-separated IPs, wildcards or CIDR ranges to ignore for every site
TIDEMARK_HOSTNAMES none Comma-separated hostname allow-list for every site
TIDEMARK_RETENTION_DAYS 0 Delete raw data older than N days. 0 keeps everything
TIDEMARK_GEOIP_DATABASE storage/app/geo/GeoLite2-City.mmdb Needs composer require geoip2/geoip2
TIDEMARK_DISABLE_BOT_FILTER false Turn off all bot and spam filtering for every site (crawlers, headless browsers, data center traffic, referrer spam, floods). Sites can also turn it off one by one
TIDEMARK_SALT empty Secret mixed into visitor ids, together with the date. If empty, APP_KEY is used
TIDEMARK_UPDATE_CHECK true Look for new releases (daily, and every few hours while an administrator is using the app) and show an update dot. Only the latest version number is requested. false turns it off
TIDEMARK_TERMS_URL, TIDEMARK_PRIVACY_URL, TIDEMARK_REFUNDS_URL none Links to your legal pages. When set, the sign-in and sign-up screens show them and sign-up says that creating an account means agreeing to the terms
TIDEMARK_UPDATER true false turns off updating from the dashboard (the Updates tab and its endpoints). For deployments that ship their own builds
TIDEMARK_UPDATE_REPO tidemark-analytics/tidemark GitHub repository checked for new releases from Account settings → Updates. Set it to follow a fork
TIDEMARK_MAX_SITES 0 Sites per user. 0 is unlimited
TIDEMARK_VERIFY_EMAIL false New accounts must confirm their email address before adding sites. Needs email
TIDEMARK_FLOOD_PER_MINUTE 120 Hits per minute from one visitor beyond which the rest are left out as a flood. 0 turns the check off
TIDEMARK_WEBHOOKS_ALLOW_PRIVATE false Let alert webhooks reach private network addresses and plain http, for a service on your own network. By default only public https addresses are allowed

Email is configured with the standard MAIL_* settings; see Email.

Standard Laravel settings

Tidemark is a Laravel application, so APP_URL, DB_*, MAIL_*, SESSION_* and LOG_* work as documented by Laravel. Keep APP_ENV=production and APP_DEBUG=false on a live site.

Geolocation

Behind Cloudflare, Vercel or CloudFront, country comes from the CDN's headers with no setup. For other hosts, install geoip2/geoip2 and place a MaxMind GeoLite2 City database at the configured path. The release zip does not bundle MaxMind data, and its license requires you to download it yourself.

Behind a CDN

The real client IP and country are read from the CDN's headers automatically. See Troubleshooting.

Was this helpful?

Ready to try Tidemark?

Free plan, no credit card. No cookies, no footprints.

Start free