Introduction

Biodiversity research depends on accurate, accessible species occurrence data. Whether tracking invasive species spread, modeling climate change impacts on ecosystems, or documenting rare plant populations, researchers need platforms to collect, curate, and publish biodiversity observations. While global initiatives like the Global Biodiversity Information Facility (GBIF) aggregate data from thousands of sources, individual research institutions, natural history museums, and community science groups often need their own data management infrastructure.

This guide compares three self-hosted platforms for biodiversity data management: GBIF Integrated Publishing Toolkit (IPT), iNaturalist, and PyBossa. Each serves a different role in the biodiversity data lifecycle — from formal data publishing to community observation collection to custom crowdsourcing task design.

Platform Comparison

FeatureGBIF IPTiNaturalistPyBossa
Primary FunctionBiodiversity data publishing to GBIFCommunity-powered species observation collectionGeneral-purpose crowdsourcing framework
Data StandardDarwin Core (DwC-A)Custom observation modelUser-defined task models
User BaseData curators, collection managersNaturalists, citizen scientistsCitizen science project designers
Species IdentificationManual (by data publisher)Community voting + computer vision suggestionsCustom task-dependent
Mobile SupportNoiOS + Android appsTask-dependent (web-based)
DeploymentJava WAR / TomcatRuby on Rails / DockerPython Flask / Docker
Stars137827761
LicenseApache 2.0MITAGPL v3
Active Since200920082012

GBIF IPT: Formal Biodiversity Data Publishing

The GBIF Integrated Publishing Toolkit (IPT) is the standard tool for publishing biodiversity datasets to the GBIF network — the world’s largest biodiversity data aggregator with over 2 billion occurrence records. IPT enables museums, herbaria, research institutions, and monitoring programs to transform their internal databases into standardized Darwin Core Archives (DwC-A) that feed into the global biodiversity knowledge graph.

Key Features

  • Darwin Core Mapping: A point-and-click interface for mapping database columns to Darwin Core terms — the international standard for biodiversity data exchange.
  • Dataset Registration: Direct integration with GBIF’s registry, allowing published datasets to be immediately discoverable through GBIF’s global search portal.
  • Versioned Publishing: Track dataset versions with clear provenance — essential for long-term ecological monitoring programs where data evolves over multiple field seasons.
  • Metadata Editor: A comprehensive metadata editor compliant with the Ecological Metadata Language (EML) standard.
  • DOI Assignment: Automatic DOI assignment for published datasets through GBIF’s DataCite integration, ensuring proper academic citation.

Deployment

The IPT runs as a standard Java web application and can be deployed with Tomcat:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# Download IPT
wget https://repository.gbif.org/content/repositories/releases/org/gbif/ipt/3.0.1/ipt-3.0.1.war

# Deploy to Tomcat
cp ipt-3.0.1.war /opt/tomcat/webapps/ipt.war

# Configure database connection
cat > /opt/tomcat/webapps/ipt/WEB-INF/datadir/config.properties << 'EOF'
ipt.db.type=POSTGRESQL
ipt.db.host=localhost
ipt.db.port=5432
ipt.db.name=ipt
ipt.db.user=ipt
ipt.db.password=secure_password
ipt.baseURL=https://ipt.example.org
EOF

A Docker-based deployment using a community-maintained image:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
version: "3"
services:
  ipt:
    image: gbif/ipt:latest
    container_name: gbif-ipt
    ports:
      - "8080:8080"
    volumes:
      - ./data/ipt-datadir:/srv/ipt/data
    environment:
      - IPT_BASEURL=https://ipt.example.org
    restart: unless-stopped

  postgres:
    image: postgis/postgis:16-3.4
    environment:
      - POSTGRES_DB=ipt
      - POSTGRES_USER=ipt
      - POSTGRES_PASSWORD=secure_password
    volumes:
      - ./data/postgres:/var/lib/postgresql/data
    restart: unless-stopped

iNaturalist: Community-Powered Species Observations

iNaturalist is the world’s most popular community science platform for biodiversity observation, with over 150 million observations contributed by a global community of naturalists. While the flagship iNaturalist.org website serves as the central hub, the platform is fully open-source and can be self-hosted for regional or institutional use.

