diff --git a/.all-contributorsrc b/.all-contributorsrc index b5166196..55ae4378 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -4,668 +4,72 @@ ], "imageSize": 100, "commit": false, + "badgeTemplate": "\"All-orange.svg\"/>", + "contributorsPerLine": 7, + "projectName": "jellyseerr", + "projectOwner": "Fallenbagel", + "repoType": "github", + "repoHost": "https://github.com", + "skipCi": true, + "commitConvention": "angular", + "commitType": "docs", "contributors": [ { - "login": "sct", - "name": "sct", - "avatar_url": "https://avatars1.githubusercontent.com/u/234213?v=4", - "profile": "https://sct.dev", + "login": "Fallenbagel", + "name": "Fallenbagel", + "avatar_url": "https://avatars.githubusercontent.com/u/98979876?v=4", + "profile": "https://github.com/Fallenbagel", "contributions": [ "code", - "design", - "ideas" + "maintenance" ] }, { - "login": "azoitos", - "name": "Alex Zoitos", - "avatar_url": "https://avatars2.githubusercontent.com/u/26529049?v=4", - "profile": "https://github.com/azoitos", - "contributions": [ - "code" - ] - }, - { - "login": "OwsleyJr", - "name": "Brandon Cohen", - "avatar_url": "https://avatars3.githubusercontent.com/u/8635678?v=4", - "profile": "https://github.com/OwsleyJr", - "contributions": [ - "code", - "doc" - ] - }, - { - "login": "Ahreluth", - "name": "Ahreluth", - "avatar_url": "https://avatars2.githubusercontent.com/u/75682440?v=4", - "profile": "https://github.com/Ahreluth", - "contributions": [ - "translation" - ] - }, - { - "login": "KovalevArtem", - "name": "KovalevArtem", - "avatar_url": "https://avatars0.githubusercontent.com/u/36500228?v=4", - "profile": "https://github.com/KovalevArtem", - "contributions": [ - "translation" - ] - }, - { - "login": "GiyomuWeb", - "name": "GiyomuWeb", - "avatar_url": "https://avatars0.githubusercontent.com/u/62489209?v=4", - "profile": "https://github.com/GiyomuWeb", - "contributions": [ - "translation" - ] - }, - { - "login": "angrycuban13", - "name": "Angry Cuban", - "avatar_url": "https://avatars3.githubusercontent.com/u/39564898?v=4", - "profile": "https://github.com/angrycuban13", - "contributions": [ - "doc" - ] - }, - { - "login": "jvennik", - "name": "jvennik", - "avatar_url": "https://avatars3.githubusercontent.com/u/6672637?v=4", - "profile": "https://github.com/jvennik", - "contributions": [ - "translation" - ] - }, - { - "login": "darknessgp", - "name": "darknessgp", - "avatar_url": "https://avatars0.githubusercontent.com/u/1521243?v=4", - "profile": "https://github.com/darknessgp", - "contributions": [ - "code" - ] - }, - { - "login": "saltydk", - "name": "salty", - "avatar_url": "https://avatars1.githubusercontent.com/u/6587950?v=4", - "profile": "https://github.com/saltydk", - "contributions": [ - "infra" - ] - }, - { - "login": "Shutruk", - "name": "Shutruk", - "avatar_url": "https://avatars2.githubusercontent.com/u/9198633?v=4", - "profile": "https://github.com/Shutruk", - "contributions": [ - "translation" - ] - }, - { - "login": "krystiancharubin", - "name": "Krystian Charubin", - "avatar_url": "https://avatars2.githubusercontent.com/u/17775600?v=4", - "profile": "https://github.com/krystiancharubin", - "contributions": [ - "design" - ] - }, - { - "login": "kieron", - "name": "Kieron Boswell", - "avatar_url": "https://avatars2.githubusercontent.com/u/8655212?v=4", - "profile": "https://github.com/kieron", - "contributions": [ - "code" - ] - }, - { - "login": "samwiseg0", - "name": "samwiseg0", - "avatar_url": "https://avatars1.githubusercontent.com/u/2241731?v=4", - "profile": "https://github.com/samwiseg0", - "contributions": [ - "question", - "infra" - ] - }, - { - "login": "ecelebi29", - "name": "ecelebi29", - "avatar_url": "https://avatars2.githubusercontent.com/u/8337120?v=4", - "profile": "https://github.com/ecelebi29", - "contributions": [ - "code", - "doc" - ] - }, - { - "login": "mmozeiko", - "name": "Mārtiņš Možeiko", - "avatar_url": "https://avatars3.githubusercontent.com/u/1665010?v=4", - "profile": "https://github.com/mmozeiko", - "contributions": [ - "code" - ] - }, - { - "login": "mazzetta86", - "name": "mazzetta86", - "avatar_url": "https://avatars2.githubusercontent.com/u/45591560?v=4", - "profile": "https://github.com/mazzetta86", - "contributions": [ - "translation" - ] - }, - { - "login": "Panzer1119", - "name": "Paul Hagedorn", - "avatar_url": "https://avatars1.githubusercontent.com/u/23016343?v=4", - "profile": "https://github.com/Panzer1119", - "contributions": [ - "translation" - ] - }, - { - "login": "Shagon94", - "name": "Shagon94", - "avatar_url": "https://avatars3.githubusercontent.com/u/9140783?v=4", - "profile": "https://github.com/Shagon94", - "contributions": [ - "translation" - ] - }, - { - "login": "sebstrgg", - "name": "sebstrgg", - "avatar_url": "https://avatars3.githubusercontent.com/u/27026694?v=4", - "profile": "https://github.com/sebstrgg", - "contributions": [ - "translation" - ] - }, - { - "login": "danshilm", - "name": "Danshil Mungur", - "avatar_url": "https://avatars2.githubusercontent.com/u/20923978?v=4", - "profile": "https://github.com/danshilm", - "contributions": [ - "code", - "doc" - ] - }, - { - "login": "doob187", - "name": "doob187", - "avatar_url": "https://avatars1.githubusercontent.com/u/60312740?v=4", - "profile": "https://github.com/doob187", - "contributions": [ - "infra" - ] - }, - { - "login": "johnpyp", - "name": "johnpyp", - "avatar_url": "https://avatars2.githubusercontent.com/u/20625636?v=4", - "profile": "https://github.com/johnpyp", - "contributions": [ - "code" - ] - }, - { - "login": "ankarhem", - "name": "Jakob Ankarhem", - "avatar_url": "https://avatars1.githubusercontent.com/u/14110063?v=4", - "profile": "https://github.com/ankarhem", - "contributions": [ - "doc", - "code", - "translation" - ] - }, - { - "login": "jayesh100", - "name": "Jayesh", - "avatar_url": "https://avatars1.githubusercontent.com/u/8022175?v=4", - "profile": "https://github.com/jayesh100", - "contributions": [ - "code" - ] - }, - { - "login": "flying-sausages", - "name": "flying-sausages", - "avatar_url": "https://avatars1.githubusercontent.com/u/23618693?v=4", - "profile": "https://github.com/flying-sausages", - "contributions": [ - "doc" - ] - }, - { - "login": "hirenshah", - "name": "hirenshah", - "avatar_url": "https://avatars2.githubusercontent.com/u/418112?v=4", - "profile": "https://github.com/hirenshah", - "contributions": [ - "doc" - ] - }, - { - "login": "TheCatLady", - "name": "TheCatLady", - "avatar_url": "https://avatars0.githubusercontent.com/u/52870424?v=4", - "profile": "https://github.com/TheCatLady", - "contributions": [ - "code", - "translation", - "doc" - ] - }, - { - "login": "chriscpritchard", - "name": "Chris Pritchard", - "avatar_url": "https://avatars1.githubusercontent.com/u/1839074?v=4", - "profile": "https://github.com/chriscpritchard", - "contributions": [ - "code", - "doc" - ] - }, - { - "login": "Tamberlox", - "name": "Tamberlox", - "avatar_url": "https://avatars3.githubusercontent.com/u/56069014?v=4", - "profile": "https://github.com/Tamberlox", - "contributions": [ - "translation" - ] - }, - { - "login": "hmnd", - "name": "David", - "avatar_url": "https://avatars.githubusercontent.com/u/12853597?v=4", - "profile": "https://hmnd.io", - "contributions": [ - "code" - ] - }, - { - "login": "douglasparker", - "name": "Douglas Parker", - "avatar_url": "https://avatars.githubusercontent.com/u/18235822?v=4", - "profile": "https://www.douglas-parker.com", - "contributions": [ - "doc" - ] - }, - { - "login": "dancarter", - "name": "Daniel Carter", - "avatar_url": "https://avatars.githubusercontent.com/u/4387516?v=4", - "profile": "https://github.com/dancarter", - "contributions": [ - "code" - ] - }, - { - "login": "NuroDev", - "name": "nuro", - "avatar_url": "https://avatars.githubusercontent.com/u/4991309?v=4", - "profile": "https://nuro.dev", - "contributions": [ - "doc" - ] - }, - { - "login": "onedr0p", - "name": "ᗪєνιη ᗷυнʟ", - "avatar_url": "https://avatars.githubusercontent.com/u/213795?v=4", - "profile": "https://github.com/onedr0p", - "contributions": [ - "infra" - ] - }, - { - "login": "JonnyWong16", - "name": "JonnyWong16", - "avatar_url": "https://avatars.githubusercontent.com/u/9099342?v=4", - "profile": "https://github.com/JonnyWong16", - "contributions": [ - "doc" - ] - }, - { - "login": "Roxedus", - "name": "Roxedus", - "avatar_url": "https://avatars.githubusercontent.com/u/7110194?v=4", - "profile": "https://github.com/Roxedus", - "contributions": [ - "doc" - ] - }, - { - "login": "WoisWoi", - "name": "WoisWoi", - "avatar_url": "https://avatars.githubusercontent.com/u/75491231?v=4", - "profile": "https://github.com/WoisWoi", - "contributions": [ - "translation" - ] - }, - { - "login": "HubDuck", - "name": "HubDuck", - "avatar_url": "https://avatars.githubusercontent.com/u/77843475?v=4", - "profile": "https://github.com/HubDuck", + "login": "seanzhang98", + "name": "Sean", + "avatar_url": "https://avatars.githubusercontent.com/u/34902361?v=4", + "profile": "https://github.com/seanzhang98", "contributions": [ "translation", - "doc" + "code" ] }, { - "login": "costaht", - "name": "costaht", - "avatar_url": "https://avatars.githubusercontent.com/u/50637431?v=4", - "profile": "https://github.com/costaht", - "contributions": [ - "doc", - "translation" - ] - }, - { - "login": "Shjosan", - "name": "Shjosan", - "avatar_url": "https://avatars.githubusercontent.com/u/20847626?v=4", - "profile": "https://github.com/Shjosan", - "contributions": [ - "translation" - ] - }, - { - "login": "kobaubarr", - "name": "kobaubarr", - "avatar_url": "https://avatars.githubusercontent.com/u/28481522?v=4", - "profile": "https://github.com/kobaubarr", - "contributions": [ - "translation" - ] - }, - { - "login": "notorius28", - "name": "Ricardo González", - "avatar_url": "https://avatars.githubusercontent.com/u/1621513?v=4", - "profile": "https://github.com/notorius28", - "contributions": [ - "translation" - ] - }, - { - "login": "Torkiliuz", - "name": "Torkil", - "avatar_url": "https://avatars.githubusercontent.com/u/460764?v=4", - "profile": "http://torkili.uz", - "contributions": [ - "translation" - ] - }, - { - "login": "JagandeepBrar", - "name": "Jagandeep Brar", - "avatar_url": "https://avatars.githubusercontent.com/u/3048295?v=4", - "profile": "https://www.jagandeepbrar.io", - "contributions": [ - "doc" - ] - }, - { - "login": "dtalens", - "name": "dtalens", - "avatar_url": "https://avatars.githubusercontent.com/u/6631832?v=4", - "profile": "http://dtalens.com", - "contributions": [ - "translation" - ] - }, - { - "login": "acortelyou", - "name": "Alex Cortelyou", - "avatar_url": "https://avatars.githubusercontent.com/u/1689668?v=4", - "profile": "https://github.com/acortelyou", + "login": "notfakie", + "name": "notfakie", + "avatar_url": "https://avatars.githubusercontent.com/u/103784113?v=4", + "profile": "https://github.com/notfakie", "contributions": [ "code" ] }, { - "login": "jonocairns", - "name": "Jono Cairns", - "avatar_url": "https://avatars.githubusercontent.com/u/182836?v=4", - "profile": "https://nz.linkedin.com/in/jonocairns", + "login": "Jumail", + "name": "Mohamed Jumail", + "avatar_url": "https://avatars.githubusercontent.com/u/7672055?v=4", + "profile": "https://github.com/Jumail", + "contributions": [ + "review" + ] + }, + { + "login": "jsl9208", + "name": "Shilong Jiang", + "avatar_url": "https://avatars.githubusercontent.com/u/4048787?v=4", + "profile": "https://www.heywhale.com", "contributions": [ "code" ] }, { - "login": "DJScias", - "name": "DJScias", - "avatar_url": "https://avatars.githubusercontent.com/u/439655?v=4", - "profile": "https://scias.net/", - "contributions": [ - "translation" - ] - }, - { - "login": "Dabu-dot", - "name": "Dabu-dot", - "avatar_url": "https://avatars.githubusercontent.com/u/52525576?v=4", - "profile": "https://github.com/Dabu-dot", - "contributions": [ - "translation" - ] - }, - { - "login": "Jabster28", - "name": "Jabster28", - "avatar_url": "https://avatars.githubusercontent.com/u/29015942?v=4", - "profile": "https://github.com/Jabster28", + "login": "boring-dragon", + "name": "Boring Dragon", + "avatar_url": "https://avatars.githubusercontent.com/u/28459081?v=4", + "profile": "https://jinas.me", "contributions": [ "code" ] }, - { - "login": "littlerooster", - "name": "littlerooster", - "avatar_url": "https://avatars.githubusercontent.com/u/83890654?v=4", - "profile": "https://github.com/littlerooster", - "contributions": [ - "translation" - ] - }, - { - "login": "dphildebrandt", - "name": "Dustin Hildebrandt", - "avatar_url": "https://avatars.githubusercontent.com/u/154459?v=4", - "profile": "https://github.com/dphildebrandt", - "contributions": [ - "code" - ] - }, - { - "login": "Generator", - "name": "Bruno Guerreiro", - "avatar_url": "https://avatars.githubusercontent.com/u/44146?v=4", - "profile": "https://github.com/Generator", - "contributions": [ - "translation" - ] - }, - { - "login": "iceHtwoO", - "name": "Alexander Neuhäuser", - "avatar_url": "https://avatars.githubusercontent.com/u/27020492?v=4", - "profile": "https://github.com/iceHtwoO", - "contributions": [ - "translation" - ] - }, - { - "login": "liviokanone", - "name": "Livio", - "avatar_url": "https://avatars.githubusercontent.com/u/37431541?v=4", - "profile": "http://www.unext.co.jp", - "contributions": [ - "design" - ] - }, - { - "login": "tangentThought", - "name": "tangentThought", - "avatar_url": "https://avatars.githubusercontent.com/u/25516090?v=4", - "profile": "https://github.com/tangentThought", - "contributions": [ - "code" - ] - }, - { - "login": "nicospz", - "name": "Nicolás Espinoza", - "avatar_url": "https://avatars.githubusercontent.com/u/31373060?v=4", - "profile": "https://github.com/nicospz", - "contributions": [ - "code" - ] - }, - { - "login": "sootylunatic", - "name": "sootylunatic", - "avatar_url": "https://avatars.githubusercontent.com/u/36486087?v=4", - "profile": "https://github.com/sootylunatic", - "contributions": [ - "translation" - ] - }, - { - "login": "JoKerIsCraZy", - "name": "JoKerIsCraZy", - "avatar_url": "https://avatars.githubusercontent.com/u/47474211?v=4", - "profile": "https://github.com/JoKerIsCraZy", - "contributions": [ - "translation" - ] - }, - { - "login": "GoByeBye", - "name": "Daddie0", - "avatar_url": "https://avatars.githubusercontent.com/u/33762262?v=4", - "profile": "https://daddie.dev", - "contributions": [ - "translation" - ] - }, - { - "login": "Simoneu01", - "name": "Simone", - "avatar_url": "https://avatars.githubusercontent.com/u/43807696?v=4", - "profile": "http://ungaro.me", - "contributions": [ - "translation" - ] - }, - { - "login": "adan89lion", - "name": "Seohyun Joo", - "avatar_url": "https://avatars.githubusercontent.com/u/6585644?v=4", - "profile": "https://github.com/adan89lion", - "contributions": [ - "translation" - ] - }, - { - "login": "ty4ko", - "name": "Sergey", - "avatar_url": "https://avatars.githubusercontent.com/u/21213535?v=4", - "profile": "https://github.com/ty4ko", - "contributions": [ - "translation" - ] - }, - { - "login": "skafte1990", - "name": "Shaaft", - "avatar_url": "https://avatars.githubusercontent.com/u/31465453?v=4", - "profile": "https://github.com/skafte1990", - "contributions": [ - "translation" - ] - }, - { - "login": "sr093906", - "name": "sr093906", - "avatar_url": "https://avatars.githubusercontent.com/u/8369201?v=4", - "profile": "https://github.com/sr093906", - "contributions": [ - "translation" - ] - }, - { - "login": "Nackophilz", - "name": "Nackophilz", - "avatar_url": "https://avatars.githubusercontent.com/u/61667226?v=4", - "profile": "https://github.com/Nackophilz", - "contributions": [ - "translation" - ] - }, - { - "login": "schambers", - "name": "Sean Chambers", - "avatar_url": "https://avatars.githubusercontent.com/u/31563?v=4", - "profile": "https://github.com/schambers", - "contributions": [ - "code" - ] - }, - { - "login": "deniscerri", - "name": "deniscerri", - "avatar_url": "https://avatars.githubusercontent.com/u/64997243?v=4", - "profile": "https://github.com/deniscerri", - "contributions": [ - "translation" - ] - }, - { - "login": "tomgacz", - "name": "tomgacz", - "avatar_url": "https://avatars.githubusercontent.com/u/14138209?v=4", - "profile": "https://github.com/tomgacz", - "contributions": [ - "translation" - ] - }, - { - "login": "Andersborrits", - "name": "Andersborrits", - "avatar_url": "https://avatars.githubusercontent.com/u/29452218?v=4", - "profile": "https://github.com/Andersborrits", - "contributions": [ - "translation" - ] - }, - { - "login": "Maxentr", - "name": "Maxent", - "avatar_url": "https://avatars.githubusercontent.com/u/67283154?v=4", - "profile": "http://maxentrouault.fr", - "contributions": [ - "translation" - ] - }, { "login": "sambartik", "name": "Samuel Bartík", @@ -676,238 +80,221 @@ ] }, { - "login": "frank-cywong", - "name": "Chun Yeung Wong", - "avatar_url": "https://avatars.githubusercontent.com/u/90653148?v=4", - "profile": "https://github.com/frank-cywong", + "login": "CyferShepard", + "name": "Thegan Govender", + "avatar_url": "https://avatars.githubusercontent.com/u/24864904?v=4", + "profile": "https://github.com/CyferShepard", "contributions": [ "code" ] }, { - "login": "TheMeanCanEHdian", - "name": "TheMeanCanEHdian", - "avatar_url": "https://avatars.githubusercontent.com/u/16025103?v=4", - "profile": "https://github.com/TheMeanCanEHdian", - "contributions": [ - "code" - ] - }, - { - "login": "Gylesie", - "name": "Gylesie", - "avatar_url": "https://avatars.githubusercontent.com/u/86306812?v=4", - "profile": "https://github.com/Gylesie", - "contributions": [ - "code" - ] - }, - { - "login": "Fhd-pro", - "name": "Fhd-pro", - "avatar_url": "https://avatars.githubusercontent.com/u/82862079?v=4", - "profile": "https://github.com/Fhd-pro", - "contributions": [ - "translation" - ] - }, - { - "login": "PovilasID", - "name": "PovilasID", - "avatar_url": "https://avatars.githubusercontent.com/u/396243?v=4", - "profile": "https://github.com/PovilasID", - "contributions": [ - "translation" - ] - }, - { - "login": "byakurau", - "name": "byakurau", - "avatar_url": "https://avatars.githubusercontent.com/u/1811683?v=4", - "profile": "https://github.com/byakurau", - "contributions": [ - "translation" - ] - }, - { - "login": "miknii", - "name": "miknii", - "avatar_url": "https://avatars.githubusercontent.com/u/109232569?v=4", - "profile": "https://github.com/miknii", - "contributions": [ - "translation" - ] - }, - { - "login": "Eclipseop", - "name": "Mackenzie", - "avatar_url": "https://avatars.githubusercontent.com/u/5846213?v=4", - "profile": "https://github.com/Eclipseop", - "contributions": [ - "code" - ] - }, - { - "login": "s0up4200", - "name": "soup", - "avatar_url": "https://avatars.githubusercontent.com/u/18177310?v=4", - "profile": "https://github.com/s0up4200", + "login": "jab416171", + "name": "jab416171", + "avatar_url": "https://avatars.githubusercontent.com/u/345752?v=4", + "profile": "https://github.com/jab416171", "contributions": [ "doc" ] }, { - "login": "ceptonit", - "name": "ceptonit", - "avatar_url": "https://avatars.githubusercontent.com/u/12678743?v=4", - "profile": "https://github.com/ceptonit", + "login": "NicolaiVdS", + "name": "Nicolai Van der Storm", + "avatar_url": "https://avatars.githubusercontent.com/u/5257222?v=4", + "profile": "https://nvds.be", + "contributions": [ + "code" + ] + }, + { + "login": "Smexhy", + "name": "Smexhy", + "avatar_url": "https://avatars.githubusercontent.com/u/4880625?v=4", + "profile": "https://github.com/Smexhy", + "contributions": [ + "translation" + ] + }, + { + "login": "dd060606", + "name": "dd060606", + "avatar_url": "https://avatars.githubusercontent.com/u/58089504?v=4", + "profile": "https://dd06-dev.fr", + "contributions": [ + "code" + ] + }, + { + "login": "darmiel", + "name": "Daniel", + "avatar_url": "https://avatars.githubusercontent.com/u/71837281?v=4", + "profile": "https://qwer.tz", + "contributions": [ + "code" + ] + }, + { + "login": "undone37", + "name": "undone37", + "avatar_url": "https://avatars.githubusercontent.com/u/10513808?v=4", + "profile": "https://github.com/undone37", + "contributions": [ + "translation" + ] + }, + { + "login": "CheChu10", + "name": "Chechu García", + "avatar_url": "https://avatars.githubusercontent.com/u/32913133?v=4", + "profile": "https://github.com/CheChu10", + "contributions": [ + "translation" + ] + }, + { + "login": "DimitriDR", + "name": "Dimitri", + "avatar_url": "https://avatars.githubusercontent.com/u/56969769?v=4", + "profile": "https://github.com/DimitriDR", + "contributions": [ + "translation" + ] + }, + { + "login": "andrey4korop", + "name": "andrey4korop", + "avatar_url": "https://avatars.githubusercontent.com/u/24610708?v=4", + "profile": "https://github.com/andrey4korop", + "contributions": [ + "code", + "translation" + ] + }, + { + "login": "GeoffreyCoulaud", + "name": "Geoffrey Coulaud", + "avatar_url": "https://avatars.githubusercontent.com/u/20744730?v=4", + "profile": "https://geoffrey-coulaud.fr", + "contributions": [ + "translation" + ] + }, + { + "login": "Pikachu920", + "name": "Pikachu920", + "avatar_url": "https://avatars.githubusercontent.com/u/28607612?v=4", + "profile": "https://github.com/Pikachu920", + "contributions": [ + "code" + ] + }, + { + "login": "yalagin", + "name": "Maxim Yalagin", + "avatar_url": "https://avatars.githubusercontent.com/u/12879142?v=4", + "profile": "https://github.com/yalagin", + "contributions": [ + "code" + ] + }, + { + "login": "jeaboswell", + "name": "Jesse Boswell", + "avatar_url": "https://avatars.githubusercontent.com/u/11653068?v=4", + "profile": "https://github.com/jeaboswell", + "contributions": [ + "code" + ] + }, + { + "login": "d-fendrich", + "name": "d-fendrich", + "avatar_url": "https://avatars.githubusercontent.com/u/27904138?v=4", + "profile": "https://github.com/d-fendrich", + "contributions": [ + "translation" + ] + }, + { + "login": "davidfdezalcoba", + "name": "David Fernández Alcoba", + "avatar_url": "https://avatars.githubusercontent.com/u/15996018?v=4", + "profile": "https://github.com/davidfdezalcoba", + "contributions": [ + "code" + ] + }, + { + "login": "Gauvino", + "name": "Gauvino", + "avatar_url": "https://avatars.githubusercontent.com/u/68083474?v=4", + "profile": "https://github.com/Gauvino", + "contributions": [ + "translation" + ] + }, + { + "login": "EthanArmbrust", + "name": "EthanArmbrust", + "avatar_url": "https://avatars.githubusercontent.com/u/22754714?v=4", + "profile": "https://github.com/EthanArmbrust", + "contributions": [ + "code" + ] + }, + { + "login": "SirMartin", + "name": "Eduardo", + "avatar_url": "https://avatars.githubusercontent.com/u/854646?v=4", + "profile": "http://www.piribisoft.com", "contributions": [ "doc" ] }, { - "login": "aedelbro", - "name": "aedelbro", - "avatar_url": "https://avatars.githubusercontent.com/u/36162221?v=4", - "profile": "https://github.com/aedelbro", + "login": "RickLuiken", + "name": "RickLuiken", + "avatar_url": "https://avatars.githubusercontent.com/u/34110371?v=4", + "profile": "https://github.com/RickLuiken", "contributions": [ "code" ] }, { - "login": "lunks", - "name": "Pedro Nascimento", - "avatar_url": "https://avatars.githubusercontent.com/u/91118?v=4", - "profile": "http://twitter.com/lunks/", + "login": "Br33ce", + "name": "Br33ce", + "avatar_url": "https://avatars.githubusercontent.com/u/124933490?v=4", + "profile": "https://github.com/Br33ce", "contributions": [ - "code" + "translation" ] }, { - "login": "owenvoke", - "name": "Owen Voke", - "avatar_url": "https://avatars.githubusercontent.com/u/1899334?v=4", - "profile": "https://voke.dev", + "login": "athphane", + "name": "Athfan Khaleel", + "avatar_url": "https://avatars.githubusercontent.com/u/13810742?v=4", + "profile": "https://athfan.com", "contributions": [ - "code" + "doc" ] }, { - "login": "Nimelrian", - "name": "Sebastian K", - "avatar_url": "https://avatars.githubusercontent.com/u/8960836?v=4", - "profile": "https://github.com/Nimelrian", + "login": "mdll23", + "name": "Michael Dallinger", + "avatar_url": "https://avatars.githubusercontent.com/u/142844478?v=4", + "profile": "https://github.com/mdll23", "contributions": [ - "code" + "translation" ] }, { - "login": "jariz", - "name": "jariz", - "avatar_url": "https://avatars.githubusercontent.com/u/1415847?v=4", - "profile": "https://github.com/jariz", + "login": "xeruf", + "name": "Janek", + "avatar_url": "https://avatars.githubusercontent.com/u/13354331?v=4", + "profile": "https://github.com/xeruf", "contributions": [ - "code" - ] - }, - { - "login": "Alexays", - "name": "Alex", - "avatar_url": "https://avatars.githubusercontent.com/u/13947260?v=4", - "profile": "https://arouillard.fr", - "contributions": [ - "code" - ] - }, - { - "login": "Zebebles", - "name": "Zeb Muller", - "avatar_url": "https://avatars.githubusercontent.com/u/11425451?v=4", - "profile": "https://github.com/Zebebles", - "contributions": [ - "code" - ] - }, - { - "login": "SMores", - "name": "Shane Friedman", - "avatar_url": "https://avatars.githubusercontent.com/u/5354254?v=4", - "profile": "http://smoores.dev", - "contributions": [ - "code" - ] - }, - { - "login": "IzaacJ", - "name": "Izaac Brånn", - "avatar_url": "https://avatars.githubusercontent.com/u/711323?v=4", - "profile": "https://izaacj.me", - "contributions": [ - "code" - ] - }, - { - "login": "SalmanTariq", - "name": "Salman Tariq", - "avatar_url": "https://avatars.githubusercontent.com/u/13284494?v=4", - "profile": "https://github.com/SalmanTariq", - "contributions": [ - "code" - ] - }, - { - "login": "andrew-kennedy", - "name": "Andrew Kennedy", - "avatar_url": "https://avatars.githubusercontent.com/u/2387159?v=4", - "profile": "https://github.com/andrew-kennedy", - "contributions": [ - "code" - ] - }, - { - "login": "Fallenbagel", - "name": "Fallenbagel", - "avatar_url": "https://avatars.githubusercontent.com/u/98979876?v=4", - "profile": "https://github.com/Fallenbagel", - "contributions": [ - "code" - ] - }, - { - "login": "scorp200", - "name": "Anton K. (ai Doge)", - "avatar_url": "https://avatars.githubusercontent.com/u/9427639?v=4", - "profile": "http://aidoge.xyz", - "contributions": [ - "code" - ] - }, - { - "login": "marcofaggian", - "name": "Marco Faggian", - "avatar_url": "https://avatars.githubusercontent.com/u/19221001?v=4", - "profile": "https://marcofaggian.com", - "contributions": [ - "code" - ] - }, - { - "login": "nemchik", - "name": "Eric Nemchik", - "avatar_url": "https://avatars.githubusercontent.com/u/725456?v=4", - "profile": "http://nemchik.com/", - "contributions": [ - "code" + "doc" ] } - ], - "badgeTemplate": "\"All-orange.svg\"/>", - "contributorsPerLine": 7, - "projectName": "overseerr", - "projectOwner": "sct", - "repoType": "github", - "repoHost": "https://github.com", - "skipCi": false, - "commitConvention": "angular", - "commitType": "docs" + ] } diff --git a/.gitattributes b/.gitattributes index 2883a5d2..eb5d2314 100644 --- a/.gitattributes +++ b/.gitattributes @@ -24,3 +24,24 @@ *.woff binary *.pyc binary *.pdf binary + +# +## Theses files/directories should be excluded from git archives +# + +.husky export-ignore +.vscode export-ignore +docs export-ignore + +.git* export-ignore +*ignore export-ignore +*.md export-ignore + +.all-contributorsrc export-ignore +.editorconfig export-ignore +Dockerfile.local export-ignore +docker-compose.yml export-ignore +stylelint.config.js export-ignore + +public/os_logo_filled.png export-ignore +public/preview.jpg export-ignore diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 6b2dc700..0189cafb 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,2 +1 @@ -github: [sct] -patreon: overseerr +github: [Fallenbagel] \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 9bfffb24..a98da750 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -19,7 +19,7 @@ body: id: version attributes: label: Version - description: What version of Overseerr are you running? (You can find this in Settings → About → Version.) + description: What version of Jellyseerr are you running? (You can find this in Settings → About → Version.) validations: required: true - type: textarea @@ -87,5 +87,5 @@ body: label: Code of Conduct description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/fallenbagel/jellyseerr/blob/develop/CODE_OF_CONDUCT.md) options: - - label: I agree to follow Overseerr's Code of Conduct + - label: I agree to follow Jellyseerr's Code of Conduct required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 13a68495..3cce2bb4 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,7 +2,7 @@ blank_issues_enabled: false contact_links: - name: 💬 Support via Discord url: https://discord.gg/ckbvBtDJgC - about: Chat with other users and the Overseerr dev team + about: Chat with other users and the Jellyseerr dev team - name: 💬 Support via GitHub Discussions url: https://github.com/fallenbagel/jellyseerr/discussions about: Ask questions and discuss with other community members diff --git a/.github/ISSUE_TEMPLATE/enhancement.yml b/.github/ISSUE_TEMPLATE/enhancement.yml index aee47359..35a7adbd 100644 --- a/.github/ISSUE_TEMPLATE/enhancement.yml +++ b/.github/ISSUE_TEMPLATE/enhancement.yml @@ -33,5 +33,5 @@ body: label: Code of Conduct description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/fallenbagel/jellyseerr/blob/develop/CODE_OF_CONDUCT.md) options: - - label: I agree to follow Overseerr's Code of Conduct + - label: I agree to follow Jellyseerr's Code of Conduct required: true diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..9734a65a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,94 @@ +name: Jellyseerr CI + +on: + pull_request: + branches: + - '*' + push: + branches: + - develop + +jobs: + test: + name: Lint & Test Build + if: github.event_name == 'pull_request' + runs-on: ubuntu-22.04 + container: node:18.18-alpine + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Install dependencies + env: + HUSKY: 0 + run: yarn + - name: Lint + run: yarn lint + - name: Formatting + run: yarn format:check + - name: Build + run: yarn build + + build_and_push: + name: Build & Publish Docker Images + if: github.ref == 'refs/heads/develop' && !contains(github.event.head_commit.message, '[skip ci]') + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + - name: Log in to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Set lower case owner name + run: | + echo "OWNER_LC=${OWNER,,}" >>${GITHUB_ENV} + env: + OWNER: ${{ github.repository_owner }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + file: ./Dockerfile + platforms: linux/amd64,linux/arm64,linux/arm/v7 + push: true + build-args: | + COMMIT_TAG=${{ github.sha }} + tags: | + fallenbagel/jellyseerr:develop + ghcr.io/${{ env.OWNER_LC }}/jellyseerr:develop + + discord: + name: Send Discord Notification + needs: build_and_push + if: always() && github.event_name != 'pull_request' && !contains(github.event.head_commit.message, '[skip ci]') + runs-on: ubuntu-22.04 + steps: + - name: Get Build Job Status + uses: technote-space/workflow-conclusion-action@v3 + - name: Combine Job Status + id: status + run: | + failures=(neutral, skipped, timed_out, action_required) + if [[ ${array[@]} =~ $WORKFLOW_CONCLUSION ]]; then + echo "status=failure" >> $GITHUB_OUTPUT + else + echo "status=$WORKFLOW_CONCLUSION" >> $GITHUB_OUTPUT + fi + - name: Post Status to Discord + uses: sarisia/actions-status-discord@v1 + with: + webhook: ${{ secrets.DISCORD_WEBHOOK }} + status: ${{ steps.status.outputs.status }} + title: ${{ github.workflow }} + nofail: true diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 2d1a29cf..fa71c294 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -1,32 +1,29 @@ -name: Jellyseerr PostgreSQL Preview +name: Jellyseerr Preview on: push: - branches: - - 'v1.7.0/postgresql' + tags: + - 'preview-*' jobs: - build_and_push: - name: Build & Publish Docker Image + name: Build & Publish Docker Preview Images runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v3 - + - name: Get the version + id: get_version + run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT - name: Set up QEMU uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - - name: Log in to GitHub Container Registry + - name: Log in to Docker Hub uses: docker/login-action@v2 with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} - name: Build and push uses: docker/build-push-action@v3 with: @@ -37,4 +34,4 @@ jobs: build-args: | COMMIT_TAG=${{ github.sha }} tags: | - ghcr.io/${{ github.repository_owner }}/jellyseerr-pgsql:v1.7.0-preview + fallenbagel/jellyseerr:${{ steps.get_version.outputs.VERSION }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..449b3e74 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,116 @@ +name: Jellyseer Release + +on: workflow_dispatch + +jobs: + semantic-release: + name: Tag and release latest version + runs-on: ubuntu-22.04 + env: + HUSKY: 0 + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: 16 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + - name: Install dependencies + run: yarn + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + run: npx semantic-release + + build-snap: + name: Build Snap Package (${{ matrix.architecture }}) + needs: semantic-release + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + architecture: + - amd64 + - arm64 + - armhf + steps: + - name: Checkout Code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Switch to main branch + run: git checkout main + - name: Pull latest changes + run: git pull + - name: Prepare + id: prepare + run: | + git fetch --prune --tags + if [[ $GITHUB_REF == refs/tags/* || $GITHUB_REF == refs/heads/master ]]; then + echo "RELEASE=stable" >> $GITHUB_OUTPUT + else + echo "RELEASE=edge" >> $GITHUB_OUTPUT + fi + - name: Set Up QEMU + uses: docker/setup-qemu-action@v1 + with: + image: tonistiigi/binfmt@sha256:df15403e06a03c2f461c1f7938b171fda34a5849eb63a70e2a2109ed5a778bde + - name: Build Snap Package + uses: diddlesnaps/snapcraft-multiarch-action@v1 + id: build + with: + architecture: ${{ matrix.architecture }} + - name: Upload Snap Package + uses: actions/upload-artifact@v2 + with: + name: jellyseerr-snap-package-${{ matrix.architecture }} + path: ${{ steps.build.outputs.snap }} + - name: Review Snap Package + uses: diddlesnaps/snapcraft-review-tools-action@v1 + with: + snap: ${{ steps.build.outputs.snap }} + - name: Publish Snap Package + uses: snapcore/action-publish@v1 + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_LOGIN }} + with: + snap: ${{ steps.build.outputs.snap }} + release: ${{ steps.prepare.outputs.RELEASE }} + + discord: + name: Send Discord Notification + needs: semantic-release + if: always() + runs-on: ubuntu-22.04 + steps: + - name: Get Build Job Status + uses: technote-space/workflow-conclusion-action@v3 + - name: Combine Job Status + id: status + run: | + failures=(neutral, skipped, timed_out, action_required) + if [[ ${array[@]} =~ $WORKFLOW_CONCLUSION ]]; then + echo "status=failure" >> $GITHUB_OUTPUT + else + echo "status=$WORKFLOW_CONCLUSION" >> $GITHUB_OUTPUT + fi + - name: Post Status to Discord + uses: sarisia/actions-status-discord@v1 + with: + webhook: ${{ secrets.DISCORD_WEBHOOK }} + status: ${{ steps.status.outputs.status }} + title: ${{ github.workflow }} + nofail: true diff --git a/.github/workflows/snap.yaml b/.github/workflows/snap.yaml new file mode 100644 index 00000000..0aaa9a65 --- /dev/null +++ b/.github/workflows/snap.yaml @@ -0,0 +1,91 @@ +name: Publish Snap + +on: + push: + branches: + - develop + +jobs: + jobs: + name: Job Check + runs-on: ubuntu-22.04 + if: "!contains(github.event.head_commit.message, '[skip ci]')" + steps: + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.10.0 + with: + access_token: ${{ secrets.GITHUB_TOKEN }} + + build-snap: + name: Build Snap Package (${{ matrix.architecture }}) + needs: jobs + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + architecture: + - amd64 + - arm64 + - armhf + steps: + - name: Checkout Code + uses: actions/checkout@v3 + - name: Prepare + id: prepare + run: | + git fetch --prune --unshallow --tags + if [[ $GITHUB_REF == refs/tags/* || $GITHUB_REF == refs/heads/master ]]; then + echo "RELEASE=stable" >> $GITHUB_OUTPUT + else + echo "RELEASE=edge" >> $GITHUB_OUTPUT + fi + - name: Set Up QEMU + uses: docker/setup-qemu-action@v2 + - name: Configure Git + run: git config --add safe.directory /data/parts/jellyseerr/src + - name: Build Snap Package + uses: diddlesnaps/snapcraft-multiarch-action@v1 + id: build + with: + architecture: ${{ matrix.architecture }} + - name: Upload Snap Package + uses: actions/upload-artifact@v3 + with: + name: jellyseerr-snap-package-${{ matrix.architecture }} + path: ${{ steps.build.outputs.snap }} + - name: Review Snap Package + uses: diddlesnaps/snapcraft-review-tools-action@v1 + with: + snap: ${{ steps.build.outputs.snap }} + - name: Publish Snap Package + uses: snapcore/action-publish@v1 + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_LOGIN }} + with: + snap: ${{ steps.build.outputs.snap }} + release: ${{ steps.prepare.outputs.RELEASE }} + + discord: + name: Send Discord Notification + needs: build-snap + if: always() && !contains(github.event.head_commit.message, '[skip ci]') + runs-on: ubuntu-22.04 + steps: + - name: Get Build Job Status + uses: technote-space/workflow-conclusion-action@v3 + - name: Combine Job Status + id: status + run: | + failures=(neutral, skipped, timed_out, action_required) + if [[ ${array[@]} =~ $WORKFLOW_CONCLUSION ]]; then + echo "status=failure" >> $GITHUB_OUTPUT + else + echo "status=$WORKFLOW_CONCLUSION" >> $GITHUB_OUTPUT + fi + - name: Post Status to Discord + uses: sarisia/actions-status-discord@v1 + with: + webhook: ${{ secrets.DISCORD_WEBHOOK }} + status: ${{ steps.status.outputs.status }} + title: ${{ github.workflow }} + nofail: true diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 96e67c8a..5b403206 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -# Contributing to Overseerr +# Contributing to Jellyseerr All help is welcome and greatly appreciated! If you would like to contribute to the project, the following instructions should get you started... @@ -17,7 +17,7 @@ All help is welcome and greatly appreciated! If you would like to contribute to 1. [Fork](https://help.github.com/articles/fork-a-repo/) the repository to your own GitHub account and [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device: ```bash - git clone https://github.com/YOUR_USERNAME/overseerr.git + git clone https://github.com/YOUR_USERNAME/jellyseerr.git cd overseerr/ ``` @@ -97,9 +97,9 @@ When adding new UI text, please try to adhere to the following guidelines: ## Translation -We use [Weblate](https://hosted.weblate.org/engage/overseerr/) for our translations, and your help with localizing Overseerr would be greatly appreciated! If your language is not listed below, please [open a feature request](https://github.com/fallenbagel/jellyseerr/issues/new/choose). +We use [Weblate](https://jellyseerr.borgcube.de/projects/jellyseerr/jellyseerr-frontend/) for our translations, and your help with localizing Overseerr would be greatly appreciated! If your language is not listed below, please [open a feature request](https://github.com/fallenbagel/jellyseerr/issues/new/choose). -Translation status +Translation status ## Attribution diff --git a/Dockerfile b/Dockerfile index 851ba472..270155ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.17-alpine AS BUILD_IMAGE +FROM node:18.18-alpine AS BUILD_IMAGE WORKDIR /app @@ -7,10 +7,11 @@ ENV TARGETPLATFORM=${TARGETPLATFORM:-linux/amd64} RUN \ case "${TARGETPLATFORM}" in \ - 'linux/arm64' | 'linux/arm/v7') \ - apk add --no-cache python3 make g++ && \ - ln -s /usr/bin/python3 /usr/bin/python \ - ;; \ + 'linux/arm64' | 'linux/arm/v7') \ + apk update && \ + apk add --no-cache python3 make g++ gcc libc6-compat bash && \ + yarn global add node-gyp \ + ;; \ esac COPY package.json yarn.lock ./ @@ -33,7 +34,10 @@ RUN touch config/DOCKER RUN echo "{\"commitTag\": \"${COMMIT_TAG}\"}" > committag.json -FROM node:16.17-alpine +FROM node:18.18-alpine + +# Metadata for Github Package Registry +LABEL org.opencontainers.image.source="https://github.com/Fallenbagel/jellyseerr" WORKDIR /app diff --git a/Dockerfile.local b/Dockerfile.local index 39e0534f..7efa68b5 100644 --- a/Dockerfile.local +++ b/Dockerfile.local @@ -1,4 +1,4 @@ -FROM node:16.17-alpine +FROM node:18.18-alpine COPY . /app WORKDIR /app diff --git a/README.md b/README.md index 86f20ca0..257d1489 100644 --- a/README.md +++ b/README.md @@ -2,23 +2,28 @@ Jellyseerr

