116 lines
4.2 KiB
YAML
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
|