Key Features

  • Observation Collection: Users upload geotagged photos of organisms, which are then identified through a combination of community voting and computer vision suggestions.
  • Computer Vision Model: iNaturalist’s trained vision model provides real-time species suggestions for over 80,000 taxa, dramatically speeding up identification for common species.
  • Research-Grade Data: Observations with community consensus on identification become “Research Grade” and are automatically shared with GBIF and other biodiversity data aggregators.
  • Projects and Bioblitzes: Create collection projects, umbrella projects, and bioblitz events to coordinate community observation efforts around specific taxa, locations, or time periods.
  • API Access: Comprehensive REST API and data exports for integrating observation data into research workflows.

Docker Compose Deployment

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
version: "3"
services:
  inat-web:
    image: inaturalist/inaturalist:latest
    container_name: inat-web
    ports:
      - "3000:3000"
    environment:
      - RAILS_ENV=production
      - DATABASE_URL=postgresql://inat:password@postgres:5432/inaturalist
      - REDIS_URL=redis://redis:6379
      - ELASTICSEARCH_URL=http://elasticsearch:9200
    volumes:
      - ./data/inat-public:/inaturalist/public
    depends_on:
      - postgres
      - redis
      - elasticsearch
    restart: unless-stopped

  inat-worker:
    image: inaturalist/inaturalist:latest
    command: bundle exec sidekiq
    environment:
      - RAILS_ENV=production
      - DATABASE_URL=postgresql://inat:password@postgres:5432/inaturalist
      - REDIS_URL=redis://redis:6379
    depends_on:
      - postgres
      - redis
    restart: unless-stopped

  postgres:
    image: postgis/postgis:16-3.4
    environment:
      - POSTGRES_DB=inaturalist
      - POSTGRES_USER=inat
      - POSTGRES_PASSWORD=password
    volumes:
      - ./data/postgres:/var/lib/postgresql/data

  redis:
    image: redis:7-alpine

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.11.0
    environment:
      - discovery.type=single-node
      - xpack.security.enabled=false

Setting up a regional iNaturalist instance involves configuring the geographic scope:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# config/settings.yml
site:
  name: "Regional Biodiversity Network"
  url: "https://nature.example-region.org"
  place_id: 12345
  coordinate_system: "wgs84"

preferred_observation_fields:
  - "Individual count"
  - "Life stage"
  - "Habitat type"

PyBossa: Custom Crowdsourcing for Biodiversity Tasks

PyBossa is a general-purpose crowdsourcing framework that can be adapted for biodiversity research tasks beyond simple observation collection. While iNaturalist focuses on species observations, PyBossa enables researchers to design custom microtask workflows for specialized needs like specimen label transcription, image classification, and measurement extraction.

Key Features

  • Custom Task Design: Create bespoke task presenters using HTML, CSS, and JavaScript — present images, maps, audio clips, or any media format to contributors.
  • Flexible Task Routing: Configure task assignment strategies including random, priority-based, and user-specific routing.
  • Statistical Validation: Built-in consensus algorithms that aggregate multiple contributor responses and calculate agreement metrics.
  • Project Templates: Reusable project templates that can be shared across institutions — create a species identification template once and reuse it for different taxa.
  • Extensible via Plugins: Plugin architecture for adding custom authentication backends, data export formats, and quality control mechanisms.

Docker Compose Deployment

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
version: "3"
services:
  pybossa:
    image: pybossa/pybossa:latest
    container_name: pybossa
    ports:
      - "5000:5000"
    environment:
      - DATABASE_URL=postgresql://pybossa:password@postgres:5432/pybossa
      - REDIS_URL=redis://redis:6379/0
      - SECRET_KEY=your-secure-secret-key
      - SERVER_NAME=pybossa.example.org
    volumes:
      - ./data/pybossa-uploads:/opt/pybossa/uploads
    depends_on:
      - postgres
      - redis
    restart: unless-stopped

  postgres:
    image: postgres:16
    environment:
      - POSTGRES_DB=pybossa
      - POSTGRES_USER=pybossa
      - POSTGRES_PASSWORD=password
    volumes:
      - ./data/postgres:/var/lib/postgresql/data

  redis:
    image: redis:7-alpine

