mirror of
https://github.com/tubearchivist/docs.git
synced 2024-11-25 05:00:15 +00:00
Additional formattings fixes for admonitions, tables, and minor technical edits.
This commit is contained in:
parent
b17bdbc63e
commit
fcbb5a8fe6
@ -4,7 +4,7 @@ description: Collection of advanced concepts and debug info.
|
|||||||
|
|
||||||
# Advanced Notes
|
# Advanced Notes
|
||||||
|
|
||||||
!!! warning
|
!!! warning "Check Your Backups"
|
||||||
As a general rule of thumb, make sure your backups are up to date before continuing with anything here.
|
As a general rule of thumb, make sure your backups are up to date before continuing with anything here.
|
||||||
|
|
||||||
A loose collection of advanced debug info and actions for experienced users for troubleshooting and resolving issues. The situation or command may or may not apply to you, so only use this when you know what you are doing or as directed. Some of the below functionality might get implemented in the future in the regular UI.
|
A loose collection of advanced debug info and actions for experienced users for troubleshooting and resolving issues. The situation or command may or may not apply to you, so only use this when you know what you are doing or as directed. Some of the below functionality might get implemented in the future in the regular UI.
|
||||||
@ -118,7 +118,7 @@ and you should get:
|
|||||||
Then you can restart the container and the migration will run again. If your error persists, the ES and TA logs should give additional debug info.
|
Then you can restart the container and the migration will run again. If your error persists, the ES and TA logs should give additional debug info.
|
||||||
|
|
||||||
## Manual yt-dlp update
|
## Manual yt-dlp update
|
||||||
!!! warning
|
!!! warning
|
||||||
Doing this is **very likely** going to break things for you. You will want to try this out on a testing instance first. There are have regularly been subtle changes in the yt-dlp API, so only do this if you know how to debug this project by yourself, but obviously share your fixes so any problems can be dealt with before release.
|
Doing this is **very likely** going to break things for you. You will want to try this out on a testing instance first. There are have regularly been subtle changes in the yt-dlp API, so only do this if you know how to debug this project by yourself, but obviously share your fixes so any problems can be dealt with before release.
|
||||||
This project strives for timely updates when yt-dlp makes a new release, but sometimes ideals meet reality. Also, sometimes yt-dlp has a fix published, but not yet released.
|
This project strives for timely updates when yt-dlp makes a new release, but sometimes ideals meet reality. Also, sometimes yt-dlp has a fix published, but not yet released.
|
||||||
|
|
||||||
|
@ -10,6 +10,6 @@ Note that this automatically creates new users in the database if they do not al
|
|||||||
| :------------------- | :------ | :---------- |
|
| :------------------- | :------ | :---------- |
|
||||||
| `TA_ENABLE_AUTH_PROXY` | `true` | Set to anything besides empty string to use forward proxy authentication. |
|
| `TA_ENABLE_AUTH_PROXY` | `true` | Set to anything besides empty string to use forward proxy authentication. |
|
||||||
| `TA_AUTH_PROXY_USERNAME_HEADER` | `HTTP_REMOTE_USER` | The name of the request header that the auth proxy passes to the proxied application (**Tube Archivist** in this case), so that the application can identify the user. Check the documentation of your auth proxy to get this information.
|
| `TA_AUTH_PROXY_USERNAME_HEADER` | `HTTP_REMOTE_USER` | The name of the request header that the auth proxy passes to the proxied application (**Tube Archivist** in this case), so that the application can identify the user. Check the documentation of your auth proxy to get this information.
|
||||||
??? note
|
> ??? note
|
||||||
The request headers are rewritten within **Tube Archivist**: all HTTP headers are prefixed with `HTTP_`, all letters are in uppercase, and dashes are replaced with underscores.For example, for Authelia, which passes the `Remote-User` HTTP header, the `TA_AUTH_PROXY_USERNAME_HEADER` needs to be configured as `HTTP_REMOTE_USER`. |
|
The request headers are rewritten within **Tube Archivist**: all HTTP headers are prefixed with `HTTP_`, all letters are in uppercase, and dashes are replaced with underscores.For example, for Authelia, which passes the `Remote-User` HTTP header, the `TA_AUTH_PROXY_USERNAME_HEADER` needs to be configured as `HTTP_REMOTE_USER`. |
|
||||||
| `TA_AUTH_PROXY_LOGOUT_URL` | | The URL that **Tube Archivist** should redirect to after a logout. By default, the logout redirects to the login URL, which means the user will be automatically authenticated again. Instead, you might want to configure the logout URL of the auth proxy here. |
|
| `TA_AUTH_PROXY_LOGOUT_URL` | | The URL that **Tube Archivist** should redirect to after a logout. By default, the logout redirects to the login URL, which means the user will be automatically authenticated again. Instead, you might want to configure the logout URL of the auth proxy here. |
|
||||||
|
@ -5,7 +5,7 @@ description: Frequently asked questions about what this project is, what it trie
|
|||||||
# Frequently Asked Questions
|
# Frequently Asked Questions
|
||||||
|
|
||||||
## What is the scope of this project?
|
## What is the scope of this project?
|
||||||
Tube Archivist is *Your self-hosted YouTube media server*, which also defines the primary scope of what this project tries to do:
|
**Tube Archivist** is *Your self-hosted YouTube media server*, which also defines the primary scope of what this project tries to do:
|
||||||
|
|
||||||
- **Self-hosted**: This assumes you have full control over the underlying operating system and hardware and can configure things to work properly with Docker, it's volumes and networks as well as whatever disk storage and filesystem you choose to use.
|
- **Self-hosted**: This assumes you have full control over the underlying operating system and hardware and can configure things to work properly with Docker, it's volumes and networks as well as whatever disk storage and filesystem you choose to use.
|
||||||
- **YouTube**: Downloading, indexing and playing videos from YouTube, there are currently no plans to expand this to any additional platforms.
|
- **YouTube**: Downloading, indexing and playing videos from YouTube, there are currently no plans to expand this to any additional platforms.
|
||||||
@ -14,7 +14,7 @@ Tube Archivist is *Your self-hosted YouTube media server*, which also defines th
|
|||||||
Additionally, progress is also happening to provide the following core capabilities:
|
Additionally, progress is also happening to provide the following core capabilities:
|
||||||
|
|
||||||
- **API**: Endpoints for additional integrations.
|
- **API**: Endpoints for additional integrations.
|
||||||
- **Browser Extension**: To integrate between youtube.com and Tube Archivist.
|
- **Browser Extension**: To integrate between youtube.com and **Tube Archivist**.
|
||||||
|
|
||||||
Defining the scope is important for the success of any project:
|
Defining the scope is important for the success of any project:
|
||||||
|
|
||||||
@ -25,12 +25,12 @@ Defining the scope is important for the success of any project:
|
|||||||
Of course, this is subject to change: The scope can be expanded as this project continues to grow and more people contribute.
|
Of course, this is subject to change: The scope can be expanded as this project continues to grow and more people contribute.
|
||||||
|
|
||||||
## How do I import my videos to Emby-Plex-Jellyfin-Kodi?
|
## How do I import my videos to Emby-Plex-Jellyfin-Kodi?
|
||||||
Although there are similarities between these excellent projects and Tube Archivist, they have a very different use case. Trying to fit the metadata relations and database structure of a YouTube archival project into these media servers that specialize in Movies and TV shows is always going to be limiting.
|
Although there are similarities between these excellent projects and **Tube Archivist**, they have a very different use case. Trying to fit the metadata relations and database structure of a YouTube archival project into these media servers that specialize in Movies and TV shows is always going to be limiting.
|
||||||
|
|
||||||
Part of the scope is to be its own media server, to be able to overcome these limitations, so that's where the focus and effort of this project is. That being said, the nature of self-hosted and open source software gives you all the possible freedom to use your media as you wish.
|
Part of the scope is to be its own media server, to be able to overcome these limitations, so that's where the focus and effort of this project is. That being said, the nature of self-hosted and open source software gives you all the possible freedom to use your media as you wish.
|
||||||
|
|
||||||
- **Jellyfin**: There is a Jellyfin Plugin available to sync metadata to JF: [tubearchivist/tubearchivist-jf-plugin](https://github.com/tubearchivist/tubearchivist-jf-plugin). Follow the instructions there. Please contribute to improve this plugin.
|
- **Jellyfin**: There is a Jellyfin Plugin available to sync metadata to JF: [tubearchivist/tubearchivist-jf-plugin](https://github.com/tubearchivist/tubearchivist-jf-plugin). Follow the instructions there. Please contribute to improve this plugin.
|
||||||
- **Plex**: There is a Plex Scanner and Agent combination that allows integration between Tube Archivist and Plex: [tubearchivist/tubearchivist-plex](https://github.com/tubearchivist/tubearchivist-plex). Follow the instructions there. Please contribute to improve this integration.
|
- **Plex**: There is a Plex Scanner and Agent combination that allows integration between **Tube Archivist** and Plex: [tubearchivist/tubearchivist-plex](https://github.com/tubearchivist/tubearchivist-plex). Follow the instructions there. Please contribute to improve this integration.
|
||||||
|
|
||||||
## How do I install this natively?
|
## How do I install this natively?
|
||||||
This project is natively a container-based Docker application: There are multiple moving parts that need to be able to interact with each other and need to be compatible with multiple architectures and operating systems. Additionally, Docker also drastically reduces development complexity which is highly appreciated.
|
This project is natively a container-based Docker application: There are multiple moving parts that need to be able to interact with each other and need to be compatible with multiple architectures and operating systems. Additionally, Docker also drastically reduces development complexity which is highly appreciated.
|
||||||
@ -50,12 +50,12 @@ A recommended configuration of Elasticsearch (ES) is provided in the example doc
|
|||||||
All testing is done with the recommended configuration, changing that can create hard to debug and randomly occurring problems, so use at your own risk.
|
All testing is done with the recommended configuration, changing that can create hard to debug and randomly occurring problems, so use at your own risk.
|
||||||
|
|
||||||
## Why Elasticsearch?
|
## Why Elasticsearch?
|
||||||
That might be an unconventional choice at first glance. Tube Archivist is built to scale to 100k+ videos without slowing down and to 1M+ with only minimal impact on performance, with full text indexing and searching over your subtitles and comments. Elasticsearch is the industry standard <sup>[citation needed]</sup> for a task like that and through its structured query language allows for a very flexible interface to query the index.
|
That might be an unconventional choice at first glance. **Tube Archivist** is built to scale to 100k+ videos without slowing down and to 1M+ with only minimal impact on performance, with full text indexing and searching over your subtitles and comments. Elasticsearch is the industry standard <sup>[citation needed]</sup> for a task like that and through its structured query language allows for a very flexible interface to query the index.
|
||||||
|
|
||||||
That comes at a price: ES can use a lot of memory, particularly on a big index, and will heavily use in-memory cached queries to be able to respond within milliseconds, even when searching through multiple GBs of raw text.
|
That comes at a price: ES can use a lot of memory, particularly on a big index, and will heavily use in-memory cached queries to be able to respond within milliseconds, even when searching through multiple GBs of raw text.
|
||||||
|
|
||||||
## Why does subscribing to a channel not download the complete channel?
|
## Why does subscribing to a channel not download the complete channel?
|
||||||
For Tube Archivist, these are two different actions: To download a complete channel, add it to the [download queue](downloads.md#add-to-download-queue) with the form or with [Tube Archivist Companion](https://github.com/tubearchivist/browser-extension), the browser extension. This is meant for a complete archival.
|
For **Tube Archivist**, these are two different actions: To download a complete channel, add it to the [download queue](downloads.md#add-to-download-queue) with the form or with [Tube Archivist Companion](https://github.com/tubearchivist/browser-extension), the browser extension. This is meant for a complete archival.
|
||||||
|
|
||||||
Subscribing to a channel is for downloading new videos as they come out. That is designed to be as quick as possible, to allow you to efficiently rescan your favourite channels frequently. This will add videos to your download queue based on your [channel page size](settings/application.md#subscriptions).
|
Subscribing to a channel is for downloading new videos as they come out. That is designed to be as quick as possible, to allow you to efficiently rescan your favourite channels frequently. This will add videos to your download queue based on your [channel page size](settings/application.md#subscriptions).
|
||||||
|
|
||||||
@ -69,11 +69,11 @@ This project doesn't make any recommendations: Some people prefer to convert the
|
|||||||
There are too many variations of that problem to be implemented in this project, use any of the various solutions out there that fits your needs.
|
There are too many variations of that problem to be implemented in this project, use any of the various solutions out there that fits your needs.
|
||||||
|
|
||||||
## Why is there no flexible naming structure?
|
## Why is there no flexible naming structure?
|
||||||
Unlike other similar projects, Tube Archivist needs to keep track of its media files indefinitely while everything can change: Channel names and aliases and titles regularly change over time. Previous attempts failed at handling that properly and the metadata refresh task kept failing because of that.
|
Unlike other similar projects, **Tube Archivist** needs to keep track of its media files indefinitely while everything can change: Channel names and aliases and titles regularly change over time. Previous attempts failed at handling that properly and the metadata refresh task kept failing because of that.
|
||||||
|
|
||||||
This project tries to be compatible with as many filesystem/OS variations out there as possible. Using channel names and titles to build file paths that can be any Unicode character is a flawed and highly error prone approach of doing that, there is always a filesystem/OS out there that proves to be incompatible with how something is named.
|
This project tries to be compatible with as many filesystem/OS variations out there as possible. Using channel names and titles to build file paths that can be any Unicode character is a flawed and highly error prone approach of doing that, there is always a filesystem/OS out there that proves to be incompatible with how something is named.
|
||||||
|
|
||||||
That's why this project has landed on `<channel-id>/<video-id>.mp4`. These values are guaranteed to be static, are guaranteed to be compatible with every filesystem out there and make things predictable where all files will go on every instance of Tube Archivist indefinitely.
|
That's why this project has landed on `<channel-id>/<video-id>.mp4`. These values are guaranteed to be static, are guaranteed to be compatible with every filesystem out there and make things predictable where all files will go on every instance of **Tube Archivist** indefinitely.
|
||||||
|
|
||||||
For browsing these files you have the fancy interface provided by this project, or use a supported integration as stated above. If you really want to, you could easily also create your own file naming structure with the API and symlinks, but that is not part of the scope of this project.
|
For browsing these files you have the fancy interface provided by this project, or use a supported integration as stated above. If you really want to, you could easily also create your own file naming structure with the API and symlinks, but that is not part of the scope of this project.
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ Should that not be an option, the TA container takes these two additional enviro
|
|||||||
Changing any of these two environment variables will change the files *nginx.conf* and *uwsgi.ini* at startup, using `sed` in your container.
|
Changing any of these two environment variables will change the files *nginx.conf* and *uwsgi.ini* at startup, using `sed` in your container.
|
||||||
|
|
||||||
## ElasticSearch
|
## ElasticSearch
|
||||||
!!! success
|
!!! success "Elasticsearch Version"
|
||||||
**Tube Archivist** depends on Elasticsearch 8.
|
**Tube Archivist** depends on Elasticsearch 8.
|
||||||
|
|
||||||
Use `bbilly1/tubearchivist-es` to automatically get the recommended version, or use the official image with the version tag in the `docker-compose.yml` file.
|
Use `bbilly1/tubearchivist-es` to automatically get the recommended version, or use the official image with the version tag in the `docker-compose.yml` file.
|
||||||
@ -88,7 +88,7 @@ Should you need to change the port for Elasticsearch to, for example `9500`, fol
|
|||||||
|
|
||||||
## Redis
|
## Redis
|
||||||
|
|
||||||
!!! danger
|
!!! danger "BE AWARE"
|
||||||
You most likely can't use the same Redis instance between other services, especially if they also use Celery as a task scheduler.
|
You most likely can't use the same Redis instance between other services, especially if they also use Celery as a task scheduler.
|
||||||
|
|
||||||
Redis functions as a cache and temporary link between the application and the file system. Redis is used to store and display messages and configuration variables.
|
Redis functions as a cache and temporary link between the application and the file system. Redis is used to store and display messages and configuration variables.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
!!! note
|
!!! abstract "Installation Instructions - Community Guides"
|
||||||
These are beginner's guides/installation instructions for additional platforms generously provided by users of these platforms. When in doubt, verify the details with the [project README](https://github.com/tubearchivist/tubearchivist#installing). If you see any issues here while using these instructions, please contribute.
|
These are beginner's guides/installation instructions for additional platforms generously provided by users of these platforms. When in doubt, verify the details with the [project README](https://github.com/tubearchivist/tubearchivist#installing). If you see any issues here while using these instructions, please contribute.
|
||||||
|
|
||||||
There is a Helm Chart available at [https://github.com/insuusvenerati/helm-charts](https://github.com/insuusvenerati/helm-charts).
|
There is a Helm Chart available at [https://github.com/insuusvenerati/helm-charts](https://github.com/insuusvenerati/helm-charts).
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
!!! note
|
!!! abstract "Installation Instructions - Community Guides"
|
||||||
These are beginner's guides/installation instructions for additional platforms generously provided by users of these platforms. When in doubt, verify the details with the [project README](https://github.com/tubearchivist/tubearchivist#installing). If you see any issues here while using these instructions, please contribute.
|
These are beginner's guides/installation instructions for additional platforms generously provided by users of these platforms. When in doubt, verify the details with the [project README](https://github.com/tubearchivist/tubearchivist#installing). If you see any issues here while using these instructions, please contribute.
|
||||||
|
|
||||||
Podman handles container hostname resolution slightly differently than Docker, so you need to make a few changes to the `docker-compose.yml` to get up and running.
|
Podman handles container hostname resolution slightly differently than Docker, so you need to make a few changes to the `docker-compose.yml` to get up and running.
|
||||||
@ -11,29 +11,29 @@ Edit the `docker-compose.yml` with these additional changes:
|
|||||||
|
|
||||||
#### Tube Archivist
|
#### Tube Archivist
|
||||||
|
|
||||||
- under `tubearchivist`->`image`:
|
- under `tubearchivist` > `image`:
|
||||||
prefix the container name with `docker.io/` (or the url of your container registry of choice).
|
prefix the container name with `docker.io/` (or the url of your container registry of choice).
|
||||||
- under `tubearchivist`->`environment`:
|
- under `tubearchivist` > `environment`:
|
||||||
`ES_URL`: change `archivist-es` to reflect the internal IP of the computer that will be running the containers.
|
`ES_URL`: change `archivist-es` to reflect the internal IP of the computer that will be running the containers.
|
||||||
`REDIS_HOST`: change `archivist-redis` to reflect the internal IP of the computer that will be running the containers (should be the same as above).
|
`REDIS_HOST`: change `archivist-redis` to reflect the internal IP of the computer that will be running the containers (should be the same as above).
|
||||||
|
|
||||||
#### Redis
|
#### Redis
|
||||||
|
|
||||||
- under `archivist-redis`->`image`:
|
- under `archivist-redis` > `image`:
|
||||||
prefix the container name with `docker.io/` again.
|
prefix the container name with `docker.io/` again.
|
||||||
- under `archivist-redis`->`expose`:
|
- under `archivist-redis` > `expose`:
|
||||||
change the whole entry from `expose: ["<PORT>"]` into `ports: ["<PORT>:<PORT>"]`.
|
change the whole entry from `expose: ["<PORT>"]` into `ports: ["<PORT>:<PORT>"]`.
|
||||||
???+ example
|
???+ example
|
||||||
`ports: ["6379:6379"]`
|
`ports: ["6379:6379"]`
|
||||||
|
|
||||||
#### Elasticsearch
|
#### Elasticsearch
|
||||||
|
|
||||||
- under `archivist-es`->`image`:
|
- under `archivist-es` > `image`:
|
||||||
prefix the container name with `docker.io/` again.
|
prefix the container name with `docker.io/` again.
|
||||||
- under `archivist-es`->`expose`:
|
- under `archivist-es` > `expose`:
|
||||||
change the whole entry from `expose: ["<PORT>"]` into `ports: ["<PORT>:<PORT>"]`.
|
change the whole entry from `expose: ["<PORT>"]` into `ports: ["<PORT>:<PORT>"]`.
|
||||||
???+ example
|
???+ example
|
||||||
`ports: ["9200:9200"]`
|
`ports: ["9200:9200"]`
|
||||||
|
|
||||||
### Create service files (optional)
|
### Create service files (optional)
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
!!! note
|
!!! abstract "Installation Instructions - Community Guides"
|
||||||
These are beginner's guides/installation instructions for additional platforms generously provided by users of these platforms. When in doubt, verify the details with the [project README](https://github.com/tubearchivist/tubearchivist#installing). If you see any issues here while using these instructions, please contribute.
|
These are beginner's guides/installation instructions for additional platforms generously provided by users of these platforms. When in doubt, verify the details with the [project README](https://github.com/tubearchivist/tubearchivist#installing). If you see any issues here while using these instructions, please contribute.
|
||||||
|
|
||||||
|
|
||||||
There are several different methods to install **Tube Archivist** on Synology platforms. This will focus on the available `docker` package manager implementation for Synology 7.1 and prior.<!-- and `docker-compose` implementations. -->
|
There are several different methods to install **Tube Archivist** on Synology platforms. This will focus on the available `docker` package manager implementation for Synology 7.1 and prior.<!-- and `docker-compose` implementations. -->
|
||||||
|
|
||||||
!!! note
|
!!! note
|
||||||
Synology Package Manager for 7.2 and later should be able to follow the instructions below or can create a project using the [docker compose installation instructions.](docker-compose.md)
|
Synology Package Manager for 7.2 and later should be able to follow the instructions below or create a project using the [docker compose installation instructions.](docker-compose.md)
|
||||||
|
|
||||||
### Prepare Directories/Folders
|
### Prepare Directories/Folders
|
||||||
|
|
||||||
@ -64,36 +64,29 @@ Once all of the folders have been created, it should have a folder structure wit
|
|||||||
![Synology - Docker Folder Structure](../assets/Synology_0.2.0_Docker-Folder-Structure.png)
|
![Synology - Docker Folder Structure](../assets/Synology_0.2.0_Docker-Folder-Structure.png)
|
||||||
|
|
||||||
#### 8. Change Permissions - CLI Required
|
#### 8. Change Permissions - CLI Required
|
||||||
!!! failure CLI Required
|
|
||||||
|
!!! failure "CLI Required"
|
||||||
If you do not have SSH access enabled for CLI, [enable it](https://kb.synology.com/en-sg/DSM/tutorial/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet) before continuing.
|
If you do not have SSH access enabled for CLI, [enable it](https://kb.synology.com/en-sg/DSM/tutorial/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet) before continuing.
|
||||||
|
|
||||||
1. Open an SSH connection to the Synology. Login as your primary `Admin` user, or the user that was enabled for SSH access.
|
1. Open an SSH connection to the Synology. Login as your primary `Admin` user, or the user that was enabled for SSH access.
|
||||||
2. Elevate your access to `root`. Steps are provided [here](https://kb.synology.com/en-sg/DSM/tutorial/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet).
|
2. Elevate your access to `root`. Steps are provided [here](https://kb.synology.com/en-sg/DSM/tutorial/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet).
|
||||||
3. Change directories to the **Volume** where the "Docker" folder resides.
|
3. Change directories to the **Volume** where the "Docker" folder resides.
|
||||||
!!! example
|
!!! example "`cd /volume1`"
|
||||||
`cd /volume1`
|
|
||||||
4. Change directories to the "Docker" folder.
|
4. Change directories to the "Docker" folder.
|
||||||
!!! example
|
!!! example "`cd Docker`"
|
||||||
`cd Docker`
|
|
||||||
5. Change directories to the "TubeArchivist" folder.
|
5. Change directories to the "TubeArchivist" folder.
|
||||||
!!! example
|
!!! example "`cd TubeArchivist`"
|
||||||
`cd TubeArchivist`
|
|
||||||
6. Change the owner of the "redis" folder. *If correct, this does not have an output.*
|
6. Change the owner of the "redis" folder. *If correct, this does not have an output.*
|
||||||
!!! example
|
!!! example "`chown 999:100 redis`"
|
||||||
`chown 999:100 redis`
|
|
||||||
7. Change the owner of the "es" folder. *If correct, this does not have an output.*
|
7. Change the owner of the "es" folder. *If correct, this does not have an output.*
|
||||||
!!! example
|
!!! example "`chown 1000:0 es`"
|
||||||
`chown 1000:0 es`
|
|
||||||
8. Confirm that the folders have the correct permissions.
|
8. Confirm that the folders have the correct permissions.
|
||||||
!!! example
|
!!! example "`ls -hl`"
|
||||||
`ls -hl`
|
![Synology - Docker Folder Permissions Command](../assets/Synology_0.3.6_Docker-Folder-Permissions-Commands.png)
|
||||||
![Synology - Docker Folder Permissions Command](../assets/Synology_0.3.6_Docker-Folder-Permissions-Commands.png)
|
|
||||||
9. Logout from root.
|
9. Logout from root.
|
||||||
!!! example
|
!!! example "`logout`"
|
||||||
`logout`
|
|
||||||
10. Disconnect from the SSH connection.
|
10. Disconnect from the SSH connection.
|
||||||
!!! example
|
!!! example "`exit`"
|
||||||
`exit`
|
|
||||||
|
|
||||||
|
|
||||||
### Synology Docker Setup
|
### Synology Docker Setup
|
||||||
@ -110,106 +103,121 @@ Once all of the folders have been created, it should have a folder structure wit
|
|||||||
|
|
||||||
#### 2. Download the Docker images
|
#### 2. Download the Docker images
|
||||||
|
|
||||||
2. After `Docker` is installed, open the `Docker` utility.
|
1. After `Docker` is installed, open the `Docker` utility.
|
||||||
3. Go to the `Registry` tab.
|
1. Go to the `Registry` tab.
|
||||||
4. Search for the following `images` and download them. Follow the recommended versions for each of the images.
|
2. Search for the following `images` and download them. Follow the recommended versions for each of the images.
|
||||||
|
|
||||||
|
> !!! info "`latest` Tag"
|
||||||
|
Upgrades in Synology require use of the `latest` tag.
|
||||||
|
|
||||||
`redis/redis-stack-server`
|
`redis/redis-stack-server`
|
||||||
![Synology - Redis Image Search](../assets/Synology_0.3.6_Docker-Redis-Search.png)
|
![Synology - Redis Image Search](../assets/Synology_0.3.6_Docker-Redis-Search.png)
|
||||||
|
|
||||||
`bbilly1/tubearchivist-es`
|
`bbilly1/tubearchivist-es`
|
||||||
![Synology - ElasticSearch Image Search](../assets/Synology_0.2.0_Docker-ES-Search.png)
|
![Synology - ElasticSearch Image Search](../assets/Synology_0.2.0_Docker-ES-Search.png)
|
||||||
|
|
||||||
`bbilly1/tubearchivist`
|
`bbilly1/tubearchivist`
|
||||||
![Synology - Tube Archivist Image Search](../assets/Synology_0.2.0_Docker-TA-Search.png)
|
![Synology - Tube Archivist Image Search](../assets/Synology_0.2.0_Docker-TA-Search.png)
|
||||||
> !!! info
|
|
||||||
Upgrades in Synology require use of the `latest` tag.
|
2. Go to the `Image` tab. From here, create a container based on each image with the associated configurations below.
|
||||||
5. Go to the `Image` tab. From here, create a container based on each image with the associated configurations below.
|
|
||||||
|
|
||||||
#### 3. Configure ElasticSearch
|
#### 3. Configure ElasticSearch
|
||||||
|
|
||||||
- ElasticSearch
|
**ElasticSearch**
|
||||||
1. Select the associated image.
|
1. Select the associated image.
|
||||||
2. Click the **Launch** button in the top.
|
2. Click the **Launch** button in the top.
|
||||||
3. Edit the **Container Name** to be "tubearchivist-es".
|
3. Edit the **Container Name** to be "tubearchivist-es".
|
||||||
4. Click on the **Advanced Settings** button.
|
4. Click on the **Advanced Settings** button.
|
||||||
5. In the **Advanced Settings** tab, check the box for `Enable auto-restart`.
|
5. In the **Advanced Settings** tab, check the box for `Enable auto-restart`.
|
||||||
6. In the **Volume** tab, click the **Add Folder** button and select the "`Docker/TubeArchivist/es`" folder, then type in `/usr/share/elasticsearch/data` for the mount path.
|
6. In the **Volume** tab, click the **Add Folder** button and select the "`Docker/TubeArchivist/es`" folder, then type in `/usr/share/elasticsearch/data` for the mount path.
|
||||||
7. In the **Network** tab, leave the default `bridge` Network (unless you have a specific Network design that you know how to implement).
|
7. In the **Network** tab, leave the default `bridge` Network (unless you have a specific Network design that you know how to implement).
|
||||||
8. In the **Port Settings** tab, replace the "Auto" entry under **Local Port** with the port that will be used to connect to ElasticSearch (default is 9200).
|
8. In the **Port Settings** tab, replace the "Auto" entry under **Local Port** with the port that will be used to connect to ElasticSearch (default is 9200).
|
||||||
9. In the **Port Settings** tab, select the entryline for port 9300 and **➖ delete** the line. It is not needed for this container.
|
9. In the **Port Settings** tab, select the entryline for port 9300 and **➖ delete** the line. It is not needed for this container.
|
||||||
10. The **Links** tab does not require configuration for this container.
|
10. The **Links** tab does not require configuration for this container.
|
||||||
11. In the **Environment** tab, add in the following ElasticSearch specific environment variables that may apply.
|
11. In the **Environment** tab, add in the following ElasticSearch specific environment variables that may apply.
|
||||||
| Environment Variable | Setting |
|
|
||||||
| :------------------- | :------ |
|
| Environment Variable | Setting |
|
||||||
| `discovery.type | single-node` |
|
| :------------------- | :------ |
|
||||||
| `ES_JAVA_OPTS | -Xms512m -Xmx512m` |
|
| `discovery.type | single-node` |
|
||||||
| `UID | 1000` |
|
| `ES_JAVA_OPTS | -Xms512m -Xmx512m` |
|
||||||
| `GID | 0` |
|
| `UID | 1000` |
|
||||||
| `xpack.security.enabled | true` |
|
| `GID | 0` |
|
||||||
| `ELASTIC_PASSWORD | verysecret` |
|
| `xpack.security.enabled | true` |
|
||||||
| `path.repo | /usr/share/elasticsearch/data/snapshot` |
|
| `ELASTIC_PASSWORD | verysecret` |
|
||||||
> !!! danger "BE AWARE"
|
| `path.repo | /usr/share/elasticsearch/data/snapshot` |
|
||||||
- Do not use the default password, as it is very insecure.
|
|
||||||
- Activating snapshots for backups should only be done *after* setting the `path.repo` setting.
|
> !!! danger "BE AWARE"
|
||||||
![Synology - ElasticSearch Environment Configurations](../assets/Synology_0.2.0_Docker-ES-Env-Conf.png)
|
- Do not use the default password, as it is very insecure.
|
||||||
12. Click on the **Apply** button.
|
- Activating snapshots for backups should only be done *after* setting the `path.repo` setting.
|
||||||
13. Back on the **Create Container** screen, click the **Next** button.
|
|
||||||
14. Review the settings to confirm, then click the **Apply** button.
|
![Synology - ElasticSearch Environment Configurations](../assets/Synology_0.2.0_Docker-ES-Env-Conf.png)
|
||||||
|
|
||||||
|
12. Click on the **Apply** button.
|
||||||
|
13. Back on the **Create Container** screen, click the **Next** button.
|
||||||
|
14. Review the settings to confirm, then click the **Apply** button.
|
||||||
|
|
||||||
#### 4. Configure Redis
|
#### 4. Configure Redis
|
||||||
- Redis
|
**Redis**
|
||||||
1. Select the associated image.
|
1. Select the associated image.
|
||||||
2. Click the **Launch** button in the top.
|
2. Click the **Launch** button in the top.
|
||||||
3. Edit the **Container Name** to be "tubearchivist-redis".
|
3. Edit the **Container Name** to be "tubearchivist-redis".
|
||||||
4. Click on the **Advanced Settings** button.
|
4. Click on the **Advanced Settings** button.
|
||||||
5. In the **Advanced Settings** tab, check the box for `Enable auto-restart`.
|
5. In the **Advanced Settings** tab, check the box for `Enable auto-restart`.
|
||||||
6. In the **Volume** tab, click the **Add Folder** button and select the "`Docker/TubeArchivist/redis`" folder, then type in `/data` for the mount path.
|
6. In the **Volume** tab, click the **Add Folder** button and select the "`Docker/TubeArchivist/redis`" folder, then type in `/data` for the mount path.
|
||||||
7. In the **Network** tab, leave the default `bridge` Network (unless you have a specific Network design that you know how to implement).
|
7. In the **Network** tab, leave the default `bridge` Network (unless you have a specific Network design that you know how to implement).
|
||||||
8. In the **Port Settings** tab, replace the "Auto" entry under **Local Port** with the port that will be used to connect to Redis (default is 6379).
|
8. In the **Port Settings** tab, replace the "Auto" entry under **Local Port** with the port that will be used to connect to Redis (default is 6379).
|
||||||
9. In the **Links** tab, select the `tubearchivist-es` container from the **Container Name** dropdown and provide it the same alias, "tubearchivist-es".
|
9. In the **Links** tab, select the `tubearchivist-es` container from the **Container Name** dropdown and provide it the same alias, "tubearchivist-es".
|
||||||
10. In the **Environment** tab, add in any Redis specific environment variables that may apply (none by default).
|
10. In the **Environment** tab, add in any Redis specific environment variables that may apply (none by default).
|
||||||
11. Click on the **Apply** button.
|
11. Click on the **Apply** button.
|
||||||
12. Back on the **Create Container** screen, click the **Next** button.
|
12. Back on the **Create Container** screen, click the **Next** button.
|
||||||
13. Review the settings to confirm, then click the **Apply** button.
|
13. Review the settings to confirm, then click the **Apply** button.
|
||||||
|
|
||||||
#### 5. Configure Tube Archivist
|
#### 5. Configure Tube Archivist
|
||||||
- Tube Archivist
|
**Tube Archivist**
|
||||||
1. Select the associated image.
|
1. Select the associated image.
|
||||||
2. Click the **Launch** button in the top.
|
2. Click the **Launch** button in the top.
|
||||||
3. Edit the **Container Name** to be "tubearchivist".
|
3. Edit the **Container Name** to be "tubearchivist".
|
||||||
4. Click on the **Advanced Settings** button.
|
4. Click on the **Advanced Settings** button.
|
||||||
5. In the **Advanced Settings** tab, check the box for `Enable auto-restart`.
|
5. In the **Advanced Settings** tab, check the box for `Enable auto-restart`.
|
||||||
6. In the **Volume** tab, click the **Add Folder** button and select the "`Docker/TubeArchivist/cache`" folder, then type in `/cache` for the mount path.
|
6. In the **Volume** tab, click the **Add Folder** button and select the "`Docker/TubeArchivist/cache`" folder, then type in `/cache` for the mount path.
|
||||||
7. In the **Volume** tab, click the **Add Folder** button and select the "`Docker/TubeArchivist/media`" folder, then type in `/youtube` for the mount path.
|
7. In the **Volume** tab, click the **Add Folder** button and select the "`Docker/TubeArchivist/media`" folder, then type in `/youtube` for the mount path.
|
||||||
8. In the **Network** tab, leave the default `bridge` Network (unless you have a specific Network design that you know how to implement).
|
8. In the **Network** tab, leave the default `bridge` Network (unless you have a specific Network design that you know how to implement).
|
||||||
9. In the **Port Settings** tab, replace the "Auto" entry under **Local Port** with the port that will be used to connect to **Tube Archivist** (default is 8000).
|
9. In the **Port Settings** tab, replace the "Auto" entry under **Local Port** with the port that will be used to connect to **Tube Archivist** (default is 8000).
|
||||||
10. In the **Links** tab, select the `tubearchivist-es` container from the **Container Name** dropdown and provide it the same alias, "tubearchivist-es".
|
10. In the **Links** tab, select the `tubearchivist-es` container from the **Container Name** dropdown and provide it the same alias, "tubearchivist-es".
|
||||||
11. In the **Links** tab, select the `tubearchivist-redis` container from the **Container Name** dropdown and provide it the same alias, "tubearchivist-redis".
|
11. In the **Links** tab, select the `tubearchivist-redis` container from the **Container Name** dropdown and provide it the same alias, "tubearchivist-redis".
|
||||||
12. In the **Environment** tab, add in the following **Tube Archivist** specific environment variables that may apply. **Change the variables as is appropriate to your use case. Follow the [README section](https://github.com/tubearchivist/tubearchivist#installing) for details on what to set each variable.**
|
12. In the **Environment** tab, add in the following **Tube Archivist** specific environment variables that may apply. **Change the variables as is appropriate to your use case. Follow the [README section](https://github.com/tubearchivist/tubearchivist#installing) for details on what to set each variable.**
|
||||||
| Environment Variable | Setting |
|
|
||||||
| :------------------- | :------ |
|
|
||||||
| `TA_HOST | synology.local` |
|
|
||||||
| `ES_URL | http://tubearchivist-es:9200` |
|
|
||||||
| `REDIS_HOST | tubearchivist-redis` |
|
|
||||||
| `HOST_UID | 1000` |
|
|
||||||
| `HOST_GID | 0` |
|
|
||||||
| `TA_USERNAME | tubearchivist` |
|
|
||||||
| `TA_PASSWORD | verysecret` |
|
|
||||||
| `ELASTIC_PASSWORD | verysecret` |
|
|
||||||
| `TZ | America/New_York` |
|
|
||||||
> !!! danger "BE AWARE"
|
|
||||||
- Do not use the default password as it is very insecure.
|
|
||||||
- Ensure that ELASTIC_PASSWORD matches the password used on the `tubearchivist-es` container.
|
|
||||||
![Synology - Tube Archivist Environment Configurations](../assets/Synology_0.2.0_Docker-TA-Env-Conf.png)
|
|
||||||
|
|
||||||
13. Click on the **Apply** button.
|
| Environment Variable | Setting |
|
||||||
14. Back on the **Create Container** screen, click the **Next** button.
|
| :------------------- | :------ |
|
||||||
15. Review the settings to confirm, then click the **Apply** button.
|
| `TA_HOST | synology.local` |
|
||||||
|
| `ES_URL | http://tubearchivist-es:9200` |
|
||||||
|
| `REDIS_HOST | tubearchivist-redis` |
|
||||||
|
| `HOST_UID | 1000` |
|
||||||
|
| `HOST_GID | 0` |
|
||||||
|
| `TA_USERNAME | tubearchivist` |
|
||||||
|
| `TA_PASSWORD | verysecret` |
|
||||||
|
| `ELASTIC_PASSWORD | verysecret` |
|
||||||
|
| `TZ | America/New_York` |
|
||||||
|
|
||||||
### 6. Post-Install Monitoring
|
> !!! danger "BE AWARE"
|
||||||
|
- Do not use the default password as it is very insecure.
|
||||||
|
- Ensure that ELASTIC_PASSWORD matches the password used on the `tubearchivist-es` container.
|
||||||
|
|
||||||
|
![Synology - Tube Archivist Environment Configurations](../assets/Synology_0.2.0_Docker-TA-Env-Conf.png)
|
||||||
|
|
||||||
|
13. Click on the **Apply** button.
|
||||||
|
14. Back on the **Create Container** screen, click the **Next** button.
|
||||||
|
15. Review the settings to confirm, then click the **Apply** button.
|
||||||
|
|
||||||
|
### 6. Post-Installation Monitoring
|
||||||
|
|
||||||
6. After the containers have been configured and started, you can go to the **Container** tab and monitor the containers.
|
6. After the containers have been configured and started, you can go to the **Container** tab and monitor the containers.
|
||||||
7. To review the logs to ensure that the system has started successfully, select the `tubearchivist` container and click on the **Details** button. In the new window, go to the **Log** tab. Monitor the logs until either an error occurs or the message `celery@tubearchivist ready.` is in the logs. This may take a few minutes, especially for a first time setup.
|
7. To review the logs to ensure that the system has started successfully, select the `tubearchivist` container and click on the **Details** button. In the new window, go to the **Log** tab. Monitor the logs until either an error occurs or the message `celery@tubearchivist ready.` is in the logs. This may take a few minutes, especially for a first time setup.
|
||||||
> !!! note
|
|
||||||
Synology Docker presents the logs in a paginated format, showing in historical order (oldest first). If you are not seeing the logs update, check if there are additional pages.
|
> !!! note "Reviewing Logs"
|
||||||
|
Synology Docker presents the logs in a paginated format, showing in historical order (oldest first).
|
||||||
|
If you are not seeing the logs update, check if there are additional pages.
|
||||||
|
|
||||||
8. After it has started, go to the location provided in the `TA_HOST`. This should give you the standard **Tube Archivist** login screen.
|
8. After it has started, go to the location provided in the `TA_HOST`. This should give you the standard **Tube Archivist** login screen.
|
||||||
<!--
|
<!--
|
||||||
### Docker-Compose Setup -->
|
### Docker-Compose Setup -->
|
||||||
@ -236,7 +244,7 @@ When a new version of the image is available, you can use the following steps to
|
|||||||
3. Follow the Installation instructions again *for just the Tube Archivist image*, using the same configurations as the existing container. It'll have to be named slightly differently.
|
3. Follow the Installation instructions again *for just the Tube Archivist image*, using the same configurations as the existing container. It'll have to be named slightly differently.
|
||||||
4. After the image is now running and the upgrade of the backend files occurs, shut down the new container. Rename or delete the old container. Rename the new container to have the intended name.
|
4. After the image is now running and the upgrade of the backend files occurs, shut down the new container. Rename or delete the old container. Rename the new container to have the intended name.
|
||||||
|
|
||||||
!!! info
|
!!! info "Linking Upgrade Importance"
|
||||||
Links are incredibly important if you upgrade or change the ES or Redis container images. You will either need to remove the links, create the new containers, then re-add the links or rebuild all of the images with the same instructions as Installation, starting at Step 3.
|
Links are incredibly important if you upgrade or change the ES or Redis container images. You will either need to remove the links, create the new containers, then re-add the links or rebuild all of the images with the same instructions as Installation, starting at Step 3.
|
||||||
|
|
||||||
### Support
|
### Support
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
!!! note
|
!!! abstract "Installation Instructions - Community Guides"
|
||||||
These are beginner's guides/installation instructions for additional platforms generously provided by users of these platforms. When in doubt, verify the details with the [project README](https://github.com/tubearchivist/tubearchivist#installing). If you see any issues here while using these instructions, please contribute.
|
These are beginner's guides/installation instructions for additional platforms generously provided by users of these platforms. When in doubt, verify the details with the [project README](https://github.com/tubearchivist/tubearchivist#installing). If you see any issues here while using these instructions, please contribute.
|
||||||
|
|
||||||
Truenas Scale can be a bit confusing with its k3s Kubernetes implementation.
|
Truenas Scale can be a bit confusing with its k3s Kubernetes implementation.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
!!! abstract
|
!!! abstract "Installation Instructions - Community Guides"
|
||||||
These are beginner's guides/installation instructions for additional platforms generously provided by users of these platforms. When in doubt, verify the details with the [project README](https://github.com/tubearchivist/tubearchivist#installing). If you see any issues here while using these instructions, please contribute.
|
These are beginner's guides/installation instructions for additional platforms generously provided by users of these platforms. When in doubt, verify the details with the [project README](https://github.com/tubearchivist/tubearchivist#installing). If you see any issues here while using these instructions, please contribute.
|
||||||
|
|
||||||
**Tube Archivist**, and all if it's dependencies, are located in the [community applications](https://unraid.net/community/apps?q=tubearchivist) store. The three containers you will need are as follows:
|
**Tube Archivist**, and all if it's dependencies, are located in the [community applications](https://unraid.net/community/apps?q=tubearchivist) store. The three containers you will need are as follows:
|
||||||
|
@ -80,7 +80,7 @@ If the video you are trying to import is not available on YouTube any more, **Tu
|
|||||||
- For best file transcoding quality, convert your media files with desired settings first before importing.
|
- For best file transcoding quality, convert your media files with desired settings first before importing.
|
||||||
- A notification box will show with progress, follow the docker logs to monitor for errors.
|
- A notification box will show with progress, follow the docker logs to monitor for errors.
|
||||||
|
|
||||||
!!! tip
|
!!! tip "Start Small"
|
||||||
Starting with a small subset of the files to import to test and confirm that your settings, configurations, and files will work is recommended.
|
Starting with a small subset of the files to import to test and confirm that your settings, configurations, and files will work is recommended.
|
||||||
|
|
||||||
## Embed thumbnails into media file
|
## Embed thumbnails into media file
|
||||||
|
@ -11,7 +11,8 @@ This document describes how **Tube Archivist** identifies and treats links from
|
|||||||
## Video
|
## Video
|
||||||
A video ID is **11** characters long, e.g. `2tdiKTSdE9Y`.
|
A video ID is **11** characters long, e.g. `2tdiKTSdE9Y`.
|
||||||
|
|
||||||
Urls can have several forms:
|
Urls can have several forms:
|
||||||
|
|
||||||
| URL Type | Example | Description |
|
| URL Type | Example | Description |
|
||||||
| :------- | :------ | :---------- |
|
| :------- | :------ | :---------- |
|
||||||
| Watch URL | `https://www.youtube.com/watch?v=2tdiKTSdE9Y` | Regular URLs you will see while browsing YouTube, with the path */watch* and a *v* parameter |
|
| Watch URL | `https://www.youtube.com/watch?v=2tdiKTSdE9Y` | Regular URLs you will see while browsing YouTube, with the path */watch* and a *v* parameter |
|
||||||
@ -22,6 +23,7 @@ Urls can have several forms:
|
|||||||
A channel ID is **24** characters long, e.g. `UCBa659QWEk1AI4Tg--mrJ2A`.
|
A channel ID is **24** characters long, e.g. `UCBa659QWEk1AI4Tg--mrJ2A`.
|
||||||
|
|
||||||
Channel URLs can have these forms, all will get translated to the ID:
|
Channel URLs can have these forms, all will get translated to the ID:
|
||||||
|
|
||||||
| URL Type | Example | Description |
|
| URL Type | Example | Description |
|
||||||
| :------- | :------ | :---------- |
|
| :------- | :------ | :---------- |
|
||||||
| ID URL | `https://www.youtube.com/channel/UCBa659QWEk1AI4Tg--mrJ2A` | With a *channel* path |
|
| ID URL | `https://www.youtube.com/channel/UCBa659QWEk1AI4Tg--mrJ2A` | With a *channel* path |
|
||||||
|
Loading…
Reference in New Issue
Block a user