Merge pull request #44 from jkaninda/v1.0

docs: update docs
This commit is contained in:
2024-08-03 08:24:56 +02:00
committed by GitHub
4 changed files with 36 additions and 54 deletions

View File

@@ -1,17 +1,10 @@
name: Build name: Build
on: on:
push: push:
branches: [ "main"] tags:
workflow_dispatch: - v**
inputs:
docker_tag:
description: 'Docker tag'
required: true
default: 'latest'
type: string
env: env:
BUILDKIT_IMAGE: jkaninda/pg-bkup BUILDKIT_IMAGE: jkaninda/pg-bkup
TAG: v1.0
jobs: jobs:
docker: docker:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -45,8 +38,8 @@ jobs:
file: "./docker/Dockerfile" file: "./docker/Dockerfile"
platforms: linux/amd64,linux/arm64,linux/arm/v7 platforms: linux/amd64,linux/arm64,linux/arm/v7
tags: | tags: |
"${{env.BUILDKIT_IMAGE}}:${{env.TAG}}" "${{env.BUILDKIT_IMAGE}}:${{env.GITHUB_REF_NAME}}"
"${{env.BUILDKIT_IMAGE}}:latest" "${{env.BUILDKIT_IMAGE}}:latest"
"ghcr.io/${{env.BUILDKIT_IMAGE}}:${{env.TAG}}" "ghcr.io/${{env.BUILDKIT_IMAGE}}:${{env.GITHUB_REF_NAME}}"
"ghcr.io/${{env.BUILDKIT_IMAGE}}:latest" "ghcr.io/${{env.BUILDKIT_IMAGE}}:latest"

View File

