Autobase
Automated database platform for PostgreSQL® - Your own DBaaS.
Install / Use
/learn @vitabaks/AutobaseREADME
Autobase for PostgreSQL® :elephant: :sparkling_heart:
Autobase for PostgreSQL® is an open-source alternative to cloud-managed databases (DBaaS) such as Amazon RDS, Google Cloud SQL, Azure Database, and others.
This automated database platform enables you to create and manage production-ready, highly available PostgreSQL clusters. It simplifies the deployment process, reduces operational costs, and makes database management accessible—even for teams without specialized expertise.
Automate deployment, failover, backups, restore, upgrades, scaling, and more with ease.
Say goodbye to manual database management 👋
Documentation
Autobase documentation can be found here.
Support
Autobase support packages are described here.
Quick start
You have the option to deploy Postgres clusters using the Console (UI), command line, or GitOps.
Console (UI)
The Autobase Console (UI) is the recommended method for most users. It is designed to be user-friendly, minimizing the risk of errors and making it easier than ever to set up your PostgreSQL clusters. This method is suitable for both beginners and those who prefer a visual interface for managing their PostgreSQL clusters.
To run the autobase console, execute the following command:
docker run -d --name autobase-console \
--publish 80:80 \
--env PG_CONSOLE_AUTHORIZATION_TOKEN=secret_token \
--env PG_CONSOLE_DOCKER_IMAGE=autobase/automation:latest \
--volume console_postgres:/var/lib/postgresql \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume /tmp/ansible:/tmp/ansible \
--restart=unless-stopped \
autobase/console:latest
[!NOTE] It is recommended to run the console in the same network as your database servers to enable monitoring of the cluster status.
Alternatively, you can use Docker Compose.
Open the Console UI:
Go to http://localhost:80 (or the address of your server) and use secret_token for authorization.

Refer to the Deployment section to learn more about the different deployment methods.
Command line
<details><summary>Click here to expand... if you prefer the command line.</summary><p>The command line mode is suitable for advanced users who require greater flexibility and control over the deployment and management of their PostgreSQL clusters. While the Console (UI) is designed for ease of use and is suitable for most users, the command line provides powerful options for those experienced in automation and configuration.
Note: All dependencies and source code are bundled into the autobase/automation docker image. This means the deployment process comes down to simply launching a container with a few variable overrides.
- Prepare your inventory
curl -fsSL https://raw.githubusercontent.com/vitabaks/autobase/refs/heads/master/automation/inventory.example \
--output ./inventory
Specify IP addresses and appropriate connection settings for your environment, such as ansible_user, ansible_ssh_pass, or ansible_ssh_private_key_file.
nano ./inventory
- Prepare your variables
Refer to the default variables for all configurable options. Override them as needed using group_vars, host_vars, or directly in the inventory file.
mkdir -p ./group_vars
nano ./group_vars/all.yml
- Run the deployment command
docker run --rm -it \
-e ANSIBLE_SSH_ARGS="-F none" \
-e ANSIBLE_INVENTORY=/project/inventory \
-v $PWD:/project \
-v $HOME/.ssh:/root/.ssh \
autobase/automation:latest \
ansible-playbook deploy_pgcluster.yml
Tip: Start with deploy_pgcluster for initial provisioning, then use config_pgcluster for further configuration changes.
Alternatively, you can use Ansible Collection
How to start from scratch
If you need to start from the very beginning, you can use the remove_cluster playbook.
Available variables:
remove_postgres: stop the PostgreSQL service and remove dataremove_etcd: stop the ETCD service and remove dataremove_consul: stop the Consul service and remove data
⚠️ Caution: Only use this in non-production or when you’re absolutely sure.
</p></details>[!TIP] 📩 Contact us at info@autobase.tech, and our team will help you implement Autobase into your infrastructure.
Supported setups of Postgres Cluster
For a detailed description of the cluster components, visit the Architecture page.

Compatibility
RedHat and Debian based distros.
Supported Linux Distributions:
- Debian: 11, 12, 13
- Ubuntu: 22.04, 24.04
- CentOS Stream: 9, 10
- Oracle Linux: 8, 9, 10
- Rocky Linux: 8, 9, 10
- AlmaLinux: 8, 9, 10
Architecture: x86_64 (amd64), aarch64 (arm64).
PostgreSQL versions:
all supported PostgreSQL versions
:white_check_mark: tested, works fine: PostgreSQL 10, 11, 12, 13, 14, 15, 16, 17, 18
Table of results of daily automated testing of cluster deployment:
| Distribution | Test result |
|--------------|:----------:|
| Debian 12 | |
| Debian 13 |
|
| Ubuntu 22.04 |
|
| Ubuntu 24.04 |
|
| CentOS Stream 9 |
|
| CentOS Stream 10 |
|
| Oracle Linux 9 |
|
| Oracle Linux 10 |
|
| Rocky Linux 9 |
|
| Rocky Linux 10 |
|
| AlmaLinux 9 |
|
| AlmaLinux 10 |
|
Project Status
Autobase has been actively developed for over 5 years (since 2019) and is trusted by companies worldwide, including in production environments with high loads and demanding reliability requirements. Our mission is to provide an open-source DBaaS that delivers reliability, flexibility, and cost-efficiency.
The project will remain open-source forever, but to ensure its continuous growth and development, we rely on sponsorship. By subscribing to Autobase packages, you gain access to personalized support from the project authors and PostgreSQL experts.
Star us
Related Skills
imsg
331.2kiMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
oracle
331.2kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
lobster
331.2kLobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (s
Hook Development
81.5kThis skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.
