Skip to content

Conf Templates

Use pre-made configuration templates to quickly generate configuration files adapted to your environment

In Pigsty, deployment blueprint details are defined by the inventory, which is the pigsty.yml configuration file. You can customize it through declarative configuration.

However, writing configuration files directly can be daunting for new users. To address this, we provide some ready-to-use configuration templates covering common usage scenarios.

Each template is a predefined pigsty.yml configuration file containing reasonable defaults suitable for specific scenarios.

You can choose a template as your customization starting point, then modify it as needed to meet your specific requirements.


Using Templates

Pigsty provides the configure script as an optional configuration wizard that generates an inventory with good defaults based on your environment and input.

Use ./configure -c <conf> to specify a configuration template, where <conf> is the path relative to the conf directory (the .yml suffix can be omitted).

./configure                     # Default to meta.yml configuration template
./configure -c meta             # Explicitly specify meta.yml single-node template
./configure -c rich             # Use feature-rich template with all extensions and Silo
./configure -c slim             # Use minimal single-node template

# Use different database kernels
./configure -c pgsql            # Native PostgreSQL kernel, basic features (14~18)
./configure -c pg19             # PostgreSQL 19 Beta trial template
./configure -c mssql            # Babelfish kernel, SQL Server protocol compatible (17/18)
./configure -c polar            # PolarDB PG kernel, Aurora/RAC style (17)
./configure -c ivory            # IvorySQL kernel, Oracle syntax compatible (18)
./configure -c mysql            # OpenHalo kernel, MySQL compatible (14)
./configure -c pgtde            # Percona PostgreSQL Server transparent encryption (18)
./configure -c oriole           # OrioleDB kernel, OLTP enhanced (16~18)
./configure -c agens            # AgensGraph graph database kernel (17)
./configure -c pgedge           # pgEdge distributed database kernel (15~18, default 18)
./configure -c ha/citus         # Citus distributed HA PostgreSQL (14~18)
./configure -c supabase         # Supabase self-hosted configuration (15~18)

# Use multi-node HA templates
./configure -c ha/dual          # Use 2-node HA template
./configure -c ha/trio          # Use 3-node HA template
./configure -c ha/full          # Use 4-node HA template

If no template is specified, Pigsty defaults to the meta.yml single-node configuration template.


Template List

Main Templates

The following are single-node configuration templates for installing Pigsty on a single server:

Template Description
meta.yml Default template, single-node PostgreSQL online installation
rich.yml Feature-rich template with local repo, Silo, and more examples
slim.yml Minimal template, PostgreSQL only without monitoring and infrastructure

Database Kernel Templates

Templates for various database management systems and kernels:

Template Description
pgsql.yml Native PostgreSQL kernel, basic features (14~18)
pg19.yml PostgreSQL 19 Beta trial template
mssql.yml Babelfish kernel, SQL Server protocol compatible (17/18)
polar.yml PolarDB PG kernel, Aurora/RAC style (17)
ivory.yml IvorySQL kernel, Oracle syntax compatible (18)
mysql.yml OpenHalo kernel, MySQL compatible (14)
pgtde.yml Percona PostgreSQL Server transparent encryption (18)
oriole.yml OrioleDB kernel, OLTP enhanced (16~18)
agens.yml AgensGraph graph database kernel (17)
pgedge.yml pgEdge distributed database kernel (15~18, default 18)
supabase.yml Supabase self-hosted configuration (15~18)

You can add more nodes later or use HA templates to plan your cluster from the start.


HA Templates

You can configure Pigsty to run on multiple nodes, forming a high-availability (HA) cluster:

Template Description
dual.yml 2-node semi-HA deployment
trio.yml 3-node standard HA deployment
full.yml 4-node standard deployment
safe.yml 4-node security-enhanced deployment with delayed replica
octo.yml Compact 8-node HA simulation
simu.yml 20-node production environment simulation
ha/citus.yml Citus distributed HA PostgreSQL (14~18)

Application Templates

You can use the following templates to run Docker applications/software:

Template Description
supabase.yml Start single-node Supabase
odoo.yml Start Odoo ERP system
dify.yml Start Dify AI workflow system
electric.yml Start Electric sync engine
insforge.yml Start Insforge backend platform
hindsight.yml Start Hindsight application
mattermost.yml Start Mattermost collaboration platform
teable.yml Start Teable spreadsheet database
maybe.yml Start Maybe finance app
registry.yml Start Docker Registry

Demo Templates

Besides main templates, Pigsty provides a set of demo templates for different scenarios:

Template Description
el.yml Full-parameter config file for EL 8/9 systems
debian.yml Full-parameter config file for Debian/Ubuntu systems
remote.yml Example config for monitoring remote PostgreSQL clusters or RDS
redis.yml Redis cluster example configuration
minio.yml 4-node multi-drive Silo cluster example (source default)
kafka.yml Kafka dynamic KRaft example with a single-node dev cluster and a three-node secure cluster
mysql.yml Native MySQL 8.4 single-node/three-node pilot example; distinct from OpenHalo conf/mysql.yml
demo.yml Configuration file for Pigsty public demo site
fat.yml Single-node config with local repo and full feature set
infra.yml Deploy only the infrastructure modules
vibe.yml Vibe Coding / AI application development template
mongo.yml FerretDB / MongoDB-compatible example
docker.yml Docker application host template

Build Templates

The following configuration templates are for development and testing purposes:

Template Description
build/oss.yml Open source build config for EL 9/10, Debian 12/13, Ubuntu 22.04/24.04/26.04
build/dev.yml Development and testing build config