15
.github/workflows/build.yml
vendored
15
.github/workflows/build.yml
vendored
@@ -1,17 +1,10 @@
|
||||
name: Build
|
||||
on:
|
||||
push:
|
||||
branches: [ "main"]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
docker_tag:
|
||||
description: 'Docker tag'
|
||||
required: true
|
||||
default: 'latest'
|
||||
type: string
|
||||
tags:
|
||||
- v**
|
||||
env:
|
||||
BUILDKIT_IMAGE: jkaninda/pg-bkup
|
||||
TAG: v1.0
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -45,8 +38,8 @@ jobs:
|
||||
file: "./docker/Dockerfile"
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||
tags: |
|
||||
"${{env.BUILDKIT_IMAGE}}:${{env.TAG}}"
|
||||
"${{env.BUILDKIT_IMAGE}}:${{env.GITHUB_REF_NAME}}"
|
||||
"${{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"
|
||||
|
||||
|
||||
69
README.md
69
README.md
@@ -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.
|
||||
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.
|
||||
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
|
||||
- Kubernetes
|
||||
|
||||
## Documentation is found at <https://jkaninda.github.io/pg-bkup>
|
||||
|
||||
|
||||
## Links:
|
||||
|
||||
- [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
|
||||
- SSH
|
||||
|
||||
## Documentation is found at <https://jkaninda.github.io/pg-bkup>
|
||||
## Quickstart
|
||||
|
||||
### 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.
|
||||
|
||||
|
||||
|
||||
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
|
||||
|
||||
```yaml
|
||||
@@ -81,35 +79,6 @@ services:
|
||||
networks:
|
||||
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
|
||||
|
||||
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!
|
||||
- name: DB_PASSWORD
|
||||
value: ""
|
||||
- name: ACCESS_KEY
|
||||
value: ""
|
||||
- name: AWS_S3_ENDPOINT
|
||||
value: "https://s3.amazonaws.com"
|
||||
- name: AWS_S3_BUCKET_NAME
|
||||
@@ -160,8 +127,36 @@ spec:
|
||||
value: "xxxx"
|
||||
- name: AWS_DISABLE_SSL
|
||||
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
|
||||
|
||||
This project is licensed under the MIT License. See the LICENSE file for details.
|
||||
|
||||
@@ -123,8 +123,6 @@ spec:
|
||||
# Please use secret!
|
||||
- name: DB_PASSWORD
|
||||
value: ""
|
||||
- name: ACCESS_KEY
|
||||
value: ""
|
||||
- name: AWS_S3_ENDPOINT
|
||||
value: "https://s3.amazonaws.com"
|
||||
- name: AWS_S3_BUCKET_NAME
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
|
||||
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
|
||||
|
||||
```yaml
|
||||
|
||||
Reference in New Issue
Block a user