You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
3.3 KiB
104 lines
3.3 KiB
name: overseerr
|
|
adopt-info: overseerr
|
|
license: MIT
|
|
summary: Request management and media discovery tool for the Plex ecosystem.
|
|
description: >
|
|
Overseerr is a free and open source software application for managing requests for your media library.
|
|
It integrates with your existing services such as Sonarr, Radarr and Plex!
|
|
base: core18
|
|
confinement: strict
|
|
|
|
architectures:
|
|
- build-on: amd64
|
|
- build-on: arm64
|
|
- build-on: armhf
|
|
|
|
parts:
|
|
overseerr:
|
|
plugin: nodejs
|
|
nodejs-version: '18.8.2'
|
|
nodejs-package-manager: 'yarn'
|
|
nodejs-yarn-version: v1.22.19
|
|
build-packages:
|
|
- git
|
|
- on arm64:
|
|
- build-essential
|
|
- automake
|
|
- python-gi
|
|
- python-gi-dev
|
|
- on armhf:
|
|
- libatomic1
|
|
- build-essential
|
|
- automake
|
|
- python-gi
|
|
- python-gi-dev
|
|
source: .
|
|
override-pull: |
|
|
snapcraftctl pull
|
|
# Get information to determine snap grade and version
|
|
git config --global --add safe.directory /data/parts/overseerr/src
|
|
#setup yarn.rc
|
|
echo "--install.frozen-lockfile\n--install.network-timeout 1000000" > .yarnrc
|
|
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
|
COMMIT=$(git rev-parse HEAD)
|
|
COMMIT_SHORT=$(git rev-parse --short HEAD)
|
|
VERSION='v'$(cat package.json | grep 'version' | head -1 | sed 's/.*"\(.*\)"\,/\1/')
|
|
if [ "$VERSION" = "v0.1.0" ]; then
|
|
SNAP_VERSION=$COMMIT_SHORT
|
|
GRADE=stable
|
|
else
|
|
SNAP_VERSION=$VERSION
|
|
GRADE=stable
|
|
fi
|
|
# Write COMMIT_TAG as it is needed durring the build process
|
|
echo $COMMIT > commit.txt
|
|
# Print debug info for build version
|
|
echo "{\"commitShort\": \"$COMMIT_SHORT\", \
|
|
\"version\": \"$VERSION\", \
|
|
\"snapVersion\": \"$SNAP_VERSION\", \
|
|
\"snapGrade\": \"$GRADE\", \
|
|
\"branch\": \"$BRANCH\", \
|
|
\"commit\": \"$COMMIT\"}"
|
|
echo "{\"commitTag\": \"$COMMIT\"}" > committag.json
|
|
# Set snap version and grade
|
|
snapcraftctl set-version "$SNAP_VERSION"
|
|
snapcraftctl set-grade "$GRADE"
|
|
build-environment:
|
|
- PATH: '$SNAPCRAFT_PART_BUILD/node_modules/.bin:$SNAPCRAFT_PART_BUILD/../npm/bin:$PATH'
|
|
- CYPRESS_INSTALL_BINARY: '0'
|
|
override-build: |
|
|
set -e
|
|
# Set COMMIT_TAG before the build begins
|
|
export COMMIT_TAG=$(cat $SNAPCRAFT_PART_BUILD/commit.txt)
|
|
snapcraftctl build
|
|
yarn build
|
|
# Copy files needed for staging
|
|
cp $SNAPCRAFT_PART_BUILD/committag.json $SNAPCRAFT_PART_INSTALL/
|
|
cp -R $SNAPCRAFT_PART_BUILD/.next $SNAPCRAFT_PART_INSTALL/
|
|
cp -R $SNAPCRAFT_PART_BUILD/dist $SNAPCRAFT_PART_INSTALL/
|
|
cp -R $SNAPCRAFT_PART_BUILD/node_modules $SNAPCRAFT_PART_INSTALL/
|
|
# Remove .github and gitbook as it will fail snap lint
|
|
rm -rf $SNAPCRAFT_PART_INSTALL/.github && rm $SNAPCRAFT_PART_INSTALL/.gitbook.yaml
|
|
stage-packages:
|
|
- on armhf:
|
|
- libatomic1
|
|
stage: [.next, ./*]
|
|
prime: [.next, ./*]
|
|
|
|
apps:
|
|
daemon:
|
|
command: /bin/sh -c "cd $SNAP && node dist/index.js"
|
|
daemon: simple
|
|
restart-condition: on-failure
|
|
restart-delay: 5s
|
|
plugs:
|
|
- home
|
|
- network
|
|
- network-bind
|
|
environment:
|
|
PATH: '$SNAP/usr/sbin:$SNAP/usr/bin:$SNAP/sbin:$SNAP/bin:$PATH'
|
|
OVERSEERR_SNAP: 'True'
|
|
CONFIG_DIRECTORY: $SNAP_USER_COMMON
|
|
LOG_LEVEL: 'debug'
|
|
NODE_ENV: 'production'
|