Opinionated extensions to Postgres packaged as a single docker deployment. Why install 10 DBs when you can have everything at once (maybe not everything).
Certified as Indie Hacker’s best friend!!!
Bootstrapped from TimescaleDB
version: '3.6'
services:
warpsql:
container_name: warpsql
image: samagragovernance/postgres:latest-pg15
restart: always
ports:
- "5432:5432"
volumes:
- ./pgdata:/var/lib/postgresql/data
environment:
POSTGRES_USER: warpSQLUser
POSTGRES_PASSWORD: warpSQLPass
WarpSQL is a powerful solution that provides opinionated extensions to Postgres, conveniently packaged as a single Docker deployment. It eliminates the need to install multiple separate databases by offering a comprehensive set of features in one place (although not everything, as some features might not be included).
By utilizing WarpSQL, you can benefit from the following:
This repository contains a Packer template for building the WarpSQL image with multiple sources and provisioners. The template supports building images based on both the Alpine and Bitnami PostgreSQL images.
Before using this Packer template, ensure that you have the following prerequisites installed:
To build the WarpSQL image using the Packer template, follow these steps:
Clone this repository and navigate to the packer directory:
```shell git clone https://github.com/Samagra-Development/WarpSQL.git cd WarpSQL/packer
Build the images:
packer build warpsql.pkr.hcl
To build only the Alpine image, you can use the -only
option:
packer build -only=warpsql.docker.alpine warpsql.pkr.hcl
By default, all supported extensions are installed. If you want to install specific extensions, you can provide the extensions
variable:
packer build -var extentions='pg_repack,hll' -only warpsql.docker.alpine warpsql.pkr.hcl
Note that currently only the Docker
source has been added to the template.
You can further customize the image repository and tags by providing values for the image_repository
and image_tags
variables using the -var
option. Here’s an example command:
packer build -var="image_repository=your_value" -var="image_tags=[tag1,tag2]" warpsql.pkr.hcl
|Extension | Identifier |
|—————-|——————|
|PgVector | pgvector
|
|TimescaleDB | timescaledb
|
|Citus | citus
|
|PostGIS | postgis
|
|ZomboDB | zombodb
|
|PgRepack | pg_repack
|
|PG Auto Failover| pgautofailover
|
|HyperLogLog | hll
|
You can contribute to the development of WarpSQL using both Gitpod and Codespaces. Follow the steps below to set up your development environment and make contributions:
Click the “Open in Gitpod” button above or use the following link:Open in Gitpod
You can use GitHub Codespaces to develop this project in the cloud.
Once the environment is ready, you can start working on the project.
Before merging any contributions or changes, it’s essential to ensure that the continuous integration (CI) tests pass successfully. CI helps maintain code quality standards and prevents the introduction of regressions. To ensure a smooth integration process, follow these steps:
Jayanth Kumar</a> 💻 |