Commit
Upload readme.md
de88e5f
readme.md | 642 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 642 insertions(+)
create mode 100644 readme.md
Diff
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..02dc2f9
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,642 @@
+**Wibby Server** is a self-hosted personal video media server built for Apple Silicon Macs. It uses a Go backend, SQLite for persistence, and a React web app.
+
+The macOS version is currently stable. Planned platform support will follow in this order:
+
+1. Docker
+2. Windows
+3. Ubuntu
+
+The broader **Wibby** ecosystem is also in progress, with apps planned for:
+
+- Android TV
+- iOS, including iPhone and iPad
+- Apple TV
+- Android
+
+Apple Vision Pro support may be explored in the future.
+
+# Accepted Media Naming Formats
+
+Wibby scans supported video files recursively inside each library root.
+
+Supported video extensions:
+
+```text
+.mkv
+.mp4
+.m4v
+.avi
+.mov
+.webm
+```
+
+Ignored examples:
+
+```text
+.DS_Store
+Thumbs.db
+._filename.mkv
+sample.mkv
+```
+
+## Movies
+
+Movie libraries accept folder-based names, file-based names, and scene-style names.
+
+### Recommended movie format
+
+```text
+Movies/
+ Movie Name (Year)/
+ Movie Name (Year).mkv
+```
+
+Example:
+
+```text
+Movies/
+ Batman Begins (2005)/
+ Batman Begins (2005).mp4
+```
+
+Parsed as:
+
+```text
+Title: Batman Begins
+Year: 2005
+```
+
+### Movie file directly in the library root
+
+```text
+Movies/
+ Movie Name (Year).mkv
+```
+
+Example:
+
+```text
+Movies/
+ Inception (2010).mkv
+```
+
+Parsed as:
+
+```text
+Title: Inception
+Year: 2010
+```
+
+### Movie folder with provider ID
+
+```text
+Movies/
+ Movie Name (Year) {tmdb-ID}/
+ Movie Name (Year) {tmdb-ID}.mkv
+```
+
+Example:
+
+```text
+Movies/
+ Batman Begins (2005) {tmdb-272}/
+ Batman Begins (2005) {tmdb-272}.mp4
+```
+
+Parsed as:
+
+```text
+Title: Batman Begins
+Year: 2005
+Provider: tmdb
+Provider ID: 272
+```
+
+### Scene-style movie filename
+
+```text
+Movies/
+ Movie.Name.Year.Quality.Source.Codec.mkv
+```
+
+Example:
+
+```text
+Movies/
+ Inception.2010.1080p.BrRip.x264.YIFY.mp4
+```
+
+Parsed as:
+
+```text
+Title: Inception
+Year: 2010
+```
+
+### Movie inside collection folders
+
+```text
+Movies/
+ Collection Name/
+ Movie Name/
+ video-file.mkv
+```
+
+Example:
+
+```text
+Movies/
+ Marvel/
+ Iron Man/
+ video-file.mkv
+```
+
+Parsed as:
+
+```text
+Title: Iron Man
+```
+
+Better:
+
+```text
+Movies/
+ Marvel/
+ Iron Man (2008)/
+ Iron Man (2008).mkv
+```
+
+Parsed as:
+
+```text
+Title: Iron Man
+Year: 2008
+```
+
+### Loose movie filename fallback
+
+```text
+Movies/
+ Movie Name.mkv
+```
+
+Example:
+
+```text
+Movies/
+ Iron Man.mkv
+```
+
+Parsed as:
+
+```text
+Title: Iron Man
+```
+
+No year is detected unless the folder or filename includes one.
+
+### Generic movie folder names
+
+These folder names are treated as generic and are not used as movie titles:
+
+```text
+Movies
+Movie
+Films
+Film
+```
+
+## TV Series
+
+TV libraries are parsed as episodes.
+
+The scanner accepts this layout:
+
+```text
+TV Shows/
+ Show Name/
+ Season XX/
+ episode-file.mkv
+```
+
+With the updated parser, it also accepts flat Plex-style show folders:
+
+```text
+TV Shows/
+ Show Name/
+ episode-file.mkv
+```
+
+## TV show folder names
+
+### Show name only
+
+```text
+TV Shows/
+ Show Name/
+```
+
+Example:
+
+```text
+TV Shows/
+ Doctor Who/
+```
+
+Parsed as:
+
+```text
+Show: Doctor Who
+```
+
+### Show name with year
+
+```text
+TV Shows/
+ Show Name (Year)/
+```
+
+Example:
+
+```text
+TV Shows/
+ Doctor Who (1963)/
+```
+
+Parsed as:
+
+```text
+Show: Doctor Who
+Year: 1963
+```
+
+This is recommended when multiple shows share the same name.
+
+### Show name with TMDb ID
+
+```text
+TV Shows/
+ Show Name (Year) {tmdb-ID}/
+```
+
+Example:
+
+```text
+TV Shows/
+ The Office (UK) (2001) {tmdb-2996}/
+```
+
+Parsed as:
+
+```text
+Show: The Office (UK)
+Year: 2001
+Provider: tmdb
+Provider ID: 2996
+```
+
+## Season folders
+
+Season folders can use these formats:
+
+```text
+Season 01
+Season.01
+Season_01
+Season-01
+Season 1
+```
+
+Examples:
+
+```text
+TV Shows/
+ Doctor Who (1963)/
+ Season 25/
+```
+
+```text
+TV Shows/
+ The Office (UK) (2001) {tmdb-2996}/
+ Season 01/
+```
+
+## Standard TV episode format
+
+Recommended:
+
+```text
+TV Shows/
+ Show Name (Year)/
+ Season XX/
+ Show Name - SXXEYY - Episode Title.mkv
+```
+
+Example:
+
+```text
+TV Shows/
+ Doctor Who (1963)/
+ Season 25/
+ Doctor Who - S25E02 - The Happiness Patrol (1).mkv
+```
+
+Parsed as:
+
+```text
+Show: Doctor Who
+Year: 1963
+Season: 25
+Episode: 2
+Episode title: The Happiness Patrol (1)
+```
+
+## TV episode with show year in filename
+
+```text
+TV Shows/
+ Show Name (Year)/
+ Season XX/
+ Show Name (Year) - SXXEYY - Episode Title.mkv
+```
+
+Example:
+
+```text
+TV Shows/
+ Doctor Who (1963)/
+ Season 01/
+ Doctor Who (1963) - S01E01 - An Unearthly Child (1).mp4
+```
+
+Parsed as:
+
+```text
+Show: Doctor Who
+Year: 1963
+Season: 1
+Episode: 1
+Episode title: An Unearthly Child (1)
+```
+
+## Flat Plex-style TV episode format
+
+Accepted with the updated parser:
+
+```text
+TV Shows/
+ Show Name (Year)/
+ Show Name - SXXEYY - Episode Title.mkv
+```
+
+Example:
+
+```text
+TV Shows/
+ Doctor Who (1963)/
+ Doctor Who - S25E02 (149) - The Happiness Patrol (1).mkv
+```
+
+Parsed as:
+
+```text
+Show: Doctor Who
+Year: 1963
+Season: 25
+Episode: 2
+Episode title: (149) - The Happiness Patrol (1)
+```
+
+Cleaner version:
+
+```text
+TV Shows/
+ Doctor Who (1963)/
+ Doctor Who - S25E02 - The Happiness Patrol (1).mkv
+```
+
+Parsed as:
+
+```text
+Show: Doctor Who
+Year: 1963
+Season: 25
+Episode: 2
+Episode title: The Happiness Patrol (1)
+```
+
+## Flat Plex-style TV episode with TMDb show folder
+
+Accepted with the updated parser:
+
+```text
+TV Shows/
+ Show Name (Year) {tmdb-ID}/
+ Show Name - SXXEYY - Episode Title.mkv
+```
+
+Example:
+
+```text
+TV Shows/
+ The Office (UK) (2001) {tmdb-2996}/
+ The Office (UK) - S01E01 - Downsize.mp4
+```
+
+Parsed as:
+
+```text
+Show: The Office (UK)
+Year: 2001
+Provider: tmdb
+Provider ID: 2996
+Season: 1
+Episode: 1
+Episode title: Downsize
+```
+
+## Episode filename with only SXXEYY
+
+Accepted with the updated parser when the show folder provides the show name:
+
+```text
+TV Shows/
+ Show Name (Year)/
+ SXXEYY - Episode Title.mkv
+```
+
+Example:
+
+```text
+TV Shows/
+ Doctor Who (1963)/
+ S25E02 - The Happiness Patrol (1).mkv
+```
+
+Parsed as:
+
+```text
+Show: Doctor Who
+Year: 1963
+Season: 25
+Episode: 2
+Episode title: The Happiness Patrol (1)
+```
+
+Also accepted inside a season folder:
+
+```text
+TV Shows/
+ Doctor Who (1963)/
+ Season 25/
+ S25E02 - The Happiness Patrol (1).mkv
+```
+
+## Multi-episode TV filename
+
+Accepted:
+
+```text
+TV Shows/
+ Show Name (Year)/
+ Season XX/
+ Show Name - SXXEYY-EZZ - Episode Title.mkv
+```
+
+Example:
+
+```text
+TV Shows/
+ Grey's Anatomy (2005)/
+ Season 02/
+ Grey's Anatomy (2005) - S02E01-E03.avi
+```
+
+Parsed as:
+
+```text
+Show: Grey's Anatomy
+Year: 2005
+Season: 2
+Episode: 1
+```
+
+Only the first episode number is stored.
+
+## Date-based TV episodes
+
+Accepted:
+
+```text
+TV Shows/
+ Show Name (Year)/
+ Season XX/
+ Show Name (Year) - YYYY-MM-DD - Episode Title.mkv
+```
+
+Example:
+
+```text
+TV Shows/
+ The Colbert Report (2005)/
+ Season 08/
+ The Colbert Report (2005) - 2011-11-15 - Elijah Wood.avi
+```
+
+Parsed as:
+
+```text
+Show: The Colbert Report
+Year: 2005
+Season: 8
+Air date: 2011-11-15
+Episode title: Elijah Wood
+```
+
+## Loose TV fallback
+
+If a video file is inside a valid show folder and season folder but the filename does not contain an episode number, Wibby may still accept it as a season item.
+
+Example:
+
+```text
+TV Shows/
+ Show Name (Year)/
+ Season 01/
+ random-video-file.mkv
+```
+
+Parsed as:
+
+```text
+Show: Show Name
+Year: Year
+Season: 1
+Episode: unknown
+```
+
+This is accepted, but not recommended.
+
+Better:
+
+```text
+TV Shows/
+ Show Name (Year)/
+ Season 01/
+ Show Name - S01E01 - Episode Title.mkv
+```
+
+## Generic TV folder names
+
+These folder names are treated as generic and are not used as show names:
+
+```text
+TV
+TV Show
+TV Shows
+Shows
+Show
+Series
+Television
+Television Shows
+```
+
+## Recommended library layout
+
+Movies:
+
+```text
+Movies/
+ Batman Begins (2005)/
+ Batman Begins (2005).mp4
+ Inception (2010)/
+ Inception (2010).mkv
+```
+
+TV shows with season folders:
+
+```text
+TV Shows/
+ Doctor Who (1963)/
+ Season 25/
+ Doctor Who - S25E01 - Remembrance of the Daleks (1).mkv
+ Doctor Who - S25E02 - The Happiness Patrol (1).mkv
+```
+
+Flat Plex-style TV shows:
+
+```text
+TV Shows/
+ Doctor Who (1963)/
+ Doctor Who - S25E01 - Remembrance of the Daleks (1).mkv
+ Doctor Who - S25E02 - The Happiness Patrol (1).mkv
+```
+
+TV shows with TMDb hint:
+
+```text
+TV Shows/
+ The Office (UK) (2001) {tmdb-2996}/
+ Season 01/
+ The Office (UK) - S01E01 - Downsize.mp4
+```