diff --git a/v1.0.0-SNAPSHOT/2-library-management/index.html b/v1.0.0-SNAPSHOT/2-library-management/index.html index 2a7861ed..989b3881 100644 --- a/v1.0.0-SNAPSHOT/2-library-management/index.html +++ b/v1.0.0-SNAPSHOT/2-library-management/index.html @@ -13,7 +13,7 @@ - + @@ -240,8 +240,44 @@ + + + + + +
  • + + + + + + + + + + + +
  • + + diff --git a/v1.0.0-SNAPSHOT/3-clients-and-mobile/index.html b/v1.0.0-SNAPSHOT/3-clients-and-mobile/index.html index 4607861d..463c46aa 100644 --- a/v1.0.0-SNAPSHOT/3-clients-and-mobile/index.html +++ b/v1.0.0-SNAPSHOT/3-clients-and-mobile/index.html @@ -240,8 +240,44 @@ + + + + + +
  • + + + + + + + + + + + +
  • + + diff --git a/v1.0.0-SNAPSHOT/4-connecting-qbittorrent/index.html b/v1.0.0-SNAPSHOT/4-connecting-qbittorrent/index.html index eeeaeea1..325cda9b 100644 --- a/v1.0.0-SNAPSHOT/4-connecting-qbittorrent/index.html +++ b/v1.0.0-SNAPSHOT/4-connecting-qbittorrent/index.html @@ -240,8 +240,44 @@ + + + + + +
  • + + + + + + + + + + + +
  • + + diff --git a/v1.0.0-SNAPSHOT/404.html b/v1.0.0-SNAPSHOT/404.html index 23b561a2..f8dafd2d 100644 --- a/v1.0.0-SNAPSHOT/404.html +++ b/v1.0.0-SNAPSHOT/404.html @@ -229,8 +229,44 @@ + + + + + +
  • + + + + + + + + + + + +
  • + + diff --git a/v1.0.0-SNAPSHOT/development/documentation/index.html b/v1.0.0-SNAPSHOT/development/documentation/index.html index 1bb04755..a5fe2ce3 100644 --- a/v1.0.0-SNAPSHOT/development/documentation/index.html +++ b/v1.0.0-SNAPSHOT/development/documentation/index.html @@ -238,8 +238,44 @@ + + + + + +
  • + + + + + + + + + + + +
  • + + diff --git a/v1.0.0-SNAPSHOT/index.html b/v1.0.0-SNAPSHOT/index.html index d77f2217..c895efe8 100644 --- a/v1.0.0-SNAPSHOT/index.html +++ b/v1.0.0-SNAPSHOT/index.html @@ -14,7 +14,7 @@ - + @@ -248,8 +248,44 @@ + + + + + +
  • + + + + + + + + + + + +
  • + + @@ -444,6 +528,7 @@

    A self-hosted streaming service for your media collection. +

    Getting Started

    diff --git a/v1.0.0-SNAPSHOT/installation/configure-server/index.html b/v1.0.0-SNAPSHOT/installation/configure-server/index.html new file mode 100644 index 00000000..7c0a9d2c --- /dev/null +++ b/v1.0.0-SNAPSHOT/installation/configure-server/index.html @@ -0,0 +1,702 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + Configure Server - AnyStream + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + Skip to content + + +
    +
    + +
    + + + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + + + + + + +

    Configure Server

    +

    Is your server running? See Installation > Getting Started first.

    +

    When the server has started without errors, the web client will be available +at localhost:8888 or whatever port you've specified.

    +

    Create an Admin User

    +

    After starting a new AnyStream instance, the first user signup does not require an invitation code and will be granted +global permissions.

    +
    +

    Danger

    +

    It is important to register an admin user immediately after starting AnyStream for the first time. +If left incomplete, unauthorized users my be able to modify system files via AnyStream.

    +
    +

    Importing Media

    +

    Inviting Users

    +

    You can add new users manually or create unique URLs to share which allow a single person to create an account with the +desired permissions.

    +

    To create an invitation URL:

    +
      +
    • Navigate to Settings > Users, then click "Manage Invites".
    • +
    • Select the permissions required by the new User, then click "Create Invite".
    • +
    • The new invite will be added to the list and a sharable signup link will be copied to your clipboard.
    • +
    + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + + \ No newline at end of file diff --git a/v1.0.0-SNAPSHOT/installation/docker/index.html b/v1.0.0-SNAPSHOT/installation/docker/index.html new file mode 100644 index 00000000..63bc8c7d --- /dev/null +++ b/v1.0.0-SNAPSHOT/installation/docker/index.html @@ -0,0 +1,764 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + Docker Setup - AnyStream + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + Skip to content + + +
    +
    + +
    + + + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + + + + + + +

    Docker

    +

    A small Alpine based docker image is provided +at ghcr.io/drewcarlson/anystream.

    +
    +

    Note

    +

    In the future, a ubuntu based image with hardware transcoding support will be provided.

    +
    +

    Docker CLI

    +
    +

    Docker CLI example

    +
    docker run -d --name anystream \
    +    -v /path/to/anystream:/app/storage \
    +    -v /path/to/media:/app/media \
    +    -p 8888:8888 \
    +    ghcr.io/drewcarlson/anystream:main
    +
    +
    +

    Docker Compose

    +

    Create a docker-compose.yml copy one of the following examples:

    +
    +

    Without qBittorrent

    +
    version: '3.1'
    +services:
    +  anystream:
    +    container_name: anystream
    +    image: ghcr.io/drewcarlson/anystream:main
    +    restart: unless-stopped
    +    ports:
    +      - "8888:8888"
    +    volumes:
    +      - /path/to/anystream:/app/storage
    +      - /path/to/media:/app/media
    +
    +
    +
    +With qBittorrent +
    version: '3.1'
    +services:
    +  anystream:
    +    container_name: anystream
    +    image: ghcr.io/drewcarlson/anystream:main
    +    restart: unless-stopped
    +    ports:
    +      - "8888:8888"
    +    environment:
    +      QBT_URL: http://qbittorrent:9090
    +      QBT_USER: admin
    +      QBT_PASSWORD: adminadmin
    +    volumes:
    +      - /path/to/anystream:/app/storage
    +      - /path/to/media:/app/media
    +      - /path/to/qbittorrent/downloads:/app/downloads
    +    links:
    +      - qbittorrent
    +    depends_on:
    +      - qbittorrent
    +
    +  qbittorrent:
    +    image: drewcarlson/docker-qbittorrentvpn
    +    container_name: qbittorrent
    +    restart: unless-stopped
    +    cap_add:
    +      - NET_ADMIN
    +    sysctls:
    +      - net.ipv6.conf.all.disable_ipv6=0
    +    privileged: true
    +    environment:
    +      - VPN_ENABLED=yes
    +      - NAME_SERVERS=1.1.1.1,8.8.8.8
    +      - WEBUI_PORT=9090
    +      - TZ=America/Los_Angeles
    +      - UMASK_SET=022
    +    volumes:
    +      - /path/to/qbittorrent/config:/config
    +      - /path/to/qbittorrent/downloads:/downloads
    +      - /path/to/media:/content
    +
    +
    +

    Once you've configured the docker-compose.yml file, start it with:

    +
    docker-compose up -d
    +
    +

    Configure Server

    +

    Now your server is running and ready to be used! +See Installation > Configure Server for what to do next.

    + + + + + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + + \ No newline at end of file diff --git a/v1.0.0-SNAPSHOT/1-getting-started/index.html b/v1.0.0-SNAPSHOT/installation/getting-started/index.html similarity index 63% rename from v1.0.0-SNAPSHOT/1-getting-started/index.html rename to v1.0.0-SNAPSHOT/installation/getting-started/index.html index 999ec37c..2d248470 100644 --- a/v1.0.0-SNAPSHOT/1-getting-started/index.html +++ b/v1.0.0-SNAPSHOT/installation/getting-started/index.html @@ -10,16 +10,16 @@ - + - + - + - + @@ -28,7 +28,7 @@ - + @@ -47,9 +47,9 @@ - + - + @@ -91,9 +91,9 @@
    - - - + + Configure Server + - + + + + + + + + + @@ -456,7 +501,7 @@
  • - + @@ -475,7 +520,7 @@
  • - + @@ -494,7 +539,7 @@
  • - + @@ -549,7 +594,7 @@
  • - + @@ -668,6 +713,13 @@ +
  • + +
  • + + Download AnyStream + +
  • @@ -678,13 +730,6 @@
  • - - Setup AnyStream - - - -
  • @@ -767,7 +771,7 @@ - + @@ -776,6 +780,8 @@

    Getting started

    +

    This page covers running the AnyStream server manually. +See Installation > Docker to use the containerized server.

    Read this first

    AnyStream is a private streaming service for your media files. Third party APIs and optional external applications are used to improve the quality of your collection. You are responsible for operating any external applications that @@ -783,8 +789,6 @@

    Read this first

    To maintain privacy it is recommended that you run AnyStream with a VPN like AirVPN or Mullvad.

    Requirements

    -

    When installing without Podman or Docker, extra software is required -before running AnyStream.

    Java 11+

    Windows

    @@ -847,6 +851,33 @@

    macOS

    sudo port install ffmpeg
     
    +

    Download AnyStream

    +
    +Stay up-to-date +

    It is recommended the latest version of AnyStream is used at all times, but older versions are available on the +Releases page if required.

    +
    +
    +One download for any Operating System +

    The AnyStream server runs on Linux, macOS, or Windows with one download, you do not need a version specifically +for your operating system.

    +
    +

    The latest release can be viewed on the Github Release page +or choose your preferred format below:

    + + + + + + + + + + + + + +
    Download ZIPDownload TAR

    anystream-server-1.0.0-SNAPSHOT.zip

    anystream-server-1.0.0-SNAPSHOT.tar

    Installation

    AnyStream tries to provide optimal default configuration and can be run without any configuration.

    @@ -924,33 +955,6 @@

    Installation

    -

    Download AnyStream

    -
    -Stay up-to-date -

    It is recommended the latest version of AnyStream is used at all times, but older versions are available on the -Releases page if required.

    -
    -
    -One download for any Operating System -

    The AnyStream server runs on Linux, macOS, or Windows with one download, you do not need a version specifically -for your operating system.

    -
    -

    The latest release can be viewed on the Github Release page -or choose your preferred format below:

    - - - - - - - - - - - - - -
    Download ZIPDownload TAR

    anystream-server-{'provider': 'mike'}.zip

    anystream-server-{'provider': 'mike'}.tar

    Run on Windows

    Newer versions of Windows 10 include curl and tar, if you're running an older version of Windows, follow the "Manual Download" section. Otherwise, see the "Command Prompt Download" section.

    @@ -982,97 +986,9 @@

    Run on Linux or macOS

    $ ./anystream -port=8888 -

    Docker CLI

    -

    A small Alpine based docker image is provided -at ghcr.io/drewcarlson/anystream.

    -
    -Docker CLI example -
    docker run -d --name anystream \
    -    -v /path/to/anystream:/app/storage \
    -    -v /path/to/media:/app/media \
    -    -p 8888:8888 \
    -    ghcr.io/drewcarlson/anystream:main
    -
    -
    -

    Docker Compose

    -

    Create a docker-compose.yml copy one of the following examples:

    -
    -Without qBittorrent -
    version: '3.1'
    -services:
    -  anystream:
    -    container_name: anystream
    -    image: ghcr.io/drewcarlson/anystream:main
    -    restart: unless-stopped
    -    ports:
    -      - "8888:8888"
    -    volumes:
    -      - /path/to/anystream:/app/storage
    -      - /path/to/media:/app/media
    -
    -
    -
    -With qBittorrent -
    version: '3.1'
    -services:
    -  anystream:
    -    container_name: anystream
    -    image: ghcr.io/drewcarlson/anystream:main
    -    restart: unless-stopped
    -    ports:
    -      - "8888:8888"
    -    environment:
    -      QBT_URL: http://qbittorrent:9090
    -      QBT_USER: admin
    -      QBT_PASSWORD: adminadmin
    -    volumes:
    -      - /path/to/anystream:/app/storage
    -      - /path/to/media:/app/media
    -      - /path/to/qbittorrent/downloads:/app/downloads
    -    links:
    -      - qbittorrent
    -    depends_on:
    -      - qbittorrent
    -
    -  qbittorrent:
    -    image: drewcarlson/docker-qbittorrentvpn
    -    container_name: qbittorrent
    -    restart: unless-stopped
    -    cap_add:
    -      - NET_ADMIN
    -    sysctls:
    -      - net.ipv6.conf.all.disable_ipv6=0
    -    privileged: true
    -    environment:
    -      - VPN_ENABLED=yes
    -      - NAME_SERVERS=1.1.1.1,8.8.8.8
    -      - WEBUI_PORT=9090
    -      - TZ=America/Los_Angeles
    -      - UMASK_SET=022
    -    volumes:
    -      - /path/to/qbittorrent/config:/config
    -      - /path/to/qbittorrent/downloads:/downloads
    -      - /path/to/media:/content
    -
    -
    -

    Once you've configured the docker-compose.yml file, start it with:

    -
    docker-compose up -d
    -
    -

    Setup AnyStream

    -

    Assuming your instance started without errors, the web client will be available -at localhost:8888.

    -

    Create an Admin User

    -

    After starting a new AnyStream instance, the first user signup does not require an invitation code and will be granted -global permissions.

    -
    -

    Danger

    -

    It is important to register an admin user immediately after starting AnyStream for the first time. -If left incomplete, unauthorized users my be able to modify system files via AnyStream.

    -
    -

    Importing Media

    -

    Inviting Users

    -

    Navigate to Settings > Users, then click "Manage Invites". Select the permissions required by the new User, then click -"Create Invite". The new invite will be added to the list and a sharable signup link will be copied to your clipboard.

    +

    Configure Server

    +

    Now your server is running and ready to be used! +See Installation > Configure Server for what to do next.

    @@ -1152,10 +1068,10 @@

    Inviting Users

    - + - + diff --git a/v1.0.0-SNAPSHOT/search/search_index.json b/v1.0.0-SNAPSHOT/search/search_index.json index 8aeda3b4..88d85ea3 100644 --- a/v1.0.0-SNAPSHOT/search/search_index.json +++ b/v1.0.0-SNAPSHOT/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Home","text":"A self-hosted streaming service for your media collection.

    AnyStream is free and open-source software that makes it easy to manage and stream your media library from anywhere, on any device. Once running, share access to your collection privately and securely with friends and family. Find missing and newly released content for your collection.

    "},{"location":"1-getting-started/","title":"Getting started","text":""},{"location":"1-getting-started/#read-this-first","title":"Read this first","text":"

    AnyStream is a private streaming service for your media files. Third party APIs and optional external applications are used to improve the quality of your collection. You are responsible for operating any external applications that AnyStream communicates with while managing your collection.

    To maintain privacy it is recommended that you run AnyStream with a VPN like AirVPN or Mullvad.

    "},{"location":"1-getting-started/#requirements","title":"Requirements","text":"

    When installing without Podman or Docker, extra software is required before running AnyStream.

    "},{"location":"1-getting-started/#java-11","title":"Java 11+","text":""},{"location":"1-getting-started/#windows","title":"Windows","text":"Install Manually

    Download the JRE 11 MSI file and run the installer. Follow the instructions until the installation is complete. For more information see \"Install Azul Zulu with MSI installer\"

    Install with Chocolatey
    choco install zulu --version=11.29.11\n
    "},{"location":"1-getting-started/#macos","title":"macOS","text":"Install Manually

    Download the JRE 11 for Intel DMG file or JRE 11 for M1. Double click the file and follow the instructions until the installation is complete.

    Install with Homebrew
    brew tap mdogan/zulu\nbrew install zulu-jdk11\n
    Install with MacPorts
    sudo port install openjdk11-zulu\n
    "},{"location":"1-getting-started/#ffmpeg","title":"FFmpeg","text":"

    FFmpeg is required to transcode your media library when streaming to certain devices and analyzing media files.

    "},{"location":"1-getting-started/#windows_1","title":"Windows","text":"Install Manually

    Click here to download FFmpeg. Extract fmpeg-n4.4-latest-win64-gpl-4.4.zip and rename the bin folder to ffmpeg and move it to C:\\Program Files\\ffmpeg.

    Install with Chocolatey
    choco install ffmpeg\n
    "},{"location":"1-getting-started/#macos_1","title":"macOS","text":"Install Manually

    Click here to download FFmpeg and here to download FFprobe. Extract both files into /usr/local/bin

    Install with Homebrew
    brew install ffmpeg\n
    Install with MacPorts
    sudo port install ffmpeg\n
    "},{"location":"1-getting-started/#installation","title":"Installation","text":"

    AnyStream tries to provide optimal default configuration and can be run without any configuration.

    Configuration (Environment variables)

    The following optiions can be modified on your first run to customize AnyStream for your system.

    name value description PORT 8888 The port used to serve the web client and API. DATA_PATH macos = /Users/<user>/anystreamlinux = /home/<user>/anystreamwindows = C:\\Users\\<user>\\anystream The folder where all data generated by anystream will be stored. Note this is not the folder for your media collection. DATABASE_URL sqlite:<DATA_PATH>/config/anystream.db The file where the database will be stored. (Note the sqlite: prefix is required) FFMPEG_PATH macos = /usr/binlinux = /usr/binwindows = C:\\Program Files\\ffmpeg The directory which contains FFmpeg and FFprobe binaries. WEB_CLIENT_PATH (none) The folder which contains the Web client files to be served. By default these files are provided by the server binary. Configuration (Program arguments)

    If preferred, AnyStream accepts arguments instead of Environment variables. The table below maps the Environment variable name to the CLI argument, see \"Configuration (Environment variables)\" for descriptions of each option.

    Env Name CLI Argument PORT -port=8888 DATA_PATH -app.dataPath=\"...\" DATABASE_URL -app.databaseUrl=\"...\" FFMPEG_PATH -app.ffmpegPath=\"...\" WEB_CLIENT_PATH -app.webClientPath=\"...\""},{"location":"1-getting-started/#download-anystream","title":"Download AnyStream","text":"Stay up-to-date

    It is recommended the latest version of AnyStream is used at all times, but older versions are available on the Releases page if required.

    One download for any Operating System

    The AnyStream server runs on Linux, macOS, or Windows with one download, you do not need a version specifically for your operating system.

    The latest release can be viewed on the Github Release page or choose your preferred format below:

    Download ZIP Download TAR anystream-server-{'provider': 'mike'}.zip anystream-server-{'provider': 'mike'}.tar"},{"location":"1-getting-started/#run-on-windows","title":"Run on Windows","text":"

    Newer versions of Windows 10 include curl and tar, if you're running an older version of Windows, follow the \"Manual Download\" section. Otherwise, see the \"Command Prompt Download\" section.

    Manual Download
    1. Download anystream-server-1.0.0-SNAPSHOT.zip
    2. Right click anystream-server-1.0.0-SNAPSHOT.zip, click \"Extract All...\", then click \"Extract\" when the window appears
    3. Open the anystream-server-1.0.0-SNAPSHOT/bin folder
    4. Double click on anystream.bat

    You will see a Command Prompt window appear, displaying log messages from AnyStream.

    Command Prompt Download
    > curl -LO https://github.com/DrewCarlson/AnyStream/releases/download/v1.0.0-SNAPSHOT/anystream-server-1.0.0-SNAPSHOT.tar\n> tar -xvf anystream-server-1.0.0-SNAPSHOT.tar\n> cd anystream-1.0.0-SNAPSHOT/bin\n> anystream -port=8888 -P:app.ffmpegPath=\"C:\\Users\\<user>\\Downloads\\ffmpeg\"\n

    AnyStream will be running and printing log messages until you close the window or press ctrl + c.

    "},{"location":"1-getting-started/#run-on-linux-or-macos","title":"Run on Linux or macOS","text":"anystream from Terminal example
    $ curl -LO https://github.com/DrewCarlson/AnyStream/releases/download/v1.0.0-SNAPSHOT/anystream-server-1.0.0-SNAPSHOT.tar\n$ tar -xvf anystream-server-1.0.0-SNAPSHOT.tar\n$ cd anystream-1.0.0-SNAPSHOT/bin\n$ ./anystream -port=8888\n
    "},{"location":"1-getting-started/#docker-cli","title":"Docker CLI","text":"

    A small Alpine based docker image is provided at ghcr.io/drewcarlson/anystream.

    Docker CLI example
    docker run -d --name anystream \\\n    -v /path/to/anystream:/app/storage \\\n    -v /path/to/media:/app/media \\\n    -p 8888:8888 \\\n    ghcr.io/drewcarlson/anystream:main\n
    "},{"location":"1-getting-started/#docker-compose","title":"Docker Compose","text":"

    Create a docker-compose.yml copy one of the following examples:

    Without qBittorrent
    version: '3.1'\nservices:\n  anystream:\n    container_name: anystream\n    image: ghcr.io/drewcarlson/anystream:main\n    restart: unless-stopped\n    ports:\n      - \"8888:8888\"\n    volumes:\n      - /path/to/anystream:/app/storage\n      - /path/to/media:/app/media\n
    With qBittorrent
    version: '3.1'\nservices:\n  anystream:\n    container_name: anystream\n    image: ghcr.io/drewcarlson/anystream:main\n    restart: unless-stopped\n    ports:\n      - \"8888:8888\"\n    environment:\n      QBT_URL: http://qbittorrent:9090\n      QBT_USER: admin\n      QBT_PASSWORD: adminadmin\n    volumes:\n      - /path/to/anystream:/app/storage\n      - /path/to/media:/app/media\n      - /path/to/qbittorrent/downloads:/app/downloads\n    links:\n      - qbittorrent\n    depends_on:\n      - qbittorrent\n\n  qbittorrent:\n    image: drewcarlson/docker-qbittorrentvpn\n    container_name: qbittorrent\n    restart: unless-stopped\n    cap_add:\n      - NET_ADMIN\n    sysctls:\n      - net.ipv6.conf.all.disable_ipv6=0\n    privileged: true\n    environment:\n      - VPN_ENABLED=yes\n      - NAME_SERVERS=1.1.1.1,8.8.8.8\n      - WEBUI_PORT=9090\n      - TZ=America/Los_Angeles\n      - UMASK_SET=022\n    volumes:\n      - /path/to/qbittorrent/config:/config\n      - /path/to/qbittorrent/downloads:/downloads\n      - /path/to/media:/content\n

    Once you've configured the docker-compose.yml file, start it with:

    docker-compose up -d\n
    "},{"location":"1-getting-started/#setup-anystream","title":"Setup AnyStream","text":"

    Assuming your instance started without errors, the web client will be available at localhost:8888.

    "},{"location":"1-getting-started/#create-an-admin-user","title":"Create an Admin User","text":"

    After starting a new AnyStream instance, the first user signup does not require an invitation code and will be granted global permissions.

    Danger

    It is important to register an admin user immediately after starting AnyStream for the first time. If left incomplete, unauthorized users my be able to modify system files via AnyStream.

    "},{"location":"1-getting-started/#importing-media","title":"Importing Media","text":""},{"location":"1-getting-started/#inviting-users","title":"Inviting Users","text":"

    Navigate to Settings > Users, then click \"Manage Invites\". Select the permissions required by the new User, then click \"Create Invite\". The new invite will be added to the list and a sharable signup link will be copied to your clipboard.

    "},{"location":"2-library-management/","title":"Library Management","text":"

    AnyStream manages your media library by scanning selected files, downloading metadata (posters, ratings, etc.), and analyzing media file contents (audio/video codecs, bitrate, etc.),

    "},{"location":"2-library-management/#naming-your-files","title":"Naming your files","text":"

    To understand your library while scanning, AnyStream requires folders and files to follow certain naming conventions and folder structures.

    "},{"location":"2-library-management/#basic-requirements","title":"Basic Requirements","text":"

    There are two common requirements for proper scanning of your media library that apply to all content:

    1. Each type of content (TV Shows, Movies, etc.) are in their own directory.

      /../videos/TV/\n/../videos/Movies/\n
    2. Media files are not located directly within the content directory, i.e. ../videos/TV and ../videos/Movies only contain other directories.

    "},{"location":"2-library-management/#movies","title":"Movies","text":"

    Movie files must be contained within a folder that shares the file's name.

    For example, AnyStream expects to find movies structure like:

      /../Movies/The Cabinet of Dr. Caligari (1920)\n  /../Movies/The Cabinet of Dr. Caligari (1920)/The Cabinet of Dr. Caligari (1920).mp4\n

    Note the first line is the folder with the <movie title> (<year>) format, and the second line is the movie file with a matching name and the video file extension.

    "},{"location":"2-library-management/#tv-shows","title":"TV Shows","text":"

    TV Shows must have a directory with the show's title containing season folders which in turn contain individual episode video files.

    For example, AnyStream expects to find tv shows structured like:

      /../TV/Mister Rogers Neighborhood (1968)\n  /../TV/Mister Rogers Neighborhood (1968)/Season 01/S01E01 - Change The First Program.mp4\n  /../TV/Mister Rogers Neighborhood (1968)/Season 01/S01E02 - King Friday Challenges Change.mp4\n

    Note each season has a folder with the Season <number> format where the number optionally contains a leading zero.

    Each episode is contained within it's respective season folder using the S<season number>E<episode number> - <episode name> format where the season and episode numbers contains optional leading zeros.

    Episode files may optionally use the <show name> - S00E00 - <episode title> format but the directory structure must still contain a parent show and season folder.

    "},{"location":"2-library-management/#subtitle-files","title":"Subtitle Files","text":""},{"location":"3-clients-and-mobile/","title":"Clients and Mobile Applications","text":"

    AnyStream makes your library accessible from anywhere with native web and mobile applications. More devices will be supported in the future.

    "},{"location":"3-clients-and-mobile/#web","title":"Web","text":"

    AnyStream provides a built-in website to view and manage your library.

    "},{"location":"3-clients-and-mobile/#android-google-tv","title":"Android / Google TV","text":"

    Coming soon

    "},{"location":"3-clients-and-mobile/#ios-apple-tv","title":"iOS / Apple TV","text":"

    Coming soon

    "},{"location":"3-clients-and-mobile/#chromecast","title":"Chromecast","text":"

    Coming Soon

    "},{"location":"4-connecting-qbittorrent/","title":"Connecting qBittorrent","text":"

    qBittorrent is a free and reliable P2P Bittorrent client.

    AnyStream can communicate with qBittorrent to manage importing and organizing new media into your library.

    Warning

    You assume all responsibility and risk when using qBittorrent. The BitTorrent protocol is not designed for privacy, ensure you've configured qBittorrent and network firewalls correctly. It is recommended to use a VPN service like AirVPN or Mullvad with qBittorrent.

    "},{"location":"development/documentation/","title":"Documentation","text":"

    Documentation is created with MkDocs using Material for MkDocs. MkDocs is configured with mkdocs.yml and documentation source is stored in the docs folder.

    "},{"location":"development/documentation/#install-python","title":"Install Python","text":"

    Download and install the latest version of Python.

    macOS Windows"},{"location":"development/documentation/#macos","title":"macOS","text":"

    Using Homebrew

    brew install python\n
    "},{"location":"development/documentation/#windows","title":"Windows","text":"

    Download and install the recommended version from python.org.

    Or with Chocolatey

    choco install python\n
    "},{"location":"development/documentation/#install-mkdocs-and-plugins","title":"Install MkDocs and plugins","text":"

    Open a new Terminal or Command Prompt window.

    pip install mkdocs mkdocs-material mkdocs-markdownextradata-plugin\n

    For more information see the MkDocs Installation Guide and the Material for MkDocs Installation Guide.

    "},{"location":"development/documentation/#writing-documentation","title":"Writing Documentation","text":"

    Documentation source files are written in Markdown. For navigation and advanced formatting features, see the MkDocs Writing your docs guide and Material for MkDocs Reference.

    Variables

    Some dynamic variables are made available, they can be used with the {{ name }} syntax. Below are the available variables.

    Name Value version The current release version, for example 2.3.5 (No v prefix)"},{"location":"development/documentation/#view-docs-locally","title":"View docs locally","text":"

    To view the docs locally, open a terminal or command prompt and cd into your anystream folder then run

    mkdocs serve\n

    Your changes will be served at http://127.0.0.1:8000. After saving changes, the webpage will reload automatically.

    "},{"location":"development/documentation/#deployment","title":"Deployment","text":"

    Changes are deployed to docs.anystream.dev automatically when merged into the main branch.

    "}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Home","text":"A self-hosted streaming service for your media collection.

    AnyStream is free and open-source software that makes it easy to manage and stream your media library from anywhere, on any device. Once running, share access to your collection privately and securely with friends and family. Find missing and newly released content for your collection.

    Getting Started

    "},{"location":"2-library-management/","title":"Library Management","text":"

    AnyStream manages your media library by scanning selected files, downloading metadata (posters, ratings, etc.), and analyzing media file contents (audio/video codecs, bitrate, etc.),

    "},{"location":"2-library-management/#naming-your-files","title":"Naming your files","text":"

    To understand your library while scanning, AnyStream requires folders and files to follow certain naming conventions and folder structures.

    "},{"location":"2-library-management/#basic-requirements","title":"Basic Requirements","text":"

    There are two common requirements for proper scanning of your media library that apply to all content:

    1. Each type of content (TV Shows, Movies, etc.) are in their own directory.

      /../videos/TV/\n/../videos/Movies/\n
    2. Media files are not located directly within the content directory, i.e. ../videos/TV and ../videos/Movies only contain other directories.

    "},{"location":"2-library-management/#movies","title":"Movies","text":"

    Movie files must be contained within a folder that shares the file's name.

    For example, AnyStream expects to find movies structure like:

      /../Movies/The Cabinet of Dr. Caligari (1920)\n  /../Movies/The Cabinet of Dr. Caligari (1920)/The Cabinet of Dr. Caligari (1920).mp4\n

    Note the first line is the folder with the <movie title> (<year>) format, and the second line is the movie file with a matching name and the video file extension.

    "},{"location":"2-library-management/#tv-shows","title":"TV Shows","text":"

    TV Shows must have a directory with the show's title containing season folders which in turn contain individual episode video files.

    For example, AnyStream expects to find tv shows structured like:

      /../TV/Mister Rogers Neighborhood (1968)\n  /../TV/Mister Rogers Neighborhood (1968)/Season 01/S01E01 - Change The First Program.mp4\n  /../TV/Mister Rogers Neighborhood (1968)/Season 01/S01E02 - King Friday Challenges Change.mp4\n

    Note each season has a folder with the Season <number> format where the number optionally contains a leading zero.

    Each episode is contained within it's respective season folder using the S<season number>E<episode number> - <episode name> format where the season and episode numbers contains optional leading zeros.

    Episode files may optionally use the <show name> - S00E00 - <episode title> format but the directory structure must still contain a parent show and season folder.

    "},{"location":"2-library-management/#subtitle-files","title":"Subtitle Files","text":""},{"location":"3-clients-and-mobile/","title":"Clients and Mobile Applications","text":"

    AnyStream makes your library accessible from anywhere with native web and mobile applications. More devices will be supported in the future.

    "},{"location":"3-clients-and-mobile/#web","title":"Web","text":"

    AnyStream provides a built-in website to view and manage your library.

    "},{"location":"3-clients-and-mobile/#android-google-tv","title":"Android / Google TV","text":"

    Coming soon

    "},{"location":"3-clients-and-mobile/#ios-apple-tv","title":"iOS / Apple TV","text":"

    Coming soon

    "},{"location":"3-clients-and-mobile/#chromecast","title":"Chromecast","text":"

    Coming Soon

    "},{"location":"4-connecting-qbittorrent/","title":"Connecting qBittorrent","text":"

    qBittorrent is a free and reliable P2P Bittorrent client.

    AnyStream can communicate with qBittorrent to manage importing and organizing new media into your library.

    Warning

    You assume all responsibility and risk when using qBittorrent. The BitTorrent protocol is not designed for privacy, ensure you've configured qBittorrent and network firewalls correctly. It is recommended to use a VPN service like AirVPN or Mullvad with qBittorrent.

    "},{"location":"development/documentation/","title":"Documentation","text":"

    Documentation is created with MkDocs using Material for MkDocs. MkDocs is configured with mkdocs.yml and documentation source is stored in the docs folder.

    "},{"location":"development/documentation/#install-python","title":"Install Python","text":"

    Download and install the latest version of Python.

    macOS Windows"},{"location":"development/documentation/#macos","title":"macOS","text":"

    Using Homebrew

    brew install python\n
    "},{"location":"development/documentation/#windows","title":"Windows","text":"

    Download and install the recommended version from python.org.

    Or with Chocolatey

    choco install python\n
    "},{"location":"development/documentation/#install-mkdocs-and-plugins","title":"Install MkDocs and plugins","text":"

    Open a new Terminal or Command Prompt window.

    pip install mkdocs mkdocs-material mkdocs-markdownextradata-plugin\n

    For more information see the MkDocs Installation Guide and the Material for MkDocs Installation Guide.

    "},{"location":"development/documentation/#writing-documentation","title":"Writing Documentation","text":"

    Documentation source files are written in Markdown. For navigation and advanced formatting features, see the MkDocs Writing your docs guide and Material for MkDocs Reference.

    Variables

    Some dynamic variables are made available, they can be used with the {{ name }} syntax. Below are the available variables.

    Name Value version The current release version, for example 2.3.5 (No v prefix)"},{"location":"development/documentation/#view-docs-locally","title":"View docs locally","text":"

    To view the docs locally, open a terminal or command prompt and cd into your anystream folder then run

    mkdocs serve\n

    Your changes will be served at http://127.0.0.1:8000. After saving changes, the webpage will reload automatically.

    "},{"location":"development/documentation/#deployment","title":"Deployment","text":"

    Changes are deployed to docs.anystream.dev automatically when merged into the main branch.

    "},{"location":"installation/configure-server/","title":"Configure Server","text":"

    Is your server running? See Installation > Getting Started first.

    When the server has started without errors, the web client will be available at localhost:8888 or whatever port you've specified.

    "},{"location":"installation/configure-server/#create-an-admin-user","title":"Create an Admin User","text":"

    After starting a new AnyStream instance, the first user signup does not require an invitation code and will be granted global permissions.

    Danger

    It is important to register an admin user immediately after starting AnyStream for the first time. If left incomplete, unauthorized users my be able to modify system files via AnyStream.

    "},{"location":"installation/configure-server/#importing-media","title":"Importing Media","text":""},{"location":"installation/configure-server/#inviting-users","title":"Inviting Users","text":"

    You can add new users manually or create unique URLs to share which allow a single person to create an account with the desired permissions.

    To create an invitation URL:

    "},{"location":"installation/docker/","title":"Docker","text":"

    A small Alpine based docker image is provided at ghcr.io/drewcarlson/anystream.

    Note

    In the future, a ubuntu based image with hardware transcoding support will be provided.

    "},{"location":"installation/docker/#docker-cli","title":"Docker CLI","text":"

    Docker CLI example

    docker run -d --name anystream \\\n    -v /path/to/anystream:/app/storage \\\n    -v /path/to/media:/app/media \\\n    -p 8888:8888 \\\n    ghcr.io/drewcarlson/anystream:main\n
    "},{"location":"installation/docker/#docker-compose","title":"Docker Compose","text":"

    Create a docker-compose.yml copy one of the following examples:

    Without qBittorrent

    version: '3.1'\nservices:\n  anystream:\n    container_name: anystream\n    image: ghcr.io/drewcarlson/anystream:main\n    restart: unless-stopped\n    ports:\n      - \"8888:8888\"\n    volumes:\n      - /path/to/anystream:/app/storage\n      - /path/to/media:/app/media\n
    With qBittorrent
    version: '3.1'\nservices:\n  anystream:\n    container_name: anystream\n    image: ghcr.io/drewcarlson/anystream:main\n    restart: unless-stopped\n    ports:\n      - \"8888:8888\"\n    environment:\n      QBT_URL: http://qbittorrent:9090\n      QBT_USER: admin\n      QBT_PASSWORD: adminadmin\n    volumes:\n      - /path/to/anystream:/app/storage\n      - /path/to/media:/app/media\n      - /path/to/qbittorrent/downloads:/app/downloads\n    links:\n      - qbittorrent\n    depends_on:\n      - qbittorrent\n\n  qbittorrent:\n    image: drewcarlson/docker-qbittorrentvpn\n    container_name: qbittorrent\n    restart: unless-stopped\n    cap_add:\n      - NET_ADMIN\n    sysctls:\n      - net.ipv6.conf.all.disable_ipv6=0\n    privileged: true\n    environment:\n      - VPN_ENABLED=yes\n      - NAME_SERVERS=1.1.1.1,8.8.8.8\n      - WEBUI_PORT=9090\n      - TZ=America/Los_Angeles\n      - UMASK_SET=022\n    volumes:\n      - /path/to/qbittorrent/config:/config\n      - /path/to/qbittorrent/downloads:/downloads\n      - /path/to/media:/content\n

    Once you've configured the docker-compose.yml file, start it with:

    docker-compose up -d\n
    "},{"location":"installation/docker/#configure-server","title":"Configure Server","text":"

    Now your server is running and ready to be used! See Installation > Configure Server for what to do next.

    "},{"location":"installation/getting-started/","title":"Getting started","text":"

    This page covers running the AnyStream server manually. See Installation > Docker to use the containerized server.

    "},{"location":"installation/getting-started/#read-this-first","title":"Read this first","text":"

    AnyStream is a private streaming service for your media files. Third party APIs and optional external applications are used to improve the quality of your collection. You are responsible for operating any external applications that AnyStream communicates with while managing your collection.

    To maintain privacy it is recommended that you run AnyStream with a VPN like AirVPN or Mullvad.

    "},{"location":"installation/getting-started/#requirements","title":"Requirements","text":""},{"location":"installation/getting-started/#java-11","title":"Java 11+","text":""},{"location":"installation/getting-started/#windows","title":"Windows","text":"Install Manually

    Download the JRE 11 MSI file and run the installer. Follow the instructions until the installation is complete. For more information see \"Install Azul Zulu with MSI installer\"

    Install with Chocolatey
    choco install zulu --version=11.29.11\n
    "},{"location":"installation/getting-started/#macos","title":"macOS","text":"Install Manually

    Download the JRE 11 for Intel DMG file or JRE 11 for M1. Double click the file and follow the instructions until the installation is complete.

    Install with Homebrew
    brew tap mdogan/zulu\nbrew install zulu-jdk11\n
    Install with MacPorts
    sudo port install openjdk11-zulu\n
    "},{"location":"installation/getting-started/#ffmpeg","title":"FFmpeg","text":"

    FFmpeg is required to transcode your media library when streaming to certain devices and analyzing media files.

    "},{"location":"installation/getting-started/#windows_1","title":"Windows","text":"Install Manually

    Click here to download FFmpeg. Extract fmpeg-n4.4-latest-win64-gpl-4.4.zip and rename the bin folder to ffmpeg and move it to C:\\Program Files\\ffmpeg.

    Install with Chocolatey
    choco install ffmpeg\n
    "},{"location":"installation/getting-started/#macos_1","title":"macOS","text":"Install Manually

    Click here to download FFmpeg and here to download FFprobe. Extract both files into /usr/local/bin

    Install with Homebrew
    brew install ffmpeg\n
    Install with MacPorts
    sudo port install ffmpeg\n
    "},{"location":"installation/getting-started/#download-anystream","title":"Download AnyStream","text":"Stay up-to-date

    It is recommended the latest version of AnyStream is used at all times, but older versions are available on the Releases page if required.

    One download for any Operating System

    The AnyStream server runs on Linux, macOS, or Windows with one download, you do not need a version specifically for your operating system.

    The latest release can be viewed on the Github Release page or choose your preferred format below:

    Download ZIP Download TAR anystream-server-1.0.0-SNAPSHOT.zip anystream-server-1.0.0-SNAPSHOT.tar"},{"location":"installation/getting-started/#installation","title":"Installation","text":"

    AnyStream tries to provide optimal default configuration and can be run without any configuration.

    Configuration (Environment variables)

    The following optiions can be modified on your first run to customize AnyStream for your system.

    name value description PORT 8888 The port used to serve the web client and API. DATA_PATH macos = /Users/<user>/anystreamlinux = /home/<user>/anystreamwindows = C:\\Users\\<user>\\anystream The folder where all data generated by anystream will be stored. Note this is not the folder for your media collection. DATABASE_URL sqlite:<DATA_PATH>/config/anystream.db The file where the database will be stored. (Note the sqlite: prefix is required) FFMPEG_PATH macos = /usr/binlinux = /usr/binwindows = C:\\Program Files\\ffmpeg The directory which contains FFmpeg and FFprobe binaries. WEB_CLIENT_PATH (none) The folder which contains the Web client files to be served. By default these files are provided by the server binary. Configuration (Program arguments)

    If preferred, AnyStream accepts arguments instead of Environment variables. The table below maps the Environment variable name to the CLI argument, see \"Configuration (Environment variables)\" for descriptions of each option.

    Env Name CLI Argument PORT -port=8888 DATA_PATH -app.dataPath=\"...\" DATABASE_URL -app.databaseUrl=\"...\" FFMPEG_PATH -app.ffmpegPath=\"...\" WEB_CLIENT_PATH -app.webClientPath=\"...\""},{"location":"installation/getting-started/#run-on-windows","title":"Run on Windows","text":"

    Newer versions of Windows 10 include curl and tar, if you're running an older version of Windows, follow the \"Manual Download\" section. Otherwise, see the \"Command Prompt Download\" section.

    Manual Download
    1. Download anystream-server-1.0.0-SNAPSHOT.zip
    2. Right click anystream-server-1.0.0-SNAPSHOT.zip, click \"Extract All...\", then click \"Extract\" when the window appears
    3. Open the anystream-server-1.0.0-SNAPSHOT/bin folder
    4. Double click on anystream.bat

    You will see a Command Prompt window appear, displaying log messages from AnyStream.

    Command Prompt Download
    > curl -LO https://github.com/DrewCarlson/AnyStream/releases/download/v1.0.0-SNAPSHOT/anystream-server-1.0.0-SNAPSHOT.tar\n> tar -xvf anystream-server-1.0.0-SNAPSHOT.tar\n> cd anystream-1.0.0-SNAPSHOT/bin\n> anystream -port=8888 -P:app.ffmpegPath=\"C:\\Users\\<user>\\Downloads\\ffmpeg\"\n

    AnyStream will be running and printing log messages until you close the window or press ctrl + c.

    "},{"location":"installation/getting-started/#run-on-linux-or-macos","title":"Run on Linux or macOS","text":"anystream from Terminal example
    $ curl -LO https://github.com/DrewCarlson/AnyStream/releases/download/v1.0.0-SNAPSHOT/anystream-server-1.0.0-SNAPSHOT.tar\n$ tar -xvf anystream-server-1.0.0-SNAPSHOT.tar\n$ cd anystream-1.0.0-SNAPSHOT/bin\n$ ./anystream -port=8888\n
    "},{"location":"installation/getting-started/#configure-server","title":"Configure Server","text":"

    Now your server is running and ready to be used! See Installation > Configure Server for what to do next.

    "}]} \ No newline at end of file diff --git a/v1.0.0-SNAPSHOT/sitemap.xml b/v1.0.0-SNAPSHOT/sitemap.xml index c85e6bcd..9602e79f 100644 --- a/v1.0.0-SNAPSHOT/sitemap.xml +++ b/v1.0.0-SNAPSHOT/sitemap.xml @@ -2,32 +2,42 @@ https://docs.anystream.dev/v1.0.0-SNAPSHOT/ - 2023-11-11 - daily - - - https://docs.anystream.dev/v1.0.0-SNAPSHOT/1-getting-started/ - 2023-11-11 + 2023-11-12 daily https://docs.anystream.dev/v1.0.0-SNAPSHOT/2-library-management/ - 2023-11-11 + 2023-11-12 daily https://docs.anystream.dev/v1.0.0-SNAPSHOT/3-clients-and-mobile/ - 2023-11-11 + 2023-11-12 daily https://docs.anystream.dev/v1.0.0-SNAPSHOT/4-connecting-qbittorrent/ - 2023-11-11 + 2023-11-12 daily https://docs.anystream.dev/v1.0.0-SNAPSHOT/development/documentation/ - 2023-11-11 + 2023-11-12 + daily + + + https://docs.anystream.dev/v1.0.0-SNAPSHOT/installation/configure-server/ + 2023-11-12 + daily + + + https://docs.anystream.dev/v1.0.0-SNAPSHOT/installation/docker/ + 2023-11-12 + daily + + + https://docs.anystream.dev/v1.0.0-SNAPSHOT/installation/getting-started/ + 2023-11-12 daily \ No newline at end of file diff --git a/v1.0.0-SNAPSHOT/sitemap.xml.gz b/v1.0.0-SNAPSHOT/sitemap.xml.gz index bc288c81..0d96909b 100644 Binary files a/v1.0.0-SNAPSHOT/sitemap.xml.gz and b/v1.0.0-SNAPSHOT/sitemap.xml.gz differ