-Discord +Jellyseerr Release +Jellyseerr CI +

+

+Discord Docker pulls +Translation status GitHub -All Contributors +All Contributors -**Jellyseerr** is a free and open source software application for managing requests for your media library. It is a a fork of Overseerr built to bring support for Jellyfin & Emby media servers! +**Jellyseerr** is a free and open source software application for managing requests for your media library. +It is a a fork of [Overseerr](https://github.com/sct/overseerr) built to bring support for [Jellyfin](https://github.com/jellyfin/jellyfin) & [Emby](https://github.com/MediaBrowser/Emby) media servers! _The original Overseerr team have been busy and Jellyfin/Emby support aren't on their roadmap, so we started this project as we wanted to bring the Overseerr experience to the Jellyfin/Emby Community!_ ## Current Features -- Full Jellyfin/Emby/Plex integration. Authenticate and manage user access with Jellyfin/Emby/Plex! -- Supports Movies, Shows, Mixed Libraries! +- Full Jellyfin/Emby/Plex integration including authentication with user import & management +- Supports Movies, Shows and Mixed Libraries - Ability to change email addresses for smtp purposes -- Ability to import all jellyfin/emby users - Easy integration with your existing services. Currently, Jellyseerr supports Sonarr and Radarr. More to come! - Jellyfin/Emby/Plex library scan, to keep track of the titles which are already available. - Customizable request system, which allows users to request individual seasons or movies in a friendly, easy-to-use interface. @@ -27,7 +32,7 @@ _The original Overseerr team have been busy and Jellyfin/Emby support aren't on - Support for various notification agents. - Mobile-friendly design, for when you need to approve requests on the go! - (Upcoming Features include: Multiple Server Instances, Music Support, and much more!) + (Upcoming Features include: Multiple Server Instances, and much more!) With more features on the way! Check out our [issue tracker](https://github.com/fallenbagel/jellyseerr/issues) to see the features which have already been requested. @@ -37,68 +42,69 @@ With more features on the way! Check out our [issue tracker](https://github.com/ _*On Jellyfin/Emby, ensure the `settings > Home > Automatically group content from the following folders into views such as 'Movies', 'Music' and 'TV'` is turned off*_ -### Launching Jellyseerr using Docker +### Launching Jellyseerr using Docker (Recommended) Check out our dockerhub for instructions on how to install and run Jellyseerr: https://hub.docker.com/r/fallenbagel/jellyseerr -### Launching Jellyseerr manually: +### Building from source (ADVANCED): #### Windows Pre-requisites: -- Nodejs (atleast LTS version) -- Yarn -- Download the source code from the github (Either develop branch or main for stable) +- Nodejs [v18](https://nodejs.org/download/release/v18.18.2) +- [Yarn](https://classic.yarnpkg.com/lang/en/docs/install) +- Download/git clone the source code from the github (Either develop branch or main for stable) -```bash +```cmd npm i -g win-node-env -yarn install +set CYPRESS_INSTALL_BINARY=0 +yarn install --frozen-lockfile --network-timeout 1000000 yarn run build yarn start ``` +(you can use task scheduler to run a bat script with `@echo off` and `yarn start` to run jellyseerr in the background) + +_to set env variables such as `JELLYFIN_TYPE=emby` create a file called `.env` in the root directory of jellyseerr_ + #### Linux -Pre-requisites: +**Pre-requisites:** -- Nodejs (atleast LTS version) -- Yarn +- Nodejs [v18](https://nodejs.org/en/download/package-manager) +- [Yarn](https://classic.yarnpkg.com/lang/en/docs/install) (on debian based distros, the package manager provided `yarn` is different and is a package called cmdlet. You can remove that using `apt-remove cmdlet` then install yarn using `npm install -g yarn`) - Git +**Steps:** + +1. Assuming you want the root folder for the jellyseerr source code to be cloned to `/opt` + +```bash +cd /opt +``` + +2. Then clone the follow commands to clone and checkout to the stable version + ```bash git clone https://github.com/Fallenbagel/jellyseerr.git && cd jellyseerr -git checkout main #if you want to run stable instead of develop -yarn install -yarn run build -yarn start +git checkout main ``` -_Systemd-service:_ +3. Then install the dependencies and build the dist + +```bash +CYPRESS_INSTALL_BINARY=0 yarn install --frozen-lockfile --network-timeout 1000000 +yarn run build +``` + +4. Now you can start jellyseerr using `yarn start` and opening http://localhost:5055 in your browser. + +5. If you want to run jellyseerr as a _Systemd-service:_ - assuming jellyseerr was cloned to `/opt/` - and the environmentfile is located at `/etc/jellyseerr` - -service: - -``` -[Unit] -Description=Jellyseerr Service -Wants=network-online.target -After=network-online.target - -[Service] -EnvironmentFile=/etc/jellyseerr/jellyseerr.conf -Environment=NODE_ENV=production -Type=exec -Restart=on-failure -WorkingDirectory=/opt/jellyseerr -ExecStart=/root/.nvm/versions/node/v18.7.0/bin/node dist/index.js - -[Install] -WantedBy=multi-user.target -``` +- first create the environmentfile at `/etc/jellyseerr/jellyseerr.conf` Environmentfile: @@ -114,9 +120,34 @@ PORT=5055 # JELLYFIN_TYPE=emby ``` +- Then run the command `which node` to find your node path (assuming it's at `/usr/bin/node`) +- Then create the service file using `sudo systemctl edit jellyseerr.service` or creating and editing a file at `/etc/systemd/system/jellyseerr.service` + +Service file contents: + +``` +[Unit] +Description=Jellyseerr Service +Wants=network-online.target +After=network-online.target + +[Service] +EnvironmentFile=/etc/jellyseerr/jellyseerr.conf +Environment=NODE_ENV=production +Type=exec +Restart=on-failure +WorkingDirectory=/opt/jellyseerr +ExecStart=/usr/bin/node dist/index.js + +[Install] +WantedBy=multi-user.target +``` + ### Packages: Archlinux: [AUR](https://aur.archlinux.org/packages/jellyseerr) +Nixpkg: [Nixpkg](https://search.nixos.org/packages?channel=unstable&show=jellyseerr) +Snap: [Snap](https://snapcraft.io/jellyseerr) ## Preview @@ -146,4 +177,196 @@ You can help improve Jellyseerr too! Check out our [Contribution Guide](https:// ## Contributors ✨ -Thanks goes to all wonderful people who contributed directly to Jellyseerr and Overseerr. +Thanks goes to these wonderful people from Overseerr ([emoji key](https://allcontributors.org/docs/en/emoji-key)) and all those that contributed directly to Jellyseerr: + +### Jellyseerr Contributors ✨ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Fallenbagel
Fallenbagel

💻 🚧
Sean
Sean

🌍 💻
notfakie
notfakie

💻
Mohamed Jumail
Mohamed Jumail

👀
Shilong Jiang
Shilong Jiang

💻
Boring Dragon
Boring Dragon

💻
Samuel Bartík
Samuel Bartík

💻
Thegan Govender
Thegan Govender

💻
jab416171
jab416171

📖
Nicolai Van der Storm
Nicolai Van der Storm

💻
Smexhy
Smexhy

🌍
dd060606
dd060606

💻
Daniel
Daniel

💻
undone37
undone37

🌍
Chechu García
Chechu García

🌍
Dimitri
Dimitri

🌍
andrey4korop
andrey4korop

💻 🌍
Geoffrey Coulaud
Geoffrey Coulaud

🌍
Pikachu920
Pikachu920

💻
Maxim Yalagin
Maxim Yalagin

💻
Jesse Boswell
Jesse Boswell

💻
d-fendrich
d-fendrich

🌍
David Fernández Alcoba
David Fernández Alcoba

💻
Gauvino
Gauvino

🌍
EthanArmbrust
EthanArmbrust

💻
Eduardo
Eduardo

📖
RickLuiken
RickLuiken

💻
Br33ce
Br33ce

🌍
Athfan Khaleel
Athfan Khaleel

📖
Michael Dallinger
Michael Dallinger

🌍
Janek
Janek

📖
+ + + + + + +### Overseerr Contributors ✨ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sct
sct

💻 🎨 🤔
Alex Zoitos
Alex Zoitos

💻
Brandon Cohen
Brandon Cohen

💻 📖
Ahreluth
Ahreluth

🌍
KovalevArtem
KovalevArtem

🌍
GiyomuWeb
GiyomuWeb

🌍
Angry Cuban
Angry Cuban

📖
jvennik
jvennik

🌍
darknessgp
darknessgp

💻
salty
salty

🚇
Shutruk
Shutruk

🌍
Krystian Charubin
Krystian Charubin

🎨
Kieron Boswell
Kieron Boswell

💻
samwiseg0
samwiseg0

💬 🚇
ecelebi29
ecelebi29

💻 📖
Mārtiņš Možeiko
Mārtiņš Možeiko

💻
mazzetta86
mazzetta86

🌍
Paul Hagedorn
Paul Hagedorn

🌍
Shagon94
Shagon94

🌍
sebstrgg
sebstrgg

🌍
Danshil Mungur
Danshil Mungur

💻 📖
doob187
doob187

🚇
johnpyp
johnpyp

💻
Jakob Ankarhem
Jakob Ankarhem

📖 💻 🌍
Jayesh
Jayesh

💻
flying-sausages
flying-sausages

📖
hirenshah
hirenshah

📖
TheCatLady
TheCatLady

💻 🌍 📖
Chris Pritchard
Chris Pritchard

💻 📖
Tamberlox
Tamberlox

🌍
David
David

💻
Douglas Parker
Douglas Parker

📖
Daniel Carter
Daniel Carter

💻
nuro
nuro

📖
ᗪєνιη ᗷυнʟ
ᗪєνιη ᗷυнʟ

🚇
JonnyWong16
JonnyWong16

📖
Roxedus
Roxedus

📖
WoisWoi
WoisWoi

🌍
HubDuck
HubDuck

🌍 📖
costaht
costaht

📖 🌍
Shjosan
Shjosan

🌍
kobaubarr
kobaubarr

🌍
Ricardo González
Ricardo González

🌍
Torkil
Torkil

🌍
Jagandeep Brar
Jagandeep Brar

📖
dtalens
dtalens

🌍
Alex Cortelyou
Alex Cortelyou

💻
Jono Cairns
Jono Cairns

💻
DJScias
DJScias

🌍
Dabu-dot
Dabu-dot

🌍
Jabster28
Jabster28

💻
littlerooster
littlerooster

🌍
Dustin Hildebrandt
Dustin Hildebrandt

💻
Bruno Guerreiro
Bruno Guerreiro

🌍
Alexander Neuhäuser
Alexander Neuhäuser

🌍
Livio
Livio

🎨
tangentThought
tangentThought

💻
Nicolás Espinoza
Nicolás Espinoza

💻
sootylunatic
sootylunatic

🌍
JoKerIsCraZy
JoKerIsCraZy

🌍
Daddie0
Daddie0

🌍
Simone
Simone

🌍
Seohyun Joo
Seohyun Joo

🌍
Sergey
Sergey

🌍
Shaaft
Shaaft

🌍
sr093906
sr093906

🌍
Nackophilz
Nackophilz

🌍
Sean Chambers
Sean Chambers

💻
deniscerri
deniscerri

🌍
tomgacz
tomgacz

🌍
Andersborrits
Andersborrits

🌍
Maxent
Maxent

🌍
Samuel Bartík
Samuel Bartík

💻
Chun Yeung Wong
Chun Yeung Wong

💻
TheMeanCanEHdian
TheMeanCanEHdian

💻
Gylesie
Gylesie

💻
Fhd-pro
Fhd-pro

🌍
PovilasID
PovilasID

🌍
byakurau
byakurau

🌍
miknii
miknii

🌍
Mackenzie
Mackenzie

💻
soup
soup

📖
ceptonit
ceptonit

📖
aedelbro
aedelbro

💻
Pedro Nascimento
Pedro Nascimento

💻
Owen Voke
Owen Voke

💻
Sebastian K
Sebastian K

💻
jariz
jariz

💻
Alex
Alex

💻
Zeb Muller
Zeb Muller

💻
Shane Friedman
Shane Friedman

💻
Izaac Brånn
Izaac Brånn

💻
Salman Tariq
Salman Tariq

💻
Andrew Kennedy
Andrew Kennedy

💻
Fallenbagel
Fallenbagel

🪼⌨️ 💻
Anton K. (ai Doge)
Anton K. (ai Doge)

💻
Marco Faggian
Marco Faggian

💻
Eric Nemchik
Eric Nemchik

💻
RemiRigal
RemiRigal

💻
diff --git a/cypress/config/settings.cypress.json b/cypress/config/settings.cypress.json index bb7b661b..7a4bbef5 100644 --- a/cypress/config/settings.cypress.json +++ b/cypress/config/settings.cypress.json @@ -3,147 +3,147 @@ "vapidPrivate": "tmnslaO8ZWN6bNbSEv_rolPeBTlNxOwCCAHrM9oZz3M", "vapidPublic": "BK_EpP8NDm9waor2zn6_S28o3ZYv4kCkJOfYpO3pt3W6jnPmxrgTLANUBNbbyaNatPnSQ12De9CeqSYQrqWzHTs", "main": { - "apiKey": "testkey", - "applicationTitle": "Overseerr", - "applicationUrl": "", - "csrfProtection": false, - "cacheImages": false, - "defaultPermissions": 32, - "defaultQuotas": { - "movie": {}, - "tv": {} - }, - "hideAvailable": false, - "localLogin": true, - "newPlexLogin": true, - "region": "", - "originalLanguage": "", - "trustProxy": false, - "partialRequestsEnabled": true, - "locale": "en" + "apiKey": "testkey", + "applicationTitle": "Overseerr", + "applicationUrl": "", + "csrfProtection": false, + "cacheImages": false, + "defaultPermissions": 32, + "defaultQuotas": { + "movie": {}, + "tv": {} + }, + "hideAvailable": false, + "localLogin": true, + "newPlexLogin": true, + "region": "", + "originalLanguage": "", + "trustProxy": false, + "partialRequestsEnabled": true, + "locale": "en" }, "plex": { - "name": "Seerr", - "ip": "192.168.1.1", - "port": 32400, - "useSsl": false, - "libraries": [ - { - "id": "1", - "name": "Movies", - "enabled": true, - "type": "movie" - } - ], - "machineId": "test" + "name": "Seerr", + "ip": "192.168.1.1", + "port": 32400, + "useSsl": false, + "libraries": [ + { + "id": "1", + "name": "Movies", + "enabled": true, + "type": "movie" + } + ], + "machineId": "test" }, "tautulli": {}, "radarr": [], "sonarr": [], "public": { - "initialized": true + "initialized": true }, "notifications": { - "agents": { - "email": { - "enabled": false, - "options": { - "emailFrom": "", - "smtpHost": "", - "smtpPort": 587, - "secure": false, - "ignoreTls": false, - "requireTls": false, - "allowSelfSigned": false, - "senderName": "Overseerr" - } - }, - "discord": { - "enabled": false, - "types": 0, - "options": { - "webhookUrl": "", - "enableMentions": true - } - }, - "lunasea": { - "enabled": false, - "types": 0, - "options": { - "webhookUrl": "" - } - }, - "slack": { - "enabled": false, - "types": 0, - "options": { - "webhookUrl": "" - } - }, - "telegram": { - "enabled": false, - "types": 0, - "options": { - "botAPI": "", - "chatId": "", - "sendSilently": false - } - }, - "pushbullet": { - "enabled": false, - "types": 0, - "options": { - "accessToken": "" - } - }, - "pushover": { - "enabled": false, - "types": 0, - "options": { - "accessToken": "", - "userToken": "" - } - }, - "webhook": { - "enabled": false, - "types": 0, - "options": { - "webhookUrl": "", - "jsonPayload": "IntcbiAgICBcIm5vdGlmaWNhdGlvbl90eXBlXCI6IFwie3tub3RpZmljYXRpb25fdHlwZX19XCIsXG4gICAgXCJldmVudFwiOiBcInt7ZXZlbnR9fVwiLFxuICAgIFwic3ViamVjdFwiOiBcInt7c3ViamVjdH19XCIsXG4gICAgXCJtZXNzYWdlXCI6IFwie3ttZXNzYWdlfX1cIixcbiAgICBcImltYWdlXCI6IFwie3tpbWFnZX19XCIsXG4gICAgXCJ7e21lZGlhfX1cIjoge1xuICAgICAgICBcIm1lZGlhX3R5cGVcIjogXCJ7e21lZGlhX3R5cGV9fVwiLFxuICAgICAgICBcInRtZGJJZFwiOiBcInt7bWVkaWFfdG1kYmlkfX1cIixcbiAgICAgICAgXCJ0dmRiSWRcIjogXCJ7e21lZGlhX3R2ZGJpZH19XCIsXG4gICAgICAgIFwic3RhdHVzXCI6IFwie3ttZWRpYV9zdGF0dXN9fVwiLFxuICAgICAgICBcInN0YXR1czRrXCI6IFwie3ttZWRpYV9zdGF0dXM0a319XCJcbiAgICB9LFxuICAgIFwie3tyZXF1ZXN0fX1cIjoge1xuICAgICAgICBcInJlcXVlc3RfaWRcIjogXCJ7e3JlcXVlc3RfaWR9fVwiLFxuICAgICAgICBcInJlcXVlc3RlZEJ5X2VtYWlsXCI6IFwie3tyZXF1ZXN0ZWRCeV9lbWFpbH19XCIsXG4gICAgICAgIFwicmVxdWVzdGVkQnlfdXNlcm5hbWVcIjogXCJ7e3JlcXVlc3RlZEJ5X3VzZXJuYW1lfX1cIixcbiAgICAgICAgXCJyZXF1ZXN0ZWRCeV9hdmF0YXJcIjogXCJ7e3JlcXVlc3RlZEJ5X2F2YXRhcn19XCJcbiAgICB9LFxuICAgIFwie3tpc3N1ZX19XCI6IHtcbiAgICAgICAgXCJpc3N1ZV9pZFwiOiBcInt7aXNzdWVfaWR9fVwiLFxuICAgICAgICBcImlzc3VlX3R5cGVcIjogXCJ7e2lzc3VlX3R5cGV9fVwiLFxuICAgICAgICBcImlzc3VlX3N0YXR1c1wiOiBcInt7aXNzdWVfc3RhdHVzfX1cIixcbiAgICAgICAgXCJyZXBvcnRlZEJ5X2VtYWlsXCI6IFwie3tyZXBvcnRlZEJ5X2VtYWlsfX1cIixcbiAgICAgICAgXCJyZXBvcnRlZEJ5X3VzZXJuYW1lXCI6IFwie3tyZXBvcnRlZEJ5X3VzZXJuYW1lfX1cIixcbiAgICAgICAgXCJyZXBvcnRlZEJ5X2F2YXRhclwiOiBcInt7cmVwb3J0ZWRCeV9hdmF0YXJ9fVwiXG4gICAgfSxcbiAgICBcInt7Y29tbWVudH19XCI6IHtcbiAgICAgICAgXCJjb21tZW50X21lc3NhZ2VcIjogXCJ7e2NvbW1lbnRfbWVzc2FnZX19XCIsXG4gICAgICAgIFwiY29tbWVudGVkQnlfZW1haWxcIjogXCJ7e2NvbW1lbnRlZEJ5X2VtYWlsfX1cIixcbiAgICAgICAgXCJjb21tZW50ZWRCeV91c2VybmFtZVwiOiBcInt7Y29tbWVudGVkQnlfdXNlcm5hbWV9fVwiLFxuICAgICAgICBcImNvbW1lbnRlZEJ5X2F2YXRhclwiOiBcInt7Y29tbWVudGVkQnlfYXZhdGFyfX1cIlxuICAgIH0sXG4gICAgXCJ7e2V4dHJhfX1cIjogW11cbn0i" - } - }, - "webpush": { - "enabled": false, - "options": {} - }, - "gotify": { - "enabled": false, - "types": 0, - "options": { - "url": "", - "token": "" - } + "agents": { + "email": { + "enabled": false, + "options": { + "emailFrom": "", + "smtpHost": "", + "smtpPort": 587, + "secure": false, + "ignoreTls": false, + "requireTls": false, + "allowSelfSigned": false, + "senderName": "Overseerr" + } + }, + "discord": { + "enabled": false, + "types": 0, + "options": { + "webhookUrl": "", + "enableMentions": true + } + }, + "lunasea": { + "enabled": false, + "types": 0, + "options": { + "webhookUrl": "" + } + }, + "slack": { + "enabled": false, + "types": 0, + "options": { + "webhookUrl": "" + } + }, + "telegram": { + "enabled": false, + "types": 0, + "options": { + "botAPI": "", + "chatId": "", + "sendSilently": false + } + }, + "pushbullet": { + "enabled": false, + "types": 0, + "options": { + "accessToken": "" + } + }, + "pushover": { + "enabled": false, + "types": 0, + "options": { + "accessToken": "", + "userToken": "" + } + }, + "webhook": { + "enabled": false, + "types": 0, + "options": { + "webhookUrl": "", + "jsonPayload": "IntcbiAgICBcIm5vdGlmaWNhdGlvbl90eXBlXCI6IFwie3tub3RpZmljYXRpb25fdHlwZX19XCIsXG4gICAgXCJldmVudFwiOiBcInt7ZXZlbnR9fVwiLFxuICAgIFwic3ViamVjdFwiOiBcInt7c3ViamVjdH19XCIsXG4gICAgXCJtZXNzYWdlXCI6IFwie3ttZXNzYWdlfX1cIixcbiAgICBcImltYWdlXCI6IFwie3tpbWFnZX19XCIsXG4gICAgXCJ7e21lZGlhfX1cIjoge1xuICAgICAgICBcIm1lZGlhX3R5cGVcIjogXCJ7e21lZGlhX3R5cGV9fVwiLFxuICAgICAgICBcInRtZGJJZFwiOiBcInt7bWVkaWFfdG1kYmlkfX1cIixcbiAgICAgICAgXCJ0dmRiSWRcIjogXCJ7e21lZGlhX3R2ZGJpZH19XCIsXG4gICAgICAgIFwic3RhdHVzXCI6IFwie3ttZWRpYV9zdGF0dXN9fVwiLFxuICAgICAgICBcInN0YXR1czRrXCI6IFwie3ttZWRpYV9zdGF0dXM0a319XCJcbiAgICB9LFxuICAgIFwie3tyZXF1ZXN0fX1cIjoge1xuICAgICAgICBcInJlcXVlc3RfaWRcIjogXCJ7e3JlcXVlc3RfaWR9fVwiLFxuICAgICAgICBcInJlcXVlc3RlZEJ5X2VtYWlsXCI6IFwie3tyZXF1ZXN0ZWRCeV9lbWFpbH19XCIsXG4gICAgICAgIFwicmVxdWVzdGVkQnlfdXNlcm5hbWVcIjogXCJ7e3JlcXVlc3RlZEJ5X3VzZXJuYW1lfX1cIixcbiAgICAgICAgXCJyZXF1ZXN0ZWRCeV9hdmF0YXJcIjogXCJ7e3JlcXVlc3RlZEJ5X2F2YXRhcn19XCJcbiAgICB9LFxuICAgIFwie3tpc3N1ZX19XCI6IHtcbiAgICAgICAgXCJpc3N1ZV9pZFwiOiBcInt7aXNzdWVfaWR9fVwiLFxuICAgICAgICBcImlzc3VlX3R5cGVcIjogXCJ7e2lzc3VlX3R5cGV9fVwiLFxuICAgICAgICBcImlzc3VlX3N0YXR1c1wiOiBcInt7aXNzdWVfc3RhdHVzfX1cIixcbiAgICAgICAgXCJyZXBvcnRlZEJ5X2VtYWlsXCI6IFwie3tyZXBvcnRlZEJ5X2VtYWlsfX1cIixcbiAgICAgICAgXCJyZXBvcnRlZEJ5X3VzZXJuYW1lXCI6IFwie3tyZXBvcnRlZEJ5X3VzZXJuYW1lfX1cIixcbiAgICAgICAgXCJyZXBvcnRlZEJ5X2F2YXRhclwiOiBcInt7cmVwb3J0ZWRCeV9hdmF0YXJ9fVwiXG4gICAgfSxcbiAgICBcInt7Y29tbWVudH19XCI6IHtcbiAgICAgICAgXCJjb21tZW50X21lc3NhZ2VcIjogXCJ7e2NvbW1lbnRfbWVzc2FnZX19XCIsXG4gICAgICAgIFwiY29tbWVudGVkQnlfZW1haWxcIjogXCJ7e2NvbW1lbnRlZEJ5X2VtYWlsfX1cIixcbiAgICAgICAgXCJjb21tZW50ZWRCeV91c2VybmFtZVwiOiBcInt7Y29tbWVudGVkQnlfdXNlcm5hbWV9fVwiLFxuICAgICAgICBcImNvbW1lbnRlZEJ5X2F2YXRhclwiOiBcInt7Y29tbWVudGVkQnlfYXZhdGFyfX1cIlxuICAgIH0sXG4gICAgXCJ7e2V4dHJhfX1cIjogW11cbn0i" + } + }, + "webpush": { + "enabled": false, + "options": {} + }, + "gotify": { + "enabled": false, + "types": 0, + "options": { + "url": "", + "token": "" + } + } } - } }, "jobs": { - "plex-recently-added-scan": { - "schedule": "0 */5 * * * *" - }, - "plex-full-scan": { - "schedule": "0 0 3 * * *" - }, - "radarr-scan": { - "schedule": "0 0 4 * * *" - }, - "sonarr-scan": { - "schedule": "0 30 4 * * *" - }, - "download-sync": { - "schedule": "0 * * * * *" - }, - "download-sync-reset": { - "schedule": "0 0 1 * * *" - } + "plex-recently-added-scan": { + "schedule": "0 */5 * * * *" + }, + "plex-full-scan": { + "schedule": "0 0 3 * * *" + }, + "radarr-scan": { + "schedule": "0 0 4 * * *" + }, + "sonarr-scan": { + "schedule": "0 30 4 * * *" + }, + "download-sync": { + "schedule": "0 * * * * *" + }, + "download-sync-reset": { + "schedule": "0 0 1 * * *" + } } - } +} diff --git a/docker-compose.yml b/docker-compose.yml index 835bbf29..91b76e1e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ version: '3' services: - overseerr: + jellyseerr: build: context: . dockerfile: Dockerfile.local diff --git a/overseerr-api.yml b/overseerr-api.yml index b712d7c8..7a7ea490 100644 --- a/overseerr-api.yml +++ b/overseerr-api.yml @@ -368,6 +368,9 @@ components: externalHostname: type: string example: 'http://my.jellyfin.host' + jellyfinForgotPasswordUrl: + type: string + example: 'http://my.jellyfin.host/web/index.html#!/forgotpassword.html' adminUser: type: string example: 'admin' @@ -1351,6 +1354,8 @@ components: type: string userToken: type: string + sound: + type: string GotifySettings: type: object properties: @@ -1786,6 +1791,9 @@ components: pushoverUserKey: type: string nullable: true + pushoverSound: + type: string + nullable: true telegramEnabled: type: boolean telegramBotUsername: @@ -3083,6 +3091,33 @@ paths: responses: '204': description: Test notification attempted + /settings/notifications/pushover/sounds: + get: + summary: Get Pushover sounds + description: Returns valid Pushover sound options in a JSON array. + tags: + - settings + parameters: + - in: query + name: token + required: true + schema: + type: string + nullable: false + responses: + '200': + description: Returned Pushover settings + content: + application/json: + schema: + type: array + items: + type: object + properties: + name: + type: string + description: + type: string /settings/notifications/gotify: get: summary: Get Gotify notification settings diff --git a/public/offline.html b/public/offline.html index 732782ee..da4ba235 100644 --- a/public/offline.html +++ b/public/offline.html @@ -17,7 +17,7 @@ } h1 { - color: #6366F1; + color: #6366f1; } p { @@ -37,7 +37,7 @@