diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 28462ef..3937c3e 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -6,7 +6,7 @@ on:
- alaskarfin/version.txt # Trigger workflow only when version.txt changes
jobs:
- build-and-push:
+ build-alaskarfin:
runs-on: ubuntu-latest
environment: Dockerhub
@@ -35,3 +35,34 @@ jobs:
push: true # Push the image to Docker Hub
tags: |
nomadics/alaskarfin:latest
+
+ build-alaskarseer:
+ if: contains(github.event.head_commit.message, 'alaskarseer/version.txt') # Only run if alaskarseer/version.txt changes
+ runs-on: ubuntu-latest
+ environment: Dockerhub
+
+ steps:
+ # Step 1: Check out the repository
+ - name: Checkout code
+ uses: actions/checkout@v4
+
+ # Step 2: Set up Docker Buildx
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+
+ # Step 3: Log in to Docker Hub
+ - name: Log in to Docker Hub
+ uses: docker/login-action@v3
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+
+ # Step 4: Build and push the alaskarseer image
+ - name: Build and Push alaskarseer Image
+ uses: docker/build-push-action@v6
+ with:
+ context: alaskarseer # Path to the build context
+ file: alaskarseer/Dockerfile # Path to the Dockerfile
+ push: true
+ tags: |
+ nomadics/alaskarseer:latest
diff --git a/alaskarseer/Dockerfile b/alaskarseer/Dockerfile
new file mode 100644
index 0000000..ce5c6c8
--- /dev/null
+++ b/alaskarseer/Dockerfile
@@ -0,0 +1,5 @@
+FROM fallenbagel/jellyseerr:latest
+
+COPY public/ /app/public
+
+EXPOSE 5055
diff --git a/alaskarseer/public/android-chrome-192x192.png b/alaskarseer/public/android-chrome-192x192.png
new file mode 100644
index 0000000..be46085
Binary files /dev/null and b/alaskarseer/public/android-chrome-192x192.png differ
diff --git a/alaskarseer/public/android-chrome-192x192_maskable.png b/alaskarseer/public/android-chrome-192x192_maskable.png
new file mode 100644
index 0000000..c377716
Binary files /dev/null and b/alaskarseer/public/android-chrome-192x192_maskable.png differ
diff --git a/alaskarseer/public/android-chrome-5125x5125.png b/alaskarseer/public/android-chrome-5125x5125.png
new file mode 100644
index 0000000..be46085
Binary files /dev/null and b/alaskarseer/public/android-chrome-5125x5125.png differ
diff --git a/alaskarseer/public/android-chrome-512x512.png b/alaskarseer/public/android-chrome-512x512.png
new file mode 100644
index 0000000..fbee9d4
Binary files /dev/null and b/alaskarseer/public/android-chrome-512x512.png differ
diff --git a/alaskarseer/public/android-chrome-512x512_maskable.png b/alaskarseer/public/android-chrome-512x512_maskable.png
new file mode 100644
index 0000000..673c3b5
Binary files /dev/null and b/alaskarseer/public/android-chrome-512x512_maskable.png differ
diff --git a/alaskarseer/public/apple-splash-1125-2436.jpg b/alaskarseer/public/apple-splash-1125-2436.jpg
new file mode 100644
index 0000000..62002d6
Binary files /dev/null and b/alaskarseer/public/apple-splash-1125-2436.jpg differ
diff --git a/alaskarseer/public/apple-splash-1136-640.jpg b/alaskarseer/public/apple-splash-1136-640.jpg
new file mode 100644
index 0000000..e3704f5
Binary files /dev/null and b/alaskarseer/public/apple-splash-1136-640.jpg differ
diff --git a/alaskarseer/public/apple-splash-1170-2532.jpg b/alaskarseer/public/apple-splash-1170-2532.jpg
new file mode 100644
index 0000000..1e0d63b
Binary files /dev/null and b/alaskarseer/public/apple-splash-1170-2532.jpg differ
diff --git a/alaskarseer/public/apple-splash-1179-2556.jpg b/alaskarseer/public/apple-splash-1179-2556.jpg
new file mode 100644
index 0000000..96de001
Binary files /dev/null and b/alaskarseer/public/apple-splash-1179-2556.jpg differ
diff --git a/alaskarseer/public/apple-splash-1242-2208.jpg b/alaskarseer/public/apple-splash-1242-2208.jpg
new file mode 100644
index 0000000..2c70c27
Binary files /dev/null and b/alaskarseer/public/apple-splash-1242-2208.jpg differ
diff --git a/alaskarseer/public/apple-splash-1242-2688.jpg b/alaskarseer/public/apple-splash-1242-2688.jpg
new file mode 100644
index 0000000..9c65412
Binary files /dev/null and b/alaskarseer/public/apple-splash-1242-2688.jpg differ
diff --git a/alaskarseer/public/apple-splash-1284-2778.jpg b/alaskarseer/public/apple-splash-1284-2778.jpg
new file mode 100644
index 0000000..821777f
Binary files /dev/null and b/alaskarseer/public/apple-splash-1284-2778.jpg differ
diff --git a/alaskarseer/public/apple-splash-1290-2796.jpg b/alaskarseer/public/apple-splash-1290-2796.jpg
new file mode 100644
index 0000000..98396d7
Binary files /dev/null and b/alaskarseer/public/apple-splash-1290-2796.jpg differ
diff --git a/alaskarseer/public/apple-splash-1334-750.jpg b/alaskarseer/public/apple-splash-1334-750.jpg
new file mode 100644
index 0000000..5dad6ba
Binary files /dev/null and b/alaskarseer/public/apple-splash-1334-750.jpg differ
diff --git a/alaskarseer/public/apple-splash-1488-2266.jpg b/alaskarseer/public/apple-splash-1488-2266.jpg
new file mode 100644
index 0000000..3724d6b
Binary files /dev/null and b/alaskarseer/public/apple-splash-1488-2266.jpg differ
diff --git a/alaskarseer/public/apple-splash-1536-2048.jpg b/alaskarseer/public/apple-splash-1536-2048.jpg
new file mode 100644
index 0000000..fff4a20
Binary files /dev/null and b/alaskarseer/public/apple-splash-1536-2048.jpg differ
diff --git a/alaskarseer/public/apple-splash-1620-2160.jpg b/alaskarseer/public/apple-splash-1620-2160.jpg
new file mode 100644
index 0000000..279ef8d
Binary files /dev/null and b/alaskarseer/public/apple-splash-1620-2160.jpg differ
diff --git a/alaskarseer/public/apple-splash-1640-2360.jpg b/alaskarseer/public/apple-splash-1640-2360.jpg
new file mode 100644
index 0000000..3ad3656
Binary files /dev/null and b/alaskarseer/public/apple-splash-1640-2360.jpg differ
diff --git a/alaskarseer/public/apple-splash-1668-2224.jpg b/alaskarseer/public/apple-splash-1668-2224.jpg
new file mode 100644
index 0000000..3f6ab1e
Binary files /dev/null and b/alaskarseer/public/apple-splash-1668-2224.jpg differ
diff --git a/alaskarseer/public/apple-splash-1668-2388.jpg b/alaskarseer/public/apple-splash-1668-2388.jpg
new file mode 100644
index 0000000..d3bed5d
Binary files /dev/null and b/alaskarseer/public/apple-splash-1668-2388.jpg differ
diff --git a/alaskarseer/public/apple-splash-1792-828.jpg b/alaskarseer/public/apple-splash-1792-828.jpg
new file mode 100644
index 0000000..be8fb60
Binary files /dev/null and b/alaskarseer/public/apple-splash-1792-828.jpg differ
diff --git a/alaskarseer/public/apple-splash-2048-1536.jpg b/alaskarseer/public/apple-splash-2048-1536.jpg
new file mode 100644
index 0000000..0cf3c76
Binary files /dev/null and b/alaskarseer/public/apple-splash-2048-1536.jpg differ
diff --git a/alaskarseer/public/apple-splash-2048-2732.jpg b/alaskarseer/public/apple-splash-2048-2732.jpg
new file mode 100644
index 0000000..1d574ab
Binary files /dev/null and b/alaskarseer/public/apple-splash-2048-2732.jpg differ
diff --git a/alaskarseer/public/apple-splash-2160-1620.jpg b/alaskarseer/public/apple-splash-2160-1620.jpg
new file mode 100644
index 0000000..22285bd
Binary files /dev/null and b/alaskarseer/public/apple-splash-2160-1620.jpg differ
diff --git a/alaskarseer/public/apple-splash-2208-1242.jpg b/alaskarseer/public/apple-splash-2208-1242.jpg
new file mode 100644
index 0000000..d3d451e
Binary files /dev/null and b/alaskarseer/public/apple-splash-2208-1242.jpg differ
diff --git a/alaskarseer/public/apple-splash-2224-1668.jpg b/alaskarseer/public/apple-splash-2224-1668.jpg
new file mode 100644
index 0000000..8137227
Binary files /dev/null and b/alaskarseer/public/apple-splash-2224-1668.jpg differ
diff --git a/alaskarseer/public/apple-splash-2266-1488.jpg b/alaskarseer/public/apple-splash-2266-1488.jpg
new file mode 100644
index 0000000..e739c7b
Binary files /dev/null and b/alaskarseer/public/apple-splash-2266-1488.jpg differ
diff --git a/alaskarseer/public/apple-splash-2360-1640.jpg b/alaskarseer/public/apple-splash-2360-1640.jpg
new file mode 100644
index 0000000..ad58362
Binary files /dev/null and b/alaskarseer/public/apple-splash-2360-1640.jpg differ
diff --git a/alaskarseer/public/apple-splash-2388-1668.jpg b/alaskarseer/public/apple-splash-2388-1668.jpg
new file mode 100644
index 0000000..fc7e8c6
Binary files /dev/null and b/alaskarseer/public/apple-splash-2388-1668.jpg differ
diff --git a/alaskarseer/public/apple-splash-2436-1125.jpg b/alaskarseer/public/apple-splash-2436-1125.jpg
new file mode 100644
index 0000000..c795221
Binary files /dev/null and b/alaskarseer/public/apple-splash-2436-1125.jpg differ
diff --git a/alaskarseer/public/apple-splash-2532-1170.jpg b/alaskarseer/public/apple-splash-2532-1170.jpg
new file mode 100644
index 0000000..afb763e
Binary files /dev/null and b/alaskarseer/public/apple-splash-2532-1170.jpg differ
diff --git a/alaskarseer/public/apple-splash-2556-1179.jpg b/alaskarseer/public/apple-splash-2556-1179.jpg
new file mode 100644
index 0000000..7b5b64d
Binary files /dev/null and b/alaskarseer/public/apple-splash-2556-1179.jpg differ
diff --git a/alaskarseer/public/apple-splash-2688-1242.jpg b/alaskarseer/public/apple-splash-2688-1242.jpg
new file mode 100644
index 0000000..5ee8a37
Binary files /dev/null and b/alaskarseer/public/apple-splash-2688-1242.jpg differ
diff --git a/alaskarseer/public/apple-splash-2732-2048.jpg b/alaskarseer/public/apple-splash-2732-2048.jpg
new file mode 100644
index 0000000..3a63e0c
Binary files /dev/null and b/alaskarseer/public/apple-splash-2732-2048.jpg differ
diff --git a/alaskarseer/public/apple-splash-2778-1284.jpg b/alaskarseer/public/apple-splash-2778-1284.jpg
new file mode 100644
index 0000000..077de33
Binary files /dev/null and b/alaskarseer/public/apple-splash-2778-1284.jpg differ
diff --git a/alaskarseer/public/apple-splash-2796-1290.jpg b/alaskarseer/public/apple-splash-2796-1290.jpg
new file mode 100644
index 0000000..4b3a0e5
Binary files /dev/null and b/alaskarseer/public/apple-splash-2796-1290.jpg differ
diff --git a/alaskarseer/public/apple-splash-640-1136.jpg b/alaskarseer/public/apple-splash-640-1136.jpg
new file mode 100644
index 0000000..a701eb5
Binary files /dev/null and b/alaskarseer/public/apple-splash-640-1136.jpg differ
diff --git a/alaskarseer/public/apple-splash-750-1334.jpg b/alaskarseer/public/apple-splash-750-1334.jpg
new file mode 100644
index 0000000..1376f3e
Binary files /dev/null and b/alaskarseer/public/apple-splash-750-1334.jpg differ
diff --git a/alaskarseer/public/apple-splash-828-1792.jpg b/alaskarseer/public/apple-splash-828-1792.jpg
new file mode 100644
index 0000000..fa00f21
Binary files /dev/null and b/alaskarseer/public/apple-splash-828-1792.jpg differ
diff --git a/alaskarseer/public/apple-touch-icon.png b/alaskarseer/public/apple-touch-icon.png
new file mode 100644
index 0000000..be46085
Binary files /dev/null and b/alaskarseer/public/apple-touch-icon.png differ
diff --git a/alaskarseer/public/badge-128x128.png b/alaskarseer/public/badge-128x128.png
new file mode 100644
index 0000000..affeaec
Binary files /dev/null and b/alaskarseer/public/badge-128x128.png differ
diff --git a/alaskarseer/public/clock-icon-192x192.png b/alaskarseer/public/clock-icon-192x192.png
new file mode 100644
index 0000000..a671e35
Binary files /dev/null and b/alaskarseer/public/clock-icon-192x192.png differ
diff --git a/alaskarseer/public/cog-icon-192x192.png b/alaskarseer/public/cog-icon-192x192.png
new file mode 100644
index 0000000..a40a6a9
Binary files /dev/null and b/alaskarseer/public/cog-icon-192x192.png differ
diff --git a/alaskarseer/public/favicon-16x16.png b/alaskarseer/public/favicon-16x16.png
new file mode 100644
index 0000000..632338b
Binary files /dev/null and b/alaskarseer/public/favicon-16x16.png differ
diff --git a/alaskarseer/public/favicon-32x32.png b/alaskarseer/public/favicon-32x32.png
new file mode 100644
index 0000000..cefb766
Binary files /dev/null and b/alaskarseer/public/favicon-32x32.png differ
diff --git a/alaskarseer/public/favicon.ico b/alaskarseer/public/favicon.ico
new file mode 100644
index 0000000..94740b4
Binary files /dev/null and b/alaskarseer/public/favicon.ico differ
diff --git a/alaskarseer/public/favicon.png b/alaskarseer/public/favicon.png
new file mode 100644
index 0000000..aa749d2
Binary files /dev/null and b/alaskarseer/public/favicon.png differ
diff --git a/alaskarseer/public/images/overseerr_poster_not_found.png b/alaskarseer/public/images/overseerr_poster_not_found.png
new file mode 100644
index 0000000..65b4f36
Binary files /dev/null and b/alaskarseer/public/images/overseerr_poster_not_found.png differ
diff --git a/alaskarseer/public/images/overseerr_poster_not_found_logo_center.png b/alaskarseer/public/images/overseerr_poster_not_found_logo_center.png
new file mode 100644
index 0000000..cdc9d8c
Binary files /dev/null and b/alaskarseer/public/images/overseerr_poster_not_found_logo_center.png differ
diff --git a/alaskarseer/public/images/overseerr_poster_not_found_logo_top.png b/alaskarseer/public/images/overseerr_poster_not_found_logo_top.png
new file mode 100644
index 0000000..cdc9d8c
Binary files /dev/null and b/alaskarseer/public/images/overseerr_poster_not_found_logo_top.png differ
diff --git a/alaskarseer/public/logo_full.png b/alaskarseer/public/logo_full.png
new file mode 100644
index 0000000..845f551
Binary files /dev/null and b/alaskarseer/public/logo_full.png differ
diff --git a/alaskarseer/public/logo_full.svg b/alaskarseer/public/logo_full.svg
new file mode 100644
index 0000000..afcd1f2
--- /dev/null
+++ b/alaskarseer/public/logo_full.svg
@@ -0,0 +1,350 @@
+
+
\ No newline at end of file
diff --git a/alaskarseer/public/logo_stacked.svg b/alaskarseer/public/logo_stacked.svg
new file mode 100644
index 0000000..fe45598
--- /dev/null
+++ b/alaskarseer/public/logo_stacked.svg
@@ -0,0 +1,335 @@
+
+
\ No newline at end of file
diff --git a/alaskarseer/public/offline.html b/alaskarseer/public/offline.html
new file mode 100644
index 0000000..da4ba23
--- /dev/null
+++ b/alaskarseer/public/offline.html
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+ You are offline
+
+
+
+
+
+ You are offline
+
+
+
+
+
+
+
diff --git a/alaskarseer/public/os_icon.svg b/alaskarseer/public/os_icon.svg
new file mode 100644
index 0000000..cda2394
--- /dev/null
+++ b/alaskarseer/public/os_icon.svg
@@ -0,0 +1,118 @@
+
+
\ No newline at end of file
diff --git a/alaskarseer/public/os_logo_square.png b/alaskarseer/public/os_logo_square.png
new file mode 100644
index 0000000..37ad421
Binary files /dev/null and b/alaskarseer/public/os_logo_square.png differ
diff --git a/alaskarseer/public/site.webmanifest b/alaskarseer/public/site.webmanifest
new file mode 100644
index 0000000..1e7e76b
--- /dev/null
+++ b/alaskarseer/public/site.webmanifest
@@ -0,0 +1,80 @@
+{
+ "name": "Alaskar Requests",
+ "short_name": "Requests",
+ "start_url": "./",
+ "icons": [
+ {
+ "src": "./android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png",
+ "purpose": "any"
+ },
+ {
+ "src": "./android-chrome-192x192_maskable.png",
+ "sizes": "192x192",
+ "type": "image/png",
+ "purpose": "maskable"
+ },
+ {
+ "src": "./android-chrome-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png",
+ "purpose": "any"
+ },
+ {
+ "src": "./android-chrome-512x512_maskable.png",
+ "sizes": "512x512",
+ "type": "image/png",
+ "purpose": "maskable"
+ }
+ ],
+ "theme_color": "#1f2937",
+ "background_color": "#1f2937",
+ "display": "standalone",
+ "shortcuts": [
+ {
+ "name": "Discover",
+ "url": "./",
+ "icons": [
+ {
+ "src": "./sparkles-icon-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ }
+ ]
+ },
+ {
+ "name": "Requests",
+ "url": "./requests",
+ "icons": [
+ {
+ "src": "./clock-icon-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ }
+ ]
+ },
+ {
+ "name": "Profile",
+ "url": "./profile",
+ "icons": [
+ {
+ "src": "./user-icon-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ }
+ ]
+ },
+ {
+ "name": "Settings",
+ "url": "./profile/settings",
+ "icons": [
+ {
+ "src": "./cog-icon-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ }
+ ]
+ }
+ ]
+}
diff --git a/alaskarseer/public/sparkles-icon-192x192.png b/alaskarseer/public/sparkles-icon-192x192.png
new file mode 100644
index 0000000..71b32e1
Binary files /dev/null and b/alaskarseer/public/sparkles-icon-192x192.png differ
diff --git a/alaskarseer/public/sw.js b/alaskarseer/public/sw.js
new file mode 100644
index 0000000..6a89315
--- /dev/null
+++ b/alaskarseer/public/sw.js
@@ -0,0 +1,135 @@
+/* eslint-disable no-undef */
+// Incrementing OFFLINE_VERSION will kick off the install event and force
+// previously cached resources to be updated from the network.
+// This variable is intentionally declared and unused.
+// eslint-disable-next-line @typescript-eslint/no-unused-vars
+const OFFLINE_VERSION = 3;
+const CACHE_NAME = 'offline';
+// Customize this with a different URL if needed.
+const OFFLINE_URL = '/offline.html';
+
+self.addEventListener('install', (event) => {
+ event.waitUntil(
+ (async () => {
+ const cache = await caches.open(CACHE_NAME);
+ // Setting {cache: 'reload'} in the new request will ensure that the
+ // response isn't fulfilled from the HTTP cache; i.e., it will be from
+ // the network.
+ await cache.add(new Request(OFFLINE_URL, { cache: 'reload' }));
+ })()
+ );
+ // Force the waiting service worker to become the active service worker.
+ self.skipWaiting();
+});
+
+self.addEventListener('activate', (event) => {
+ event.waitUntil(
+ (async () => {
+ // Enable navigation preload if it's supported.
+ // See https://developers.google.com/web/updates/2017/02/navigation-preload
+ if ('navigationPreload' in self.registration) {
+ await self.registration.navigationPreload.enable();
+ }
+ })()
+ );
+
+ // Tell the active service worker to take control of the page immediately.
+ clients.claim();
+});
+
+self.addEventListener('fetch', (event) => {
+ // We only want to call event.respondWith() if this is a navigation request
+ // for an HTML page.
+ if (event.request.mode === 'navigate') {
+ event.respondWith(
+ (async () => {
+ try {
+ // First, try to use the navigation preload response if it's supported.
+ const preloadResponse = await event.preloadResponse;
+ if (preloadResponse) {
+ return preloadResponse;
+ }
+
+ // Always try the network first.
+ const networkResponse = await fetch(event.request);
+ return networkResponse;
+ } catch (error) {
+ // catch is only triggered if an exception is thrown, which is likely
+ // due to a network error.
+ // If fetch() returns a valid HTTP response with a response code in
+ // the 4xx or 5xx range, the catch() will NOT be called.
+ // eslint-disable-next-line no-console
+ console.log('Fetch failed; returning offline page instead.', error);
+
+ const cache = await caches.open(CACHE_NAME);
+ const cachedResponse = await cache.match(OFFLINE_URL);
+ return cachedResponse;
+ }
+ })()
+ );
+ }
+});
+
+self.addEventListener('push', (event) => {
+ const payload = event.data ? event.data.json() : {};
+
+ const options = {
+ body: payload.message,
+ badge: 'badge-128x128.png',
+ icon: payload.image ? payload.image : 'android-chrome-192x192.png',
+ vibrate: [100, 50, 100],
+ data: {
+ dateOfArrival: Date.now(),
+ primaryKey: '2',
+ actionUrl: payload.actionUrl,
+ requestId: payload.requestId,
+ },
+ actions: [],
+ };
+
+ if (payload.actionUrl) {
+ options.actions.push({
+ action: 'view',
+ title: payload.actionUrlTitle ?? 'View',
+ });
+ }
+
+ if (payload.notificationType === 'MEDIA_PENDING') {
+ options.actions.push(
+ {
+ action: 'approve',
+ title: 'Approve',
+ },
+ {
+ action: 'decline',
+ title: 'Decline',
+ }
+ );
+ }
+
+ event.waitUntil(self.registration.showNotification(payload.subject, options));
+});
+
+self.addEventListener(
+ 'notificationclick',
+ (event) => {
+ const notificationData = event.notification.data;
+
+ event.notification.close();
+
+ if (event.action === 'approve') {
+ fetch(`/api/v1/request/${notificationData.requestId}/approve`, {
+ method: 'POST',
+ });
+ } else if (event.action === 'decline') {
+ fetch(`/api/v1/request/${notificationData.requestId}/decline`, {
+ method: 'POST',
+ });
+ }
+
+ if (notificationData.actionUrl) {
+ clients.openWindow(notificationData.actionUrl);
+ }
+ },
+ false
+);
diff --git a/alaskarseer/public/user-icon-192x192.png b/alaskarseer/public/user-icon-192x192.png
new file mode 100644
index 0000000..a7b92cc
Binary files /dev/null and b/alaskarseer/public/user-icon-192x192.png differ
diff --git a/alaskarseer/version.txt b/alaskarseer/version.txt
new file mode 100644
index 0000000..7ec1d6d
--- /dev/null
+++ b/alaskarseer/version.txt
@@ -0,0 +1 @@
+2.1.0