Installing a new OpenBioMaps server¶
This page provides a short overview of server installation and explains the
most important project-level settings in local_vars.php.inc.
Most installations should use the Docker-based environment. After installing the server, use the Supervisor interface to manage low-level system and project configuration.
Important: The values below are configuration examples, not a complete configuration file. Review every value before using it. Do not commit passwords, client secrets, encryption keys, or other credentials to a source-code repository.
Installing OpenBioMaps with Docker¶
For the supported Docker-based installation process, see:
Troubleshooting installations and updates¶
For common problems encountered after a new installation or an update, see:
Server configuration¶
For system-level settings, Supervisor, PHP, MapServer, and recommended cron jobs, see:
Project-level configuration¶
Several low-level project settings are stored in local_vars.php.inc. The
file is normally maintained by a server administrator through the
project-specific mode of the Supervisor interface.
Settings available through the regular project-administration interface
should generally be managed there. Edit local_vars.php.inc only when the
required option is not available through that interface.
The location of the file depends on the installation and project. In a standard Docker installation, it is located in the project’s directory under the OpenBioMaps web application.
After changing the file:
check the PHP syntax;
reload the affected project page;
inspect the application and server logs for errors; and
test the relevant function with an appropriate user account.
The available constants can vary between OpenBioMaps releases. Keep settings generated by the project installer or Supervisor unless there is a specific reason to change them. Do not copy a complete configuration from another project without reviewing project names, URLs, database credentials, and security-related values.
The values in the following sections are examples. Values such as passwords, host names, project names, domains, and secrets must be replaced with values appropriate for the installation.
Database connection¶
These settings define the project’s PostgreSQL connection.
Variable |
Example value |
Description |
|---|---|---|
|
|
PostgreSQL user used by the project. |
|
|
Password of the PostgreSQL user. Replace it with a strong, random password and keep it secret. |
|
|
Name of the PostgreSQL database containing the project. |
|
|
PostgreSQL server host name. In a container-based installation this is usually the database service name. |
Project SQL table name¶
Variable |
Example value |
Description |
|---|---|---|
|
|
Name of the project’s primary SQL table and project identifier. In installations following the standard directory layout, it may alternatively be derived from the project directory name. |
The value must match the project created by the installer or Supervisor. Changing it on an existing project can prevent OpenBioMaps from finding the project’s data and configuration.
Project data restrictions¶
Variable |
Example value |
Description |
|---|---|---|
|
|
Controls data access. |
|
|
Controls data modification. |
Use the most restrictive setting appropriate for the project and verify the result with both authenticated and unauthenticated users.
Language settings¶
Variable |
Example value |
Description |
|---|---|---|
|
|
Default project language. A corresponding language file must exist. |
|
|
Languages offered by the project and their displayed labels. The first entry is the default language used by components that rely on the order of this list. |
Keep LANG consistent with the configured project languages.
Path and URL settings¶
Variable |
Example value |
Description |
|---|---|---|
|
|
URL path under which project resources are available. On |
|
|
Full base URL for project resources. Replace the domain placeholder and include the correct scheme, host, optional port, and deployment path. |
For example, if the server base URL is https://example.org and PATH is
/biomaps/resources, the resulting URL is
https://example.org/biomaps/resources.
MapServer and MapCache settings¶
Variable |
Example value |
Description |
|---|---|---|
|
|
Project URL of the private MapServer proxy. It is constructed from |
|
|
Project URL of the public MapServer proxy. It is constructed from |
|
|
Project URL of the private MapCache proxy. It is constructed from |
|
|
Project URL of the public MapCache proxy. It is constructed from |
|
|
MapServer endpoint for a standalone installation. |
|
|
MapServer endpoint for a Docker installation. Use this instead of the standalone value when the |
|
|
MapCache endpoint. Using MapCache requires additional server configuration; see the MapServer documentation. |
|
|
Name of the map object used by the project. |
|
|
Private MapServer mapfile used by the project. This setting is retained for compatibility and may move to PostgreSQL-managed project settings in a future version. |
Configure only one MAPSERVER value. The correct value depends on whether
MapServer runs locally or as a separate Docker service.
Invitations¶
Variable |
Example value |
Description |
|---|---|---|
|
|
Maximum number of active invitations a user may have at the same time. When set to |
Mail settings¶
These optional settings are used when no suitable local mail agent is available.
Variable |
Example value |
Description |
|---|---|---|
|
|
Enables SMTP authentication. |
|
|
SMTP server host name. |
|
|
User name used to authenticate with the SMTP server. |
|
|
SMTP password. Keep it secret and do not commit it to the repository. |
|
|
SMTP server port. Select the port appropriate for the server’s encryption and authentication configuration. |
|
|
Sender address used for outgoing project mail. |
|
|
Optional SMTP transport security mode. |
A historical Google SMTP example used the following values:
Variable |
Historical example value |
|---|---|
|
|
|
|
|
|
|
|
|
|
The historical Google example may no longer work without additional provider configuration and should not be copied without reviewing Google’s current authentication requirements.
The following mail-adjacent settings are deprecated and should not be used for new projects:
Variable |
Example value |
Description |
|---|---|---|
|
|
Deprecated Shiny URL setting. |
|
|
Deprecated R server setting. |
Page displayed after login¶
Variable |
Example value |
Description |
|---|---|---|
|
|
Page loaded after login. Supported documented choices are |
|
|
Deprecated training-mode setting. Do not use it for new projects. |
Main page configuration¶
MAINPAGE groups settings that control the layout and content of the project
main page.
Key |
Example value |
Description |
|---|---|---|
|
|
Main-page template. |
|
|
Content of the first main area. Documented values include |
|
|
Pipe-separated list of sidebar components. Common components include |
|
|
Displays the system footer when set to |
|
|
Hides the system header when set to |
|
|
Optional custom page-skeleton selector. It is disabled in the example configuration. |
|
|
Optional list of pages subject to restriction. The key is spelled |
Project-specific sidebar components must exist and be correctly configured
before they are added to sidebar1.
Docker project domain¶
Variable |
Example value |
Description |
|---|---|---|
|
Value of |
Docker-specific project domain used when creating email alerts for new uploads. The value is inherited from the system-level |
Style configuration¶
STYLE selects the project style.
Key |
Example value |
Description |
|---|---|---|
|
|
Name of the style or template directory used by the project. The named style must be installed. |
Header configuration¶
HEADER controls links and the layout of the project header.
Key |
Example value |
Description |
|---|---|---|
|
|
Pipe-separated list of links displayed in the header. |
|
|
Header layout used by the project. |
Encryption hash¶
Variable |
Example value |
Description |
|---|---|---|
|
|
Secret value used by modules such as |
Changing MyHASH in an existing project may invalidate values previously
created with the old secret.
Custom cache settings¶
Variable |
Example value |
Description |
|---|---|---|
|
Value of the |
Host running the cache service. |
|
Value of the |
Port of the cache service. Port |
In Docker installations, use the cache service name rather than localhost
when the cache runs in another container.
OpenID Connect login¶
OPENID_CONNECT contains one or more identity-provider definitions. The
example configures Google.
Provider/key |
Example value |
Description |
|---|---|---|
Provider name |
|
Internal identifier of the OpenID Connect provider. |
|
|
Client identifier issued by the provider. |
|
|
Client secret issued by the provider. Keep it secret and do not commit it to the repository. |
|
|
Base URL of the OpenID Connect provider. |
|
|
Path to the trusted CA certificate bundle used to validate TLS connections to the provider. |
Register the exact OpenBioMaps redirect URI with the provider and verify that the application can read the configured CA certificate bundle.
PWA link¶
Variable |
Example value |
Description |
|---|---|---|
|
|
Enables the Progressive Web App link on the project main page. |
Custom pages¶
Variable |
Example value |
Description |
|---|---|---|
|
|
List of custom page identifiers available in the project. Each referenced custom page must be implemented in the appropriate project location. |
Attachment image size¶
Variable |
Example value |
Description |
|---|---|---|
|
|
Maximum permitted image attachment size in bytes. The example value is 4 MiB. |
The effective upload limit may also be constrained by PHP, the web server, reverse proxy, or other infrastructure settings.
Temporary tables for observation-list uploads¶
Variable |
Example value |
Description |
|---|---|---|
|
|
Enables use of tables named like |
The database user must have the required permissions on the temporary-table schema.
Background data export¶
Variable |
Example value |
Description |
|---|---|---|
|
|
Number of records above which data export is processed as a background job instead of a normal direct download. |
Background exports require the project’s job runner to be configured and running.
Additional project schemas¶
Variable |
Example value |
Description |
|---|---|---|
|
|
List of additional PostgreSQL schemas associated with the project. |
Ensure that the project database user has the required privileges on every listed schema.
Security and automated-request checks¶
These settings enable request-rate checks backed by Redis. When the defined limits are exceeded, OpenBioMaps can enter an attack-protection mode and display an “Are you human?” check for the configured lifetime.
Variable |
Example value |
Description |
|---|---|---|
|
|
Enables the security check. |
|
|
Redis server host. The documented default is |
|
|
Redis server port. The documented default is |
|
|
Maximum number of requests allowed from one IP address per 10 seconds. Set it to |
|
|
Maximum total request rate per second. The documented default is |
|
|
Time in seconds for which attack-protection mode remains active. The documented default is |
Choose limits based on expected traffic, proxy configuration, and the number of users sharing an apparent source IP. If OpenBioMaps is behind a reverse proxy, verify that the application receives the correct client IP addresses.
Developer options¶
These options are intended for development and troubleshooting rather than normal production use.
Variable |
Example value |
Description |
|---|---|---|
|
|
Selects another Git branch, such as the testing branch. Production projects should normally use the supported production branch. |
|
|
Enables additional logging for PDS actions. Disable verbose debug logging after troubleshooting because it may increase log volume or expose sensitive operational details. |
After enabling a developer option, monitor the application logs and revert the option when it is no longer needed.