@@ -2,7 +2,6 @@
pg-bkup is a Docker container image that can be used to backup and restore Postgres database. It supports local storage, AWS S3 or any S3 Alternatives for Object Storage, and SSH compatible storage. pg-bkup is a Docker container image that can be used to backup and restore Postgres database. It supports local storage, AWS S3 or any S3 Alternatives for Object Storage, and SSH compatible storage.
It also supports __encrypting__ your backups using GPG. It also supports __encrypting__ your backups using GPG.
---
The [jkaninda/pg-bkup](https://hub.docker.com/r/jkaninda/pg-bkup) Docker image can be deployed on Docker, Docker Swarm and Kubernetes. The [jkaninda/pg-bkup](https://hub.docker.com/r/jkaninda/pg-bkup) Docker image can be deployed on Docker, Docker Swarm and Kubernetes.
It handles __recurring__ backups of postgres database on Docker and can be deployed as __CronJob on Kubernetes__ using local, AWS S3 or SSH compatible storage. It handles __recurring__ backups of postgres database on Docker and can be deployed as __CronJob on Kubernetes__ using local, AWS S3 or SSH compatible storage.
@@ -16,6 +15,9 @@ It also supports __encrypting__ your backups using GPG.
- Docker - Docker
- Kubernetes - Kubernetes
## Documentation is found at <https://jkaninda.github.io/pg-bkup>
## Links: ## Links:
- [Docker Hub](https://hub.docker.com/r/jkaninda/pg-bkup) - [Docker Hub](https://hub.docker.com/r/jkaninda/pg-bkup)
@@ -30,7 +32,6 @@ It also supports __encrypting__ your backups using GPG.
- AWS S3 or any S3 Alternatives for Object Storage - AWS S3 or any S3 Alternatives for Object Storage
- SSH - SSH
## Documentation is found at <https://jkaninda.github.io/pg-bkup>
## Quickstart ## Quickstart
### Simple backup using Docker CLI ### Simple backup using Docker CLI
@@ -49,9 +50,6 @@ To run a one time backup, bind your local volume to `/backup` in the container a
Alternatively, pass a `--env-file` in order to use a full config as described below. Alternatively, pass a `--env-file` in order to use a full config as described below.
Add a `backup` service to your compose setup and mount the volumes you would like to see backed up:
### Simple backup in docker compose file ### Simple backup in docker compose file
```yaml ```yaml
@@ -81,35 +79,6 @@ services:
networks: networks:
web: web:
``` ```
## Available image registries
This Docker image is published to both Docker Hub and the GitHub container registry.
Depending on your preferences and needs, you can reference both `jkaninda/pg-bkup` as well as `ghcr.io/jkaninda/pg-bkup`:
```
docker pull jkaninda/pg-bkup:v1.0
docker pull ghcr.io/jkaninda/pg-bkup:v1.0
```
Documentation references Docker Hub, but all examples will work using ghcr.io just as well.
## Supported Engines
This image is developed and tested against the Docker CE engine and Kubernetes exclusively.
While it may work against different implementations, there are no guarantees about support for non-Docker engines.
## References
We decided to publish this image as a simpler and more lightweight alternative because of the following requirements:
- The original image is based on `ubuntu` and requires additional tools, making it heavy.
- This image is written in Go.
- `arm64` and `arm/v7` architectures are supported.
- Docker in Swarm mode is supported.
- Kubernetes is supported.
## Deploy on Kubernetes ## Deploy on Kubernetes
For Kubernetes, you don't need to run it in scheduled mode. You can deploy it as CronJob. For Kubernetes, you don't need to run it in scheduled mode. You can deploy it as CronJob.
@@ -146,8 +115,6 @@ spec:
# Please use secret! # Please use secret!
- name: DB_PASSWORD - name: DB_PASSWORD
value: "" value: ""
- name: ACCESS_KEY
value: ""
- name: AWS_S3_ENDPOINT - name: AWS_S3_ENDPOINT
value: "https://s3.amazonaws.com" value: "https://s3.amazonaws.com"
- name: AWS_S3_BUCKET_NAME - name: AWS_S3_BUCKET_NAME
@@ -160,8 +127,36 @@ spec:
value: "xxxx" value: "xxxx"
- name: AWS_DISABLE_SSL - name: AWS_DISABLE_SSL
value: "false" value: "false"
restartPolicy: OnFailure restartPolicy: Never
``` ```
## Available image registries
This Docker image is published to both Docker Hub and the GitHub container registry.
Depending on your preferences and needs, you can reference both `jkaninda/pg-bkup` as well as `ghcr.io/jkaninda/pg-bkup`:
```
docker pull jkaninda/pg-bkup:v1.0
docker pull ghcr.io/jkaninda/pg-bkup:v1.0
```
Documentation references Docker Hub, but all examples will work using ghcr.io just as well.
## Supported Engines
This image is developed and tested against the Docker CE engine and Kubernetes exclusively.
While it may work against different implementations, there are no guarantees about support for non-Docker engines.
## References
We decided to publish this image as a simpler and more lightweight alternative because of the following requirements:
- The original image is based on `ubuntu` and requires additional tools, making it heavy.
- This image is written in Go.
- `arm64` and `arm/v7` architectures are supported.
- Docker in Swarm mode is supported.
- Kubernetes is supported.
## License ## License
This project is licensed under the MIT License. See the LICENSE file for details. This project is licensed under the MIT License. See the LICENSE file for details.

View File

@@ -123,8 +123,6 @@ spec:
# Please use secret! # Please use secret!
- name: DB_PASSWORD - name: DB_PASSWORD
value: "" value: ""
- name: ACCESS_KEY
value: ""
- name: AWS_S3_ENDPOINT - name: AWS_S3_ENDPOINT
value: "https://s3.amazonaws.com" value: "https://s3.amazonaws.com"
- name: AWS_S3_BUCKET_NAME - name: AWS_S3_BUCKET_NAME

View File

@@ -45,10 +45,6 @@ To run a one time backup, bind your local volume to `/backup` in the container a
Alternatively, pass a `--env-file` in order to use a full config as described below. Alternatively, pass a `--env-file` in order to use a full config as described below.
Add a `backup` service to your compose setup and mount the volumes you would like to see backed up:
### Simple backup in docker compose file ### Simple backup in docker compose file
```yaml ```yaml