--- 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