Configuration

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 Count known bots too
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

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.