Skip to content

Releases: PiCoreTeam/pi-node-docker

organization-mainnet-v1.0-p20.2

03 Mar 17:43

Choose a tag to compare

How to Use

Fresh Installation

Check the Docker README documentation for Docker setup snippets and tips.

New containers automatically configure captive core on startup β€” no additional steps required.

Upgrading from Previous Version

Update the image in your docker compose file:

image: pinetwork/pi-node-docker:organization_mainnet-v1.0-p20.2

see this for an example of a docker-compose.yml

Expected downtime
This is a protocol upgrade only without the need of data migrations. Expect a brief service interruption during container restart while the new binary initializes.

Docker container available at: pinetwork/pi-node-docker:organization_mainnet-v1.0-p20.2

Release Notes

Version Updates

Component Previous New
stellar-core 19.9.0-1254.064a2787a.focal 20.2.0-1720.34d82fc00.focal

Changes

Build

  • Updated stellar-core to 20.2.0-1720.34d82fc00.focal

organization-mainnet-v1.0-p19.9

20 Feb 01:20

Choose a tag to compare

How to Use

Fresh Installation

Check the Docker README documentation for Docker setup snippets and tips.

New containers automatically configure captive core on startup β€” no additional steps required.

Upgrading from Previous Version

Update the image in your docker compose file:

image: pinetwork/pi-node-docker:organization_mainnet-v1.0-p19.9

Add --enable-auto-migrations flag to the starting command of the container, if needed:

command: ["--mainnet --enable-auto-migrations"]

Expected downtime
The captive core migration reconfigures Horizon to spawn stellar-core as a subprocess for ingestion, it also reingest the history. Expect several hours of service interruption while the migration applies.

To determine whether the migration is complete, compare your most recently ingested block number with the current latest block height on mainnet:

curl localhost:31401 |  grep ingest_latest_ledger
curl https://api.mainnet.minepi.com | tail ingest_latest_ledger

The migration is complete once the two block numbers match (within a tolerance of Β±1 block).

Alternative: Run migration script manually
If you don't want to enable auto migrations you can run the migration manually:

docker exec -it container_name /migrations/002_captive_core_migration.sh

FYI, Detailed explanation of migration: 002_captive_core_migration.md

Docker container available at: pinetwork/pi-node-docker:organization_mainnet-v1.0-p19.9

Release Notes

Version Updates

Component Previous New
stellar-core 19.6.0 19.9.0-1254.064a2787a.focal
horizon 2.23.1 2.30.0-436

New Features

Captive Core Ingestion

  • Horizon now spawns stellar-core as a subprocess for ingestion
  • Added pubnet/horizon/etc/stellar-core-captive.yml captive-core configuration
  • Added migrations/002_captive_core_migration.sh for migrating existing containers

Changes

Architecture

  • Removed testnet and testnet2 support β€” container now runs exclusively in mainnet mode

Configuration

  • Updated pubnet/horizon/etc/horizon.env with captive-core settings
  • Added pubnet/horizon/etc/stellar-core-captive.yml for captive-core ingestion
  • Network-specific horizon config overlay applied per-network on first init

Build

  • Updated horizon to 2.30.0-436
  • Update stellar-core to 19.9.0

Startup (start script)

  • Removed --testnet and --testnet2 flags; --mainnet is now the only supported network
  • Applied network-specific horizon config overlay on container initialization
  • Ensured correct permissions on captive-data directory at startup

Bug Fixes

  • Fixed stale postmaster.pid preventing PostgreSQL from starting after unclean container shutdown

Documentation

  • Updated README.md to reflect mainnet-only support
  • Added migrations/docs/002_captive_core_migration.md

organization-mainnet-v1.3-p19.6

04 Feb 17:47

Choose a tag to compare

How to Use

Fresh Installation

Check the README documentation for Docker setup snippets and tips.

Upgrading from Previous Version

Make two changes in your docker compose file.

Update the Image:

image: pinetwork/pi-node-docker:organization_mainnet-v1.3-p19.6

Add --enable-auto-migrations flag to the starting command of the container:

command: ["--mainnet --enable-auto-migrations"]

Expected downtime
This migration is straightforward but takes hours to complete. Do not perform it to all your nodes at the same time. Divert traffic away from your nodes while upgrading. Point to your other nodes or to https://api.mainnet.minepi.com/

To know when the migration finished, compare "ingest_latest_ledger" from your node (curl http://localhost:31401/ with the same value on https://api.mainnet.minepi.com/. When the two values are about the same, your node has finished migrating. Note that during the long migration process this number will not be gradually updating, it will only update at the very end of the process.

Done.

Alternative: Run migration script manually
If you don't want to enable auto migrations you can run the migration manually:

docker exec -it container_name ./migrations/migration_runner.sh

FYI, Detailed explanation of migration:
001_update_validator3.md

Docker container available at: pinetwork/pi-node-docker:organization_mainnet-v1.3-p19.6

Release Notes

New Features

Migration Scripts

  • Added --enable-auto-migrations flag to automatically run pending migrations on container startup
  • Added migrations/migration_runner.sh for executing configuration migrations
  • Added migrations/001_update_validator3.sh - updates validator3 node configuration
  • Migrations bundled into Docker image at build time

Changes

Architecture

  • Removed standalone network mode - only mainnet, testnet, testnet2 supported
  • Removed ephemeral mode - container always runs in persistent mode

PostgreSQL

  • Increased max_connections from 100 to 200 in common/postgresql/etc/postgresql.conf

Build

  • stellar-archivist now installed from apt instead of building from source
  • Removed Go installation from Dockerfile
  • Removed Dockerfile.testing and build-testing Makefile target
  • Removed Travis CI (.travis.yml, travis.go)
  • Updated image version to v1.3

Startup (start script)

  • Removed --standalone, --ephemeral, --captive-core, --manual-close flags
  • Simplified network validation logic
  • Removed .docker-ephemeral file creation

Bug Fixes

  • Fixed trailing space in archive URL (mirror_full_archive.sh)
  • Added user=root to [supervisord] section to suppress root execution warning

Documentation

  • Updated README.md with port mappings (31401:8000, 31402:31402, 31403:1570)
  • Added Docker Compose example configuration
  • Added migrations/README.md and migrations/docs/001_update_validator3.md

organization-testnet2-v1.1-p19.6

23 May 00:29

Choose a tag to compare

  • Fixed problem with starting local history server

organization-testnet2-v1.0-p19.6

30 Apr 20:43

Choose a tag to compare

  • Stellar Core upgrade to 19.6.0-1138.b3a6bc281.focal
  • Horizon upgrade to 2.23.1-320

organization-mainnet-v1.0-p19.6

30 Apr 20:41

Choose a tag to compare

  • Stellar Core upgrade to 19.6.0-1138.b3a6bc281.focal
  • Horizon upgrade to 2.23.1-320
  • Adds validator3
  • Adds history CDN for validators

relevant docker-compose image:
image: pinetwork/pi-node-docker:organization_mainnet-v1.2-p19.6

organization-mainnet-v1.1-p19.6

23 May 00:27
473bb5f

Choose a tag to compare

  • Fixed problem with starting local history server
  • Updated validator3