WarpSQL

WarpSQL

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!!!

Current and future supported extensions

Bootstrapped from TimescaleDB

Usage with Compose

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:

PostgreSQL Image Packer Template

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.

Prerequisites

Before using this Packer template, ensure that you have the following prerequisites installed:

Usage

To build the WarpSQL image using the Packer template, follow these steps:

  1. Clone this repository and navigate to the packer directory:

    ```shell git clone https://github.com/Samagra-Development/WarpSQL.git cd WarpSQL/packer

  2. 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

List of supported extensions

|Extension | Identifier | |—————-|——————| |PgVector | pgvector | |TimescaleDB | timescaledb | |Citus | citus | |PostGIS | postgis | |ZomboDB | zombodb | |PgRepack | pg_repack | |PG Auto Failover| pgautofailover | |HyperLogLog | hll |

Contribution

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:

Gitpod

Click the “Open in Gitpod” button above or use the following link:Open in Gitpod

Open in Gitpod

GitHub Codespaces

You can use GitHub Codespaces to develop this project in the cloud.

GitHub Codespaces

Once the environment is ready, you can start working on the project.

Ensure CI passes

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:

Maintainers

Jayanth Kumar
Jayanth Kumar</a>
💻