paperless-ngx/pipeline.yml
2023-08-11 00:26:05 +02:00

116 lines
4.2 KiB
YAML

---
resource_types:
- name: aptly-resource
type: docker-image
source:
repository: git.datentonne.net/docker-public/aptly-resource
tag: latest
resources:
- name: paperless-ngx
type: github-release
source:
owner: paperless-ngx
repository: paperless-ngx
access_token: ((github.access_token))
tag_filter: "v([^v].*)"
- name: paperless-ngx-deb
type: aptly-resource
source:
api_uri: https://apt-api.datentonne.net/
repo_uri: https://apt.datentonne.net/
repo: datentonne
distribution: debian
component: main
architecture: amd64
package: paperless-ngx
username: ((aptly.username))
password: ((aptly.password))
timeout: 1801
jobs:
- name: build
plan:
- get: paperless-ngx
trigger: true
params:
include_source_tarball: true
- task: build
config:
platform: linux
image_resource:
type: registry-image
source:
repository: git.datentonne.net/docker-public/fpm-docker
tag: latest
inputs:
- name: paperless-ngx
outputs:
- name: deb
caches:
- path: go-build
caches:
- path: go-mod
run:
path: /bin/sh
args:
- -c
- |
export VERSION="$(cat paperless-ngx/version)"
export VERSION_OUT="$(cat paperless-ngx/version)-$(date +%s)"
mkdir -p paperless-ngx/source
mkdir -p opt/paperless-ngx
cat <<- EOF > paperless-ngx.service
[Unit]
Description=paperless-ngx service with docker compose
Requires=docker.service
After=docker.service
[Service]
Type=oneshot
RemainAfterExit=true
WorkingDirectory=/opt/paperless-ngx
ExecStart=docker compose -f docker-compose.yml -f docker-compose.version.yml up -d --remove-orphans
ExecStop=docker compose down
[Install]
WantedBy=multi-user.target
EOF
#git clone https://github.com/paperless-ngx/paperless-ngx paperless-ngx/source
#cd paperless-ngx/source
#git checkout v$VERSION
cd paperless-ngx
tar xf source.tar.gz --strip-components=1 -C source
cd ..
cp paperless-ngx/source/docker/compose/docker-compose.mariadb-tika.yml opt/paperless-ngx/docker-compose.yml
cp paperless-ngx/source/docker/compose/docker-compose.env opt/paperless-ngx/docker-compose.env
#sed -i "s/image: ghcr.io\/paperless-ngx\/paperless-ngx:latest/image: ghcr.io\/paperless-ngx\/paperless-ngx:$VERSION/g" \
# opt/paperless-ngx/docker-compose.yml
cat <<- EOF > opt/paperless-ngx/docker-compose.version.yml
version: "3.4"
services:
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:$VERSION
EOF
cat <<- EOF > opt/paperless-ngx/docker-compose.config.yml
version: "3.4"
EOF
#cd ../..
fpm \
--verbose \
-f \
-n paperless-ngx \
-s dir \
-t deb \
-v $VERSION_OUT \
--config-files opt/paperless-ngx/docker-compose.yml \
--config-files opt/paperless-ngx/docker-compose.config.yml \
--config-files opt/paperless-ngx/docker-compose.env \
--deb-systemd paperless-ngx.service \
opt/paperless-ngx/=/opt/paperless-ngx/
dpkg-deb -c paperless-ngx_*.deb
mv -v paperless-ngx_${VERSION_OUT}_amd64.deb deb/
echo "deb/paperless-ngx_${VERSION_OUT}_amd64.deb" > deb/filename
- put: paperless-ngx-deb
params:
archive_file: deb/filename
gpg_passphrase_file: /etc/hosts