Email, maps and weather
All of these except photo storage can be set under Settings → Server. See how settings work.
Email is optional. With it, invitations can be emailed, admins hear when someone is waiting for approval, people hear when they’re approved, and anyone can reset a forgotten password themselves. Without it, admins copy those links from People and send them however they like.
Most email services offer SMTP, including Postmark, Resend, Mailgun, and Gmail with an app password.
SMTP_URL=smtp://user:[email protected]:587MAIL_FROM=LawFive <[email protected]>Use smtp:// on port 587 for STARTTLS, or smtps:// on port 465. Send a test email in Settings → Server sends to you through the saved settings, and shows the SMTP server’s own words if it fails.
Photo storage
Section titled “Photo storage”Photos go in the server’s uploads volume by default. To use an S3-compatible bucket instead (AWS S3, Cloudflare R2, Backblaze B2, MinIO), set S3_URL:
S3_URL=https://ACCESS_KEY:[email protected]/my-lawfive-photosAdd ?region=… if the host doesn’t include the region, and URL-encode the key and secret if they contain characters like / or +.
To limit how much each account can keep, set ACCOUNT_STORAGE_LIMIT_MB. Once a limit is set, accounts also hold at most 50,000 records. A match recorded on a watch and its track are never refused, as they can’t be recorded again.
The default is OpenFreeMap’s vector map, which is free, needs no key, and has a dark style.
-
Another style: set
MAP_STYLE_URLto any MapLibre style, withMAP_STYLE_DARK_URLandMAP_STYLE_ATTRIBUTION. -
Raster tiles: set
MAP_STYLE_URL=off.MAP_TILE_URLthen draws the map. It’s OpenStreetMap’s by default, which suits a personal server. A busy server should use a tile provider. Apps that can’t draw vector maps always use these tiles. -
Satellite imagery: this makes placing pitches much easier. It adds a Map and Satellite switch on venue maps, and providers need a key. For example, with MapTiler’s free tier:
.env MAP_SATELLITE_URL=https://api.maptiler.com/maps/satellite/256/{z}/{x}/{y}.jpg?key=YOUR_KEYMAP_SATELLITE_ATTRIBUTION=© MapTiler © OpenStreetMap contributorsCheck your provider’s documentation for the exact address and the credit it requires.
Address search
Section titled “Address search”Placing a venue uses OpenStreetMap’s Nominatim by default, which suits a personal server. Set GEOCODER_URL to another Nominatim-compatible service, or to off.
Weather
Section titled “Weather”Forecasts and past weather come from Open-Meteo, and the server stays under WEATHER_DAILY_LIMIT calls a day.
Open-Meteo’s free API needs no key, and is for non-commercial use up to 10,000 calls a day. A commercial service needs its paid plan:
WEATHER_URL=https://customer-api.open-meteo.comWEATHER_HISTORY_URL=https://customer-archive-api.open-meteo.comWEATHER_API_KEY=your-keySet either address to off to turn it off. A self-hosted Open-Meteo works too.