A simple PyBossa task for herbarium specimen transcription might include a task presenter that shows a specimen image and asks contributors to transcribe the label data:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
// Task presenter for specimen label transcription
function displayTask(task) {
    const container = document.getElementById('task-container');
    container.innerHTML = `
        <div class="specimen-image">
            <img src="${task.info.image_url}" alt="Herbarium specimen">
        </div>
        <div class="transcription-form">
            <label>Scientific Name: <input id="scientific-name" type="text"></label>
            <label>Collection Date: <input id="collection-date" type="text"></label>
            <label>Collector: <input id="collector" type="text"></label>
            <label>Location: <input id="location" type="text"></label>
        </div>
    `;
}

Choosing the Right Platform

Choose GBIF IPT if your primary goal is to formally publish curated biodiversity datasets to the global GBIF network with standardized metadata, DOIs, and Darwin Core compliance. IPT is ideal for museum collections, herbarium databases, and long-term ecological monitoring datasets that need to be FAIR (Findable, Accessible, Interoperable, Reusable).

Choose iNaturalist for building a community-powered observation platform that engages citizen scientists in documenting local biodiversity. The built-in computer vision suggestions, mobile apps, and social features make it the best choice for public-facing biodiversity portals.

Choose PyBossa when your biodiversity data collection requires customized workflows beyond standard species observations — such as digitizing historical specimen labels, classifying camera trap images, or measuring morphological features from photographs. PyBossa’s flexibility makes it suitable for specialized research projects with unique data collection requirements.

Why Self-Host Your Biodiversity Data Platform?

Self-hosting biodiversity data infrastructure ensures compliance with national data sovereignty regulations, which is increasingly important for sensitive species location data and indigenous knowledge integration. Many countries require biodiversity data collected within their borders to be stored on domestic servers before being shared internationally through GBIF. Self-hosted platforms also enable offline operation for field stations and remote research sites with limited internet connectivity.

For broader data management needs, see our guide on self-hosted open data portals with CKAN, DKAN, and Dataverse. If your biodiversity research involves genomic data, our self-hosted metagenomics analysis platform comparison covers QIIME 2, Kraken 2, and mothur. For researchers modeling species distributions, check our self-hosted species distribution modeling guide.

FAQ

What is Darwin Core and why does it matter?

Darwin Core (DwC) is an international biodiversity data standard maintained by the Biodiversity Information Standards (TDWG) organization. It defines a vocabulary of terms like scientificName, decimalLatitude, eventDate, and basisOfRecord that ensure biodiversity datasets from different institutions can be meaningfully combined and queried. The GBIF IPT is specifically designed to produce Darwin Core Archives that conform to this standard.

Can iNaturalist data feed into GBIF?

Yes. Research-grade observations from iNaturalist are automatically shared with GBIF through a regular data export pipeline. In fact, iNaturalist is one of the largest contributors to GBIF, providing tens of millions of occurrence records. Self-hosted iNaturalist instances can also be configured to publish data to GBIF through their own IPT instance.

How does computer vision species identification work?

iNaturalist’s computer vision model is trained on the platform’s community-verified observations using a convolutional neural network. When a user uploads a photo, the model compares it against its training set and returns a ranked list of visually similar taxa with confidence scores. The model currently covers over 80,000 species and improves as more verified observations are added to the training dataset.

How large can a PyBossa project scale?

PyBossa has been used in projects with hundreds of thousands of tasks and thousands of contributors. The Zooniverse platform, which powers many of the world’s largest citizen science projects, was originally built on a PyBossa-inspired architecture. Scaling is primarily limited by your infrastructure — Redis for task queuing and PostgreSQL for result storage — both of which can handle millions of records with appropriate hardware.

Is iNaturalist suitable for institutional biodiversity monitoring?

Yes, several institutions run their own iNaturalist instances for regional monitoring programs. The Argentinian biodiversity information system (SNDB) and multiple U.S. National Park Service units operate self-hosted iNaturalist instances customized for their geographic regions and taxonomic priorities. The platform includes access control features for managing institutional users and data quality review workflows.


💰 想测试你的市场判断力?我用 Polymarket 做预测市场交易——这是全球最大的预测市场平台,从大选结果到技术监管时间线,什么都可以押注。和赌博不同,这是真正的信息市场:你懂的信息越多,胜率越高。我靠预测技术相关事件的走向已经赚了不少。用我的邀请链接注册:Polymarket.com