init
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
alaskarfin/docker-compose.yml
|
17
alaskarfin/Dockerfile
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# Base image
|
||||||
|
FROM jellyfin/jellyfin:latest
|
||||||
|
|
||||||
|
# Copy your customization files directly into /jellyfin/jellyfin-web
|
||||||
|
COPY customization/ /jellyfin/jellyfin-web/
|
||||||
|
|
||||||
|
RUN chmod +x /jellyfin/jellyfin-web/update-index.sh && /jellyfin/jellyfin-web/update-index.sh
|
||||||
|
|
||||||
|
RUN chmod +x /jellyfin/jellyfin-web/titlechange.sh && /jellyfin/jellyfin-web/titlechange.sh
|
||||||
|
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y jq && rm -rf /var/lib/apt/lists/*
|
||||||
|
RUN chmod +x /jellyfin/jellyfin-web/titlechange.sh && /jellyfin/jellyfin-web/update-config.sh
|
||||||
|
|
||||||
|
# Expose the same ports as the base image
|
||||||
|
EXPOSE 8096
|
||||||
|
|
BIN
alaskarfin/customization/bc8d51405ec040305a87.ico
Normal file
After Width: | Height: | Size: 116 KiB |
BIN
alaskarfin/customization/favicon.ico
Normal file
After Width: | Height: | Size: 116 KiB |
BIN
alaskarfin/customization/favicon.png
Normal file
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 36 KiB |
BIN
alaskarfin/customization/images/icons/icon-128x128.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
BIN
alaskarfin/customization/images/icons/icon-144x144.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
alaskarfin/customization/images/icons/icon-152x152.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
alaskarfin/customization/images/icons/icon-192x192.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
alaskarfin/customization/images/icons/icon-384x384.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
alaskarfin/customization/images/icons/icon-512x512.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
alaskarfin/customization/images/icons/icon-512x512_maskable.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
alaskarfin/customization/images/icons/icon-72x72.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
alaskarfin/customization/images/icons/icon-96x96.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 890 B |
After Width: | Height: | Size: 1.5 KiB |
BIN
alaskarfin/customization/images/icons/jellyseerr/favicon.ico
Normal file
After Width: | Height: | Size: 116 KiB |
BIN
alaskarfin/customization/images/icons/jellyseerr/favicon.png
Normal file
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 31 KiB |
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
BIN
alaskarfin/customization/images/icons/old/icon-128x128.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
alaskarfin/customization/images/icons/old/icon-144x144.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
alaskarfin/customization/images/icons/old/icon-192x192.png
Normal file
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 81 KiB |
BIN
alaskarfin/customization/images/icons/old/icon-512x512o.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
alaskarfin/customization/images/icons/old/icon-72x72.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
alaskarfin/customization/images/icons/old/icon-96x96.png
Normal file
After Width: | Height: | Size: 8.3 KiB |
48
alaskarfin/customization/manifest.json
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
{
|
||||||
|
"name": "AlaskarTV",
|
||||||
|
"description": "Super Duper Private Theater",
|
||||||
|
"lang": "en-US",
|
||||||
|
"short_name": "Alaskar",
|
||||||
|
"start_url": "index.html#!/home.html",
|
||||||
|
"theme_color": "#101010",
|
||||||
|
"background_color": "#202020",
|
||||||
|
"display": "standalone",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "images/icons/icon-72x72.png",
|
||||||
|
"sizes": "72x72",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "images/icons/icon-96x96.png",
|
||||||
|
"sizes": "96x96",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "images/icons/icon-128x128.png",
|
||||||
|
"sizes": "128x128",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "images/icons/icon-144x144.png",
|
||||||
|
"sizes": "144x144",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "images/icons/icon-192x192.png",
|
||||||
|
"sizes": "192x192",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "images/icons/icon-512x512_maskable.png",
|
||||||
|
"sizes": "512x512",
|
||||||
|
"type": "image/png",
|
||||||
|
"purpose": "maskable"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "images/icons/icon-512x512.png",
|
||||||
|
"sizes": "512x512",
|
||||||
|
"type": "image/png"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
17
alaskarfin/customization/titlechange.sh
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Set the base directory where Jellyfin's files are located
|
||||||
|
BASE_DIR="/jellyfin/jellyfin-web"
|
||||||
|
|
||||||
|
# Update document.title to "AlaskarTV" in all relevant files
|
||||||
|
grep -rl 'document\.title="Jellyfin"' "$BASE_DIR" | while read -r file; do
|
||||||
|
sed -i 's/document\.title="Jellyfin"/document\.title="AlaskarTV"/g' "$file"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Ensure fallback title is also updated to "AlaskarTV"
|
||||||
|
grep -rl 'document.title=e||"Jellyfin"' "$BASE_DIR" | while IFS= read -r file; do
|
||||||
|
sed -i 's/document.title=e||"Jellyfin"/document.title=e||"AlaskarTV"/g' "$file"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Document titles updated to 'AlaskarTV' in all files!"
|
||||||
|
|
35
alaskarfin/customization/update-config.sh
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Path to the config.json file
|
||||||
|
CONFIG_FILE="/jellyfin/jellyfin-web/config.json"
|
||||||
|
|
||||||
|
# Check if the file exists
|
||||||
|
if [ ! -f "$CONFIG_FILE" ]; then
|
||||||
|
echo "Error: config.json not found at $CONFIG_FILE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Define the JSON to be added
|
||||||
|
NEW_LINKS='
|
||||||
|
{
|
||||||
|
"name": "Requests 🍿",
|
||||||
|
"icon": "download",
|
||||||
|
"url": "https://r.askar.tv"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Manage Account",
|
||||||
|
"icon": "manage_accounts",
|
||||||
|
"url": "https://user.askar.tv/my/account"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Developer",
|
||||||
|
"icon": "code",
|
||||||
|
"url": "https://alaskar.dev"
|
||||||
|
}'
|
||||||
|
|
||||||
|
# Insert the new links into the "menuLinks" array
|
||||||
|
jq --argjson newLinks "[$NEW_LINKS]" '
|
||||||
|
.menuLinks += $newLinks
|
||||||
|
' "$CONFIG_FILE" > "${CONFIG_FILE}.tmp" && mv "${CONFIG_FILE}.tmp" "$CONFIG_FILE"
|
||||||
|
|
||||||
|
echo "Menu links added successfully to config.json!"
|
30
alaskarfin/customization/update-index.sh
Executable file
|
@ -0,0 +1,30 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Path to the index.html file inside the container
|
||||||
|
INDEX_HTML_PATH="/jellyfin/jellyfin-web/index.html"
|
||||||
|
|
||||||
|
# Debugging: Check if the file exists
|
||||||
|
if [ ! -f "$INDEX_HTML_PATH" ]; then
|
||||||
|
echo "Error: index.html not found at $INDEX_HTML_PATH"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update the manifest link
|
||||||
|
sed -i 's|<link rel="manifest" href="[^"]*">|<link rel="manifest" href="manifest.json">|' "$INDEX_HTML_PATH"
|
||||||
|
|
||||||
|
# Update the apple-touch-icon link (if it exists in the file)
|
||||||
|
sed -i 's|<link rel="apple-touch-icon" sizes="180x180" href="[^"]*">|<link rel="apple-touch-icon" sizes="180x180" href="images/icons/icon-512x512.png">|' "$INDEX_HTML_PATH"
|
||||||
|
|
||||||
|
# Debugging: Display a message if the updates were successful
|
||||||
|
if grep -q '<link rel="manifest" href="manifest.json">' "$INDEX_HTML_PATH"; then
|
||||||
|
echo "Manifest link updated successfully."
|
||||||
|
else
|
||||||
|
echo "Error: Manifest link update failed."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if grep -q '<link rel="apple-touch-icon" sizes="180x180" href="images/icons/icon-512x512.png">' "$INDEX_HTML_PATH"; then
|
||||||
|
echo "Apple-touch-icon link updated successfully."
|
||||||
|
else
|
||||||
|
echo "Note: Apple-touch-icon link not found or updated."
|
||||||
|
fi
|
||||||
|
|
1
alaskarfin/version.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
10.10.2
|