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.18.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'