.env file in the server directory.
Database Configuration
MongoDB connection string. Usually points to the Mongo service name inside docker-compose.Example:
mongodb://mongo:27017Logical database name used by m87-server.
MongoDB root username. Only required for secured Mongo setups.
MongoDB root password. Only required for secured Mongo setups.
Authentication & OAuth
OAuth/OIDC issuer URL used to validate access tokens.Example:
https://auth.make87.com/Expected OAuth audience for access tokens. Must match the
aud claim issued by the auth provider.Example: https://auth.make87.comServer Networking
Public base address under which this server is reachable. Used to check the SNI of incoming requests for device ID prefixes.Example:
your.public.domainPort for the unified public interface (typically proxied). Needs to match the port mapped to 443 for QUIC endpoints.
Port for the REST API (may be internal or separately exposed). Used for the WebTransport endpoint for the web app. Mapped to 8080.
Environment Flags
Whether the server runs in staging mode.
0= production behavior1= staging / relaxed checks / verbose logging
Whether newly registered users require manual approval.
true= user accounts start inactive until approvedfalse= users are active immediately
Whether devices can be shared across users of different organizations.
true= cross-org device sharing allowedfalse= devices are restricted to their org
Domains that are auto-approved on signup. If a user’s email domain matches one of these, approval is skipped.Comma-separated list with no spaces.Example:
make87.com,example.orgAdmin & Security
Static admin API key used for privileged actions such as:
- Approving users
- Creating organizations
- Bootstrapping admin access
change-me (must be changed in production)List of email addresses that should automatically receive admin privileges.Comma-separated list with no spaces.Example:
admin@org.com,admin@example.orgData Retention
Number of days audit log entries are retained. Older entries are automatically deleted.
Number of days deployment/report data is retained. Older reports are automatically deleted.
Example Configuration
.env
Security Best Practices
The
.env.example file in the repository provides a template with all available options and their descriptions.