Merge branch 'Dictionarry-Hub:stable' into sardinask

This commit is contained in:
nils_kiefer 2025-03-19 13:46:12 +02:00 committed by GitHub
commit d40c18d0a3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
35 changed files with 552 additions and 329 deletions

View File

@ -363,15 +363,15 @@
},
{
"name": "Not WEB-DL",
"type": "source",
"required": true,
"negate": true,
"source": "web_dl"
"required": true,
"source": "web_dl",
"type": "source"
},
{
"name": "c0ke",
"name": "c0kE",
"negate": false,
"pattern": "(?<=^|[\\s.-])c0ke\\b",
"pattern": "(?<=^|[\\s.-])c0kE\\b",
"required": false,
"type": "release_group"
},
@ -1681,7 +1681,7 @@
{
"name": "whiterhino",
"negate": false,
"pattern": "(?<=^|[\\s.-])whiterhino\\b",
"pattern": "(?<=^|[\\s.-])WhiteRhino\\b",
"required": false,
"type": "release_group"
},
@ -1755,13 +1755,6 @@
"required": false,
"type": "release_group"
},
{
"name": "spectacle",
"negate": false,
"pattern": "(?<=^|[\\s.-])spectacle\\b",
"required": false,
"type": "release_group"
},
{
"name": "HD77",
"negate": false,
@ -1867,13 +1860,6 @@
"required": false,
"type": "release_group"
},
{
"name": "guhzer",
"negate": false,
"pattern": "(?<=^|[\\s.-])guhzer\\b",
"required": false,
"type": "release_group"
},
{
"name": "GUHZER",
"negate": false,
@ -1936,20 +1922,6 @@
"required": false,
"type": "release_group"
},
{
"name": "threesome",
"negate": false,
"pattern": "(?<=^|[\\s.-])threesome\\b",
"required": false,
"type": "release_group"
},
{
"name": "Blzt",
"negate": false,
"pattern": "(?<=^|[\\s.-])Blzt\\b",
"required": false,
"type": "release_group"
},
{
"name": "LittleBakas",
"negate": false,
@ -2006,13 +1978,6 @@
"required": false,
"type": "release_group"
},
{
"name": "invandraren",
"negate": false,
"pattern": "(?<=^|[\\s.-])invandraren\\b",
"required": false,
"type": "release_group"
},
{
"name": "dkore",
"negate": false,
@ -2026,6 +1991,13 @@
"pattern": "(?<=^|[\\s.-])Lucifer\\b",
"required": false,
"type": "release_group"
},
{
"name": "THREESOME",
"type": "release_group",
"required": false,
"negate": false,
"pattern": "(?<=^|[\\s.-])THREESOME\\b"
}
],
"tests": [],
@ -6163,7 +6135,7 @@
{
"name": "TBB",
"negate": false,
"pattern": "(?<=^|[\\s.-])c0ke\\b",
"pattern": "(?<=^|[\\s.-])TBB\\b",
"required": false,
"type": "release_group"
},
@ -7429,7 +7401,7 @@
{
"name": "SM737",
"negate": false,
"pattern": "SM737",
"pattern": "(?<=^|[\\s.-])SM737\\b",
"required": false,
"type": "release_title"
}

File diff suppressed because one or more lines are too long

View File

