Add .deb packaging
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,2 +1,2 @@
|
||||
/dist
|
||||
.DS_Store
|
||||
/dist
|
||||
|
||||
14
Makefile
14
Makefile
@@ -2,8 +2,18 @@ default:
|
||||
|
||||
dist:
|
||||
mkdir -p dist
|
||||
cp etc/litestream.yml dist/litestream.yml
|
||||
docker run --rm -v "${PWD}":/usr/src/litestream -w /usr/src/litestream -e GOOS=linux -e GOARCH=amd64 golang:1.15 go build -v -o dist/litestream ./cmd/litestream
|
||||
tar -cz -f dist/litestream-linux-amd64.tar.gz -C dist litestream
|
||||
rm dist/litestream
|
||||
|
||||
.PHONY: dist
|
||||
deb: dist
|
||||
ifndef VERSION
|
||||
$(error VERSION is undefined)
|
||||
endif
|
||||
cat etc/nfpm.yml | envsubst > dist/nfpm.yml
|
||||
nfpm pkg --config dist/nfpm.yml --packager deb --target dist/litestream.deb
|
||||
|
||||
clean:
|
||||
rm -rf dist
|
||||
|
||||
.PHONY: deb dist clean
|
||||
|
||||
9
etc/litestream.service
Normal file
9
etc/litestream.service
Normal file
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Litestream
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
ExecStart=/usr/bin/litestream replicate
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
10
etc/litestream.yml
Normal file
10
etc/litestream.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
# AWS credentials
|
||||
# access-key-id: AKIAxxxxxxxxxxxxxxxx
|
||||
# secret-access-key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx
|
||||
|
||||
# dbs:
|
||||
# - path: /path/to/primary/db # Database to replicate from
|
||||
# replicas:
|
||||
# - path: /path/to/replica # File-based replication
|
||||
# - path: s3://my.bucket.com/db # S3-based replication
|
||||
|
||||
19
etc/nfpm.yml
Normal file
19
etc/nfpm.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
name: litestream
|
||||
arch: amd64
|
||||
platform: linux
|
||||
version: "${LITESTREAM_VERSION}"
|
||||
section: "default"
|
||||
priority: "extra"
|
||||
maintainer: "Ben Johnson <benbjohnson@yahoo.com>"
|
||||
description: Litestream is a tool for real-time replication of SQLite databases.
|
||||
homepage: "https://github.com/benbjohnson/litestream"
|
||||
license: "GPLv3"
|
||||
contents:
|
||||
- src: ./dist/litestream
|
||||
dst: /usr/bin/litestream
|
||||
- src: ./etc/litestream.yml
|
||||
dst: /etc/litestream.yml
|
||||
type: config
|
||||
- src: ./etc/litestream.service
|
||||
dst: /usr/lib/systemd/system/litestream.service
|
||||
type: config
|
||||
Reference in New Issue
Block a user