@ -1297,16 +1297,6 @@
"tests": null,
"_id": "BlzT"
},
{
"name": "Blzt",
"pattern": "(?<=^|[\\s.-])Blzt\\b",
"description": "",
"tags": [
"Release Group"
],
"tests": null,
"_id": "Blzt"
},
{
"name": "Bracketed Year",
"pattern": "\\[\\d{4}\\]",
@ -1464,9 +1454,9 @@
"_id": "Chotab"
},
{
"name": "Colour",
"name": "Colourisation",
"pattern": "\\bcolou?r(i[sz]ed?|ed)?\\b",
"description": "- Matches `colour`, `coloured`, `colourize`, `colourized`.\n- Handles both American (\"color\") and British (\"colour\") spellings.",
"description": "Colourisation (or colorization in American English) is the process of adding colour to black-and-white, sepia, or other monochrome images. Matches variations of `color` in both American and British spellings, including:\n\n- **Base forms:** `color`, `colour`\n- **Past tense/adjective forms:** `colored`, `coloured`\n- **Verb forms:** `colorize`, `colourize`, `colorise`, `colourise`\n- **Past participles:** `colorized`, `coloured`, `colourized`, `colourised`",
"tags": [
"Colour Grade",
"Enhancement"
@ -1476,7 +1466,7 @@
"expected": true,
"id": 1,
"input": "colour",
"lastRun": "2025-02-13T13:29:13.301346",
"lastRun": "2025-02-22T19:10:06.067266",
"matchSpan": {
"end": 6,
"start": 0
@ -1491,7 +1481,7 @@
"expected": true,
"id": 3,
"input": "coloured",
"lastRun": "2025-02-13T13:29:13.301346",
"lastRun": "2025-02-22T19:10:06.067266",
"matchSpan": {
"end": 8,
"start": 0
@ -1505,30 +1495,30 @@
{
"expected": true,
"id": 4,
"input": "colourize",
"lastRun": "2025-02-13T13:29:13.301346",
"input": "colourise",
"lastRun": "2025-02-22T19:10:06.067266",
"matchSpan": {
"end": 9,
"start": 0
},
"matchedContent": "colourize",
"matchedContent": "colourise",
"matchedGroups": [
"ize"
"ise"
],
"passes": true
},
{
"expected": true,
"id": 7,
"input": "colourized",
"lastRun": "2025-02-13T13:29:13.301346",
"input": "colourised",
"lastRun": "2025-02-22T19:10:06.067266",
"matchSpan": {
"end": 10,
"start": 0
},
"matchedContent": "colourized",
"matchedContent": "colourised",
"matchedGroups": [
"ized"
"ised"
],
"passes": true
},
@ -1536,7 +1526,7 @@
"expected": true,
"id": 8,
"input": "colored",
"lastRun": "2025-02-13T13:29:13.301346",
"lastRun": "2025-02-22T19:10:06.067266",
"matchSpan": {
"end": 7,
"start": 0
@ -1551,14 +1541,14 @@
"expected": false,
"id": 9,
"input": "discolor",
"lastRun": "2025-02-13T13:29:13.301346",
"lastRun": "2025-02-22T19:10:06.067266",
"matchSpan": null,
"matchedContent": null,
"matchedGroups": [],
"passes": true
}
],
"_id": "Colour"
"_id": "Colourisation"
},
{
"name": "Criterion Channel",
@ -3691,6 +3681,17 @@
"tests": [],
"_id": "KASHMiR"
},
{
"name": "KCW",
"pattern": "\\b(KCW|Kocowa)\\b",
"description": "Kocowa is an American over-the-top streaming service headquartered in Los Angeles as a joint venture between the top three Korean broadcast networks to provide Korean entertainment including K-dramas, K-reality, K-variety, and K-pop to the Americas and all with multi-language subtitles.",
"tags": [
"Streaming Service",
"WEB-DL",
"WEBRip"
],
"_id": "KCW"
},
{
"name": "KNiVES",
"pattern": "(?<=^|[\\s.-])KNiVES\\b",
@ -5292,7 +5293,7 @@
},
{
"name": "SM737",
"pattern": "SM737",
"pattern": "(?<=^|[\\s.-])SM737\\b",
"description": "",
"tags": [
"Release Group"
@ -5974,7 +5975,7 @@
"tags": [
"Release Group"
],
"tests": null,
"tests": [],
"_id": "THREESOME"
},
{
@ -5997,6 +5998,17 @@
"tests": null,
"_id": "TUSAHD"
},
{
"name": "TVING",
"pattern": "\\b(TVING)\\b",
"description": "TVING is a South Korean subscription video on-demand over-the-top streaming service operated by TVING Corporation, a joint venture made of CJ ENM Entertainment Division, Naver and JTBC by its JTBC Studios, now called SLL.",
"tags": [
"Streaming Service",
"WEB-DL",
"WEBRip"
],
"_id": "TVING"
},
{
"name": "TayTo",
"pattern": "(?<=^|[\\s.-])TayTo\\b",
@ -6465,6 +6477,28 @@
"tests": [],
"_id": "VietHD"
},
{
"name": "Viki",
"pattern": "\\b(Viki)\\b",
"description": "Rakuten Viki is an American over-the-top subscription video on-demand streaming service. It streams videos similar to other services, but also allows users to subtitle content available in 200 languages as well as providing original programming.",
"tags": [
"Streaming Service",
"WEB-DL",
"WEBRip"
],
"_id": "Viki"
},
{
"name": "Viu",
"pattern": "\\b(Viu)\\b",
"description": "Viu is a Hong Kong-based over-the-top video on demand streaming service from PCCW Media Group's Viu International Ltd. Viu delivers content in different genres from Asia's top content providers with local language subtitles",
"tags": [
"Streaming Service",
"WEB-DL",
"WEBRip"
],
"_id": "Viu"
},
{
"name": "W4NK3R",
"pattern": "(?<=^|[\\s.-])W4NK3R\\b",
@ -6505,6 +6539,28 @@
"tests": null,
"_id": "WOU"
},
{
"name": "Wavve",
"pattern": "\\b(Wavve)\\b",
"description": "Wavve is an online streaming platform, that was first launched on September 18, 2019. The company was founded as a joint venture between SK Telecom and South Korea's three terrestrial broadcasters KBS, MBC, SBS.",
"tags": [
"Streaming Service",
"WEB-DL",
"WEBRip"
],
"_id": "Wavve"
},
{
"name": "WeTV",
"pattern": "\\b(WeTV)\\b",
"description": "Tencent Video also called WeTV outside of China, is a Chinese video streaming website owned by Tencent. The website was launched in April 2011, and is one of China's largest online video platforms",
"tags": [
"Streaming Service",
"WEB-DL",
"WEBRip"
],
"_id": "WeTV"
},
{
"name": "WhiteRhino",
"pattern": "(?<=^|[\\s.-])WhiteRhino\\b",
@ -6512,7 +6568,7 @@
"tags": [
"Release Group"
],
"tests": null,
"tests": [],
"_id": "WhiteRhino"
},
{
@ -6602,16 +6658,6 @@
"tests": [],
"_id": "ZoroSenpai"
},
{
"name": "aviator",
"pattern": "(?<=^|[\\s.-])aviator\\b",
"description": "",
"tags": [
"Release Group"
],
"tests": null,
"_id": "aviator"
},
{
"name": "b0mbardiers",
"pattern": "(?<=^|[\\s.-])b0mbardiers\\b",
@ -6642,16 +6688,6 @@
"tests": null,
"_id": "c0kE"
},
{
"name": "c0ke",
"pattern": "(?<=^|[\\s.-])c0ke\\b",
"description": "",
"tags": [
"Release Group"
],
"tests": [],
"_id": "c0ke"
},
{
"name": "d3g-d3g",
"pattern": "(?<=^|[\\s.-])d3g-d3g\\b",
@ -6722,16 +6758,6 @@
"tests": null,
"_id": "edge2020"
},
{
"name": "guhzer",
"pattern": "(?<=^|[\\s.-])guhzer\\b",
"description": "",
"tags": [
"Release Group"
],
"tests": null,
"_id": "guhzer"
},
{
"name": "h265 WEB Groups",
"pattern": "(?<=^|[\\s.-])SiGLA\\b",
@ -6946,6 +6972,17 @@
],
"_id": "iPT Internals"
},
{
"name": "iQIYI",
"pattern": "\\b(iQIYI)\\b",
"description": "iQIYI is a Chinese subscription video on-demand over-the-top streaming service owned by Baidu. Headquartered in Beijing, iQIYI primarily produces and distributes films and television series.",
"tags": [
"Streaming Service",
"WEB-DL",
"WEBRip"
],
"_id": "iQIYI"
},
{
"name": "iTunes",
"pattern": "\\b(it|itunes)\\b(?=[ ._-]web[ ._-]?(dl|rip)\\b)",
@ -7027,16 +7064,6 @@
],
"_id": "iTunes"
},
{
"name": "invandraren",
"pattern": "(?<=^|[\\s.-])invandraren\\b",
"description": "",
"tags": [
"Release Group"
],
"tests": null,
"_id": "invandraren"
},
{
"name": "k00kie",
"pattern": "(?<=^|[\\s.-])k00kie\\b",
@ -7154,36 +7181,6 @@
"tests": [],
"_id": "rttr"
},
{
"name": "spectacle",
"pattern": "(?<=^|[\\s.-])spectacle\\b",
"description": "",
"tags": [
"Release Group"
],
"tests": null,
"_id": "spectacle"
},
{
"name": "threesome",
"pattern": "(?<=^|[\\s.-])threesome\\b",
"description": "",
"tags": [
"Release Group"
],
"tests": null,
"_id": "threesome"
},
{
"name": "whiterhino",
"pattern": "(?<=^|[\\s.-])whiterhino\\b",
"description": "",
"tags": [
"Release Group"
],
"tests": null,
"_id": "whiterhino"
},
{
"name": "x264",
"pattern": "^(?!.*(?i:remux)).*([xh](\\.?264)|DVDRip)",

View File

@ -1,5 +1,5 @@
{
"updated_at": "2025-03-08T15:00:14.815906+00:00",
"updated_at": "2025-03-18T21:31:07.028502+00:00",
"folders": [
"custom_formats",
"profiles",

File diff suppressed because one or more lines are too long

View File

@ -12,13 +12,13 @@ conditions:
resolution: 1080p
type: resolution
- name: Not WEB-DL
type: source
required: true
negate: true
required: true
source: web_dl
- name: c0ke
type: source
- name: c0kE
negate: false
pattern: c0ke
pattern: c0kE
required: false
type: release_group
- name: CtrlHD

View File

@ -82,7 +82,7 @@ conditions:
type: release_group
- name: whiterhino
negate: false
pattern: whiterhino
pattern: WhiteRhino
required: false
type: release_group
- name: ReaLHD
@ -135,11 +135,6 @@ conditions:
pattern: SPECTACLE
required: false
type: release_group
- name: spectacle
negate: false
pattern: spectacle
required: false
type: release_group
- name: HD77
negate: false
pattern: HD77
@ -215,11 +210,6 @@ conditions:
pattern: AAAUHD
required: false
type: release_group
- name: guhzer
negate: false
pattern: guhzer
required: false
type: release_group
- name: GUHZER
negate: false
pattern: GUHZER

View File

@ -25,16 +25,6 @@ conditions:
pattern: BOREDOR
required: false
type: release_group
- name: threesome
negate: false
pattern: threesome
required: false
type: release_group
- name: Blzt
negate: false
pattern: Blzt
required: false
type: release_group
- name: LittleBakas
negate: false
pattern: LittleBakas
@ -75,11 +65,6 @@ conditions:
pattern: UHDCLUBREMUX
required: false
type: release_group
- name: invandraren
negate: false
pattern: invandraren
required: false
type: release_group
- name: dkore
negate: false
pattern: dkore
@ -90,4 +75,9 @@ conditions:
pattern: Lucifer
required: false
type: release_group
- name: THREESOME
type: release_group
required: false
negate: false
pattern: THREESOME
tests: []

View File

@ -12,7 +12,7 @@ conditions:
type: release_title
- name: Colour
negate: true
pattern: Colour
pattern: Colourisation
required: true
type: release_title
tests:

View File

@ -13,7 +13,7 @@ conditions:
type: source
- name: TBB
negate: false
pattern: c0ke
pattern: TBB
required: false
type: release_group
- name: Dariush

View File

@ -412,7 +412,7 @@
},
{
"tier": 5,
"name": "whiterhino",
"name": "WhiteRhino",
"score": 45,
"efficiency": 41.0,
"releases": 74,
@ -653,15 +653,6 @@
"std_dev": 0.0,
"efficiency_delta": 27.0
},
{
"tier": 5,
"name": "guhzer",
"score": 8.99,
"efficiency": 41.0,
"releases": 1,
"std_dev": 0,
"efficiency_delta": 14.000000000000007
},
{
"tier": 5,
"name": "GUHZER",
@ -709,7 +700,7 @@
},
{
"tier": 6,
"name": "threesome",
"name": "THREESOME",
"score": 5.03,
"efficiency": 38.0,
"releases": 1,

View File

@ -1,6 +0,0 @@
name: Blzt
pattern: (?<=^|[\s.-])Blzt\b
description: ''
tags:
- Release Group
tests: null

View File

@ -1,72 +0,0 @@
name: Colour
pattern: \bcolou?r(i[sz]ed?|ed)?\b
description: '- Matches `colour`, `coloured`, `colourize`, `colourized`.
- Handles both American ("color") and British ("colour") spellings.'
tags:
- Colour Grade
- Enhancement
tests:
- expected: true
id: 1
input: colour
lastRun: '2025-02-13T13:29:13.301346'
matchSpan:
end: 6
start: 0
matchedContent: colour
matchedGroups:
- null
passes: true
- expected: true
id: 3
input: coloured
lastRun: '2025-02-13T13:29:13.301346'
matchSpan:
end: 8
start: 0
matchedContent: coloured
matchedGroups:
- ed
passes: true
- expected: true
id: 4
input: colourize
lastRun: '2025-02-13T13:29:13.301346'
matchSpan:
end: 9
start: 0
matchedContent: colourize
matchedGroups:
- ize
passes: true
- expected: true
id: 7
input: colourized
lastRun: '2025-02-13T13:29:13.301346'
matchSpan:
end: 10
start: 0
matchedContent: colourized
matchedGroups:
- ized
passes: true
- expected: true
id: 8
input: colored
lastRun: '2025-02-13T13:29:13.301346'
matchSpan:
end: 7
start: 0
matchedContent: colored
matchedGroups:
- ed
passes: true
- expected: false
id: 9
input: discolor
lastRun: '2025-02-13T13:29:13.301346'
matchSpan: null
matchedContent: null
matchedGroups: []
passes: true

View File

@ -0,0 +1,81 @@
name: Colourisation
pattern: \bcolou?r(i[sz]ed?|ed)?\b
description: 'Colourisation (or colorization in American English) is the process of
adding colour to black-and-white, sepia, or other monochrome images. Matches variations
of `color` in both American and British spellings, including:
- **Base forms:** `color`, `colour`
- **Past tense/adjective forms:** `colored`, `coloured`
- **Verb forms:** `colorize`, `colourize`, `colorise`, `colourise`
- **Past participles:** `colorized`, `coloured`, `colourized`, `colourised`'
tags:
- Colour Grade
- Enhancement
tests:
- expected: true
id: 1
input: colour
lastRun: '2025-02-22T19:10:06.067266'
matchSpan:
end: 6
start: 0
matchedContent: colour
matchedGroups:
- null
passes: true
- expected: true
id: 3
input: coloured
lastRun: '2025-02-22T19:10:06.067266'
matchSpan:
end: 8
start: 0
matchedContent: coloured
matchedGroups:
- ed
passes: true
- expected: true
id: 4
input: colourise
lastRun: '2025-02-22T19:10:06.067266'
matchSpan:
end: 9
start: 0
matchedContent: colourise
matchedGroups:
- ise
passes: true
- expected: true
id: 7
input: colourised
lastRun: '2025-02-22T19:10:06.067266'
matchSpan:
end: 10
start: 0
matchedContent: colourised
matchedGroups:
- ised
passes: true
- expected: true
id: 8
input: colored
lastRun: '2025-02-22T19:10:06.067266'
matchSpan:
end: 7
start: 0
matchedContent: colored
matchedGroups:
- ed
passes: true
- expected: false
id: 9
input: discolor
lastRun: '2025-02-22T19:10:06.067266'
matchSpan: null
matchedContent: null
matchedGroups: []
passes: true

7
regex_patterns/KCW.yml Normal file
View File

@ -0,0 +1,7 @@
name: KCW
pattern: \b(KCW|Kocowa)\b
description: Kocowa is an American over-the-top streaming service headquartered in Los Angeles as a joint venture between the top three Korean broadcast networks to provide Korean entertainment including K-dramas, K-reality, K-variety, and K-pop to the Americas and all with multi-language subtitles.
tags:
- Streaming Service
- WEB-DL
- WEBRip

View File

@ -1,5 +1,5 @@
name: SM737
pattern: SM737
pattern: (?<=^|[\s.-])SM737\b
description: ''
tags:
- Release Group

View File

@ -3,4 +3,4 @@ pattern: (?<=^|[\s.-])THREESOME\b
description: ''
tags:
- Release Group
tests: null
tests: []

7
regex_patterns/TVING.yml Normal file
View File

@ -0,0 +1,7 @@
name: TVING
pattern: \b(TVING)\b
description: TVING is a South Korean subscription video on-demand over-the-top streaming service operated by TVING Corporation, a joint venture made of CJ ENM Entertainment Division, Naver and JTBC by its JTBC Studios, now called SLL.
tags:
- Streaming Service
- WEB-DL
- WEBRip

7
regex_patterns/Viki.yml Normal file
View File

@ -0,0 +1,7 @@
name: Viki
pattern: \b(Viki)\b
description: Rakuten Viki is an American over-the-top subscription video on-demand streaming service. It streams videos similar to other services, but also allows users to subtitle content available in 200 languages as well as providing original programming.
tags:
- Streaming Service
- WEB-DL
- WEBRip

7
regex_patterns/Viu.yml Normal file
View File

@ -0,0 +1,7 @@
name: Viu
pattern: \b(Viu)\b
description: Viu is a Hong Kong-based over-the-top video on demand streaming service from PCCW Media Group's Viu International Ltd. Viu delivers content in different genres from Asia's top content providers with local language subtitles
tags:
- Streaming Service
- WEB-DL
- WEBRip

7
regex_patterns/Wavve.yml Normal file
View File

@ -0,0 +1,7 @@
name: Wavve
pattern: \b(Wavve)\b
description: Wavve is an online streaming platform, that was first launched on September 18, 2019. The company was founded as a joint venture between SK Telecom and South Korea's three terrestrial broadcasters KBS, MBC, SBS.
tags:
- Streaming Service
- WEB-DL
- WEBRip

7
regex_patterns/WeTV.yml Normal file
View File

@ -0,0 +1,7 @@
name: WeTV
pattern: \b(WeTV)\b
description: Tencent Video also called WeTV outside of China, is a Chinese video streaming website owned by Tencent. The website was launched in April 2011, and is one of China's largest online video platforms
tags:
- Streaming Service
- WEB-DL
- WEBRip

View File

@ -3,4 +3,4 @@ pattern: (?<=^|[\s.-])WhiteRhino\b
description: ''
tags:
- Release Group
tests: null
tests: []

View File

@ -1,6 +0,0 @@
name: aviator
pattern: (?<=^|[\s.-])aviator\b
description: ''
tags:
- Release Group
tests: null

View File

@ -1,6 +0,0 @@
name: c0ke
pattern: (?<=^|[\s.-])c0ke\b
description: ''
tags:
- Release Group
tests: []

View File

@ -1,6 +0,0 @@
name: guhzer
pattern: (?<=^|[\s.-])guhzer\b
description: ''
tags:
- Release Group
tests: null

7
regex_patterns/iQIYI.yml Normal file
View File

@ -0,0 +1,7 @@
name: iQIYI
pattern: \b(iQIYI)\b
description: iQIYI is a Chinese subscription video on-demand over-the-top streaming service owned by Baidu. Headquartered in Beijing, iQIYI primarily produces and distributes films and television series.
tags:
- Streaming Service
- WEB-DL
- WEBRip

View File

@ -1,6 +0,0 @@
name: invandraren
pattern: (?<=^|[\s.-])invandraren\b
description: ''
tags:
- Release Group
tests: null

View File

@ -1,6 +0,0 @@
name: spectacle
pattern: (?<=^|[\s.-])spectacle\b
description: ''
tags:
- Release Group
tests: null

View File

@ -1,6 +0,0 @@
name: threesome
pattern: (?<=^|[\s.-])threesome\b
description: ''
tags:
- Release Group
tests: null

View File

@ -1,6 +0,0 @@
name: whiterhino
pattern: (?<=^|[\s.-])whiterhino\b
description: ''
tags:
- Release Group
tests: null

179
wiki/development.md Normal file
View File

@ -0,0 +1,179 @@
---
title: Development Setup
slug: development-setup
author: santiagosayshey
created: 2025-03-19
tags: [home, wiki, setup, install, develop]
blurb: Comprehensive guide for setting up Profilarr for database development
---
Profilarr functions as both a synchronization tool for end users and a complete development platform for developers. While most users will simply connect to existing databases to receive updates, Profilarr's development capabilities allow for creating, testing, and contributing custom media configurations back to the community through its Git integration.
## Setting Up Your Database Repository
To use Profilarr's development features, you'll need a GitHub repository for your database. You have two options:
### Option 1: Fork a PSF Database
1. Go to https://github.com/Dictionarry-Hub/database (or any other Profilarr Standard Format Database)
2. Click the "Fork" button in the top-right corner
3. Follow the prompts to complete the fork process
4. Your forked repository will now be ready to use with Profilarr
### Option 2: Create a New Database Repository
1. Click the "+" in the top-right corner and select "New repository"
2. Give your repository a name (like "profilarr-database")
3. Set visibility to public or private as needed (it needs to be public if you intend to share it)
4. Click "Create repository"
5. Clone the repository to your local machine
6. Create three folders: `custom_formats`, `regex_patterns`, and `profiles`
7. Add a `.gitkeep` file in each folder (this empty file is necessary to ensure Git tracks these folders; otherwise, they wont be included in the repository, which may cause errors in Profilarr)
8. Commit and push these changes to your repository
## Development Configuration
### Generate a GitHub Personal Access Token (PAT)
To allow Profilarr to connect and push to your remote database, you'll need to generate a GitHub Personal Access Token (PAT). This token gives Profilarr permission to access and update your GitHub repository.
1. Sign in to your GitHub account
2. Go to Settings > Developer settings > Personal access tokens
3. Click "Generate new token"
4. Choose **Fine-grained**
5. Give your token a descriptive name (e.g., "Profilarr Development")
6. Apply the following permissions:
- **Repository access:** Select your database repository
- **Permissions:** Set `contents` and `metadata` to **Read & Write**
7. Click "Generate token"
8. Copy your new token (make sure to save it somewhere safe, as you wont be able to see it again)
### Configure Your User Information
You'll also need to provide a username and email for Git. These will be associated with any commits you make to the database:
- **Username**: This will appear in commit logs and will be visible to other contributors
- **Email**: This will be used for Git commits and may be visible in public repositories
### Create an Environment File
Create a `.env` file with the following information. This is required for database contributions:
```
GIT_USER_NAME=your_username
GIT_USER_EMAIL=your_email
PROFILARR_PAT=your_github_pat
```
**Security Note:** Avoid committing `.env` files containing secrets to public repositories. If working on a shared system, store credentials in a separate `.env.local` file or configure them directly in Docker. To ensure these files are ignored by Git, add the following entry to your `.gitignore` file:
```
.env
.env.local
```
## Setup
With your credentials configured, you can now deploy Profilarr for development.
### Docker Compose (recommended)
```yaml
services:
profilarr:
image: santiagosayshey/profilarr:latest # or :beta for pre-release versions
container_name: profilarr
ports:
- 6868:6868
volumes:
- /path/to/your/data:/config
environment:
- TZ=UTC # Set your timezone
env_file:
- .env # Required for database contributions
restart: unless-stopped
```
### Docker CLI
```bash
docker run -d \
--name=profilarr \
-p 6868:6868 \
-v /path/to/your/data:/config \
-e TZ=UTC \
--env-file .env \
--restart unless-stopped \
santiagosayshey/profilarr:latest # or :beta for pre-release versions
```
### Unraid
For Unraid users, the Profilarr Community App includes placeholders for required environment variables. To enable development mode, you must replace these placeholders with your actual credentials:
- `GIT_USER_NAME`
- `GIT_USER_EMAIL`
- `PROFILARR_PAT`
## Verification
To confirm that everything is set up correctly, check the startup logs for Git user initialization. The logs should include entries similar to the following:
```
profilarr | 2025-03-18 20:08:35 - app.init - INFO - Initializing Git user
profilarr | 2025-03-18 20:08:35 - app.init - INFO - Configuring Git user
profilarr | 2025-03-18 20:08:35 - app.init - DEBUG - Retrieved Git config: Name - santiagosayshey, Email - user@example.com
profilarr | 2025-03-18 20:08:35 - app.db.queries.settings - DEBUG - PAT status verified
profilarr | 2025-03-18 20:08:35 - app.init - INFO - Git user configuration completed
profilarr | 2025-03-18 20:08:35 - app.init - INFO - Git user initialized successfully
```
## Troubleshooting
If you encounter issues with your development setup:
| Issue | Possible Solution |
| -------------------------------------------- | ----------------------------------------------------------------------------------- |
| **GitHub token not working** | Verify your PAT has `contents` and `metadata` read/write permissions |
| **Profilarr fails to access the repository** | Ensure your repository is public (or your token has access to private repositories) |
| **Git username/email not recognized** | Run `git config --global user.name` and `git config --global user.email` to verify |
| **Cannot push to repository** | Ensure your container has network access to GitHub (try `ping github.com`) |
| **Updated `.env` not applied** | Remove and recreate the container to reload environment variables |
For additional help or to contribute to Profilarr, join our community on [GitHub](https://github.com/santiagosayshey/profilarr) or [Discord](https://discord.gg/Y9TYP6jeYZ).
## Contributing to Databases
1. **Link Your Fork in Profilarr**
- Open Profilarr and navigate to the database settings.
- Enter the GitHub repository URL of your forked database.
2. **Make Changes in Profilarr**
- Use Profilarr's built-in tools to modify or add database entries.
- Profilarr will handle formatting and validation automatically.
3. **Commit and Push Changes**
- Profilarr provides actions to **revert, stage, commit, and push** changes.
- After making changes, stage them using the **Stage** button.
- Once staged, commit the changes with a commit message.
- Finally, use the **Push** button to send your changes to your GitHub fork.
- Roll back any unwanted changes using the **Revert** button.
4. **Create a Pull Request (PR)**
- Go to your fork on GitHub and navigate to the "Pull Requests" tab.
- Click "New pull request" and select your fork and branch.
- Provide a clear description of the changes and submit the PR.
- Wait for review and approval before merging.
### ⚠ Editing Databases Directly
While it's possible to edit database files manually in an IDE or on GitHub, this is not recommended unless you fully understand Profilarrs formatting and validation rules. Profilarr enforces constraints to ensure data integrity, and bypassing these safeguards can lead to:
- Corrupted or invalid files that Profilarr cannot process correctly.
- Unexpected behavior when syncing with Profilarr.
- Inconsistent formatting, leading to rejected updates.
To make modifications, it's strongly advised to use Profilarrs built-in editing tools whenever possible. If direct edits are necessary, always validate the changes in a local instance of Profilarr before pushing them to the repository.

View File

@ -67,4 +67,4 @@ Profilarr empowers you to use Dictionarry's database (or anyone elses!) as a fou
## 🔨 Development Notice
Custom Formats / Quality profiles on this site reflect the contents of the [Dictionarry Database](https://github.com/Dictionarry-Hub/database) and what the upcoming Profilarr GUI will clone / import. The old profilarr scripts still use outdated profiles / custom formats! We're currently in a bit of an inbetween state at the moment, so please bare with us as we get the new Profilarr version out!
Profilarr 1.0.0 is out now in open beta! https://dictionarry.dev/wiki/profilarr-setup

53
wiki/profilarr-casaos.md Normal file
View File

@ -0,0 +1,53 @@
---
title: Casa OS - Profilarr Installation Guide
slug: profilarr-casaos
author: lawgics
created: 2025-02-26
tags: [wiki, casaos, installation, profilarr, docker, containers]
blurb: A simple guide to install Profilarr in Casa OS as a custom app.
---
This guide will walk you through the process of installing Profilarr as a custom app in Casa OS.
## Prerequisites
- A working Casa OS installation (this guide uses v0.4.15).
- Basic knowledge of using the Casa OS interface.
- Access to [https://github.com/Dictionarry-Hub/Profilarr](https://github.com/Dictionarry-Hub/Profilarr) for install file.
## Step-by-Step Installation
1. **Add a Custom App to Casa OS:**
- Open your web browser and navigate to your Casa OS dashboard.
- Find and click on the "+" icon in the top right corner of the App section.
- Select “Install a customized app”
- Select “Import” in the top right corner of the Settings page
2. **Import Docker Compose File:**
- Navigate to [https://github.com/Dictionarry-Hub/Profilarr](https://github.com/Dictionarry-Hub/Profilarr)
- Scroll down to the “Installation” section
- You will see a **Docker Compose (recommended) **code block
- Copy the Docker Compose file code
- Navigate back to Casa OS to the Import Docker Compose page and paste the code into the empty text box
- Note: if you are not contributing to a database, delete the following section or Casa OS will throw an error that the file is missing:
- `env_file:`
- `- .env # Optional: Only needed if contributing to a database`
- Click on “Submit” and click “OK” to the warning
3. **Profilarr App Details:**
- You can leave most settings as default unless you have a specific reason to change them, like customizing to your network/system (Network, Port, Volumes, etc..) otherwise just change your Time Zone in Environmental Variables
- **Name:** “Profilarr” - but you can change it if you want
- **Icon:** (Optional) You can upload an icon for the app.
- **Web UI:** Should be your host device IP address
- **Network:** Should be bridge
- **Port:** Should be 6868 TCP
- **Volumes:** Leave this as default unless you want to change the host path to a specific location
- **Environment Variables:** (Only TZ is required, the others are optional)
- TZ = Your Timezone (e.g., America/New_York)
- GIT_USER_NAME = GitHub username for contributing
- GIT_USER_EMAIL = GitHub email for contributing
- PROFILARR_PAT = GitHub Personal Access Token for contributing
4. **Install the App:**
- Once you've filled in all the necessary details, click on the "Install" button.
5. **Wait for Installation:**
- Casa OS will now download and install the app. This might take a few minutes.
6. **Access Profilarr:**
- After installation is complete, you should be able to find Profilarr on your Casa OS dashboard. Click on it to launch the app.

View File

@ -25,7 +25,9 @@ Profilarr follows the GitFlow workflow for development:
Once installed, you can visit the web UI at `http://[address]:6868` and begin the setup process.
### Docker Compose (recommended)
### Docker
#### Docker Compose (recommended)
```yaml
services:
@ -43,7 +45,7 @@ services:
restart: unless-stopped
```
### Docker CLI
#### Docker CLI
```bash
docker run -d \
@ -56,7 +58,7 @@ docker run -d \
santiagosayshey/profilarr:latest # or :beta
```
### Volumes
#### Volumes
When configuring the volume mount (`/path/to/your/data:/config`):
@ -65,9 +67,13 @@ When configuring the volume mount (`/path/to/your/data:/config`):
- Docker volume example: `profilarr_data:/config`
- WSL filesystem example: `/home/username/docker/profilarr:/config`
### CasaOS
View lawgics' CasaOS setup guide [here:](https://dictionarry.dev/wiki/profilarr-casaos)
### Development
In addition to being a 'sync' tool for end users, Profilarr also acts as a development platform for people to work on, and contribute to, a remote database. Read [here](https://dictionarry.dev/wiki/development) to learn more on how to setup Profilarr for development.
In addition to being a 'sync' tool for end users, Profilarr also acts as a development platform for people to work on, and contribute to, a remote database. Read [here](https://dictionarry.dev/wiki/development-setup) to learn more on how to setup Profilarr for development.
## Usage