Merge pull request #34 from lamusmaser/batch-editing

Batch editing
This commit is contained in:
lamusmaser 2024-04-20 04:27:35 -06:00 committed by GitHub
commit c7d13f4ef0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 141 additions and 131 deletions

View File

@ -4,7 +4,7 @@ description: Collection of advanced concepts and debug info.
# 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.
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.
## 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.
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.

View File

@ -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_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
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`. |
> ??? 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`. |
| `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. |

View File

@ -5,7 +5,7 @@ description: Frequently asked questions about what this project is, what it trie
# Frequently Asked Questions
## 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.
- **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:
- **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:
@ -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.
## 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.
- **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?
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.
## 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.
## 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).
@ -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.
## 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.
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.

View File

@ -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.
## ElasticSearch
!!! success
!!! success "Elasticsearch Version"
**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.
@ -88,7 +88,7 @@ Should you need to change the port for Elasticsearch to, for example `9500`, fol
## 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.
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.

View File

@ -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.
There is a Helm Chart available at [https://github.com/insuusvenerati/helm-charts](https://github.com/insuusvenerati/helm-charts).

View File

@ -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.
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
- under `tubearchivist`->`image`:
- under `tubearchivist` > `image`:
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.
`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
- under `archivist-redis`->`image`:
- under `archivist-redis` > `image`:
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>"]`.
???+ example
`ports: ["6379:6379"]`
`ports: ["6379:6379"]`
#### Elasticsearch
- under `archivist-es`->`image`:
- under `archivist-es` > `image`:
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>"]`.
???+ example
`ports: ["9200:9200"]`
`ports: ["9200:9200"]`
### Create service files (optional)

View File

@ -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.
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
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
@ -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)
#### 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.
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).
3. Change directories to the **Volume** where the "Docker" folder resides.
!!! example
`cd /volume1`
!!! example "`cd /volume1`"
4. Change directories to the "Docker" folder.
!!! example
`cd Docker`
!!! example "`cd Docker`"
5. Change directories to the "TubeArchivist" folder.
!!! example
`cd TubeArchivist`
!!! example "`cd TubeArchivist`"
6. Change the owner of the "redis" folder. *If correct, this does not have an output.*
!!! example
`chown 999:100 redis`
!!! example "`chown 999:100 redis`"
7. Change the owner of the "es" folder. *If correct, this does not have an output.*
!!! example
`chown 1000:0 es`
!!! example "`chown 1000:0 es`"
8. Confirm that the folders have the correct permissions.
!!! example
`ls -hl`
![Synology - Docker Folder Permissions Command](../assets/Synology_0.3.6_Docker-Folder-Permissions-Commands.png)
!!! example "`ls -hl`"
![Synology - Docker Folder Permissions Command](../assets/Synology_0.3.6_Docker-Folder-Permissions-Commands.png)
9. Logout from root.
!!! example
`logout`
!!! example "`logout`"
10. Disconnect from the SSH connection.
!!! example
`exit`
!!! example "`exit`"
### 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. After `Docker` is installed, open the `Docker` utility.
3. Go to the `Registry` tab.
4. Search for the following `images` and download them. Follow the recommended versions for each of the images.
1. After `Docker` is installed, open the `Docker` utility.
1. Go to the `Registry` tab.
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`
![Synology - Redis Image Search](../assets/Synology_0.3.6_Docker-Redis-Search.png)
`bbilly1/tubearchivist-es`
![Synology - ElasticSearch Image Search](../assets/Synology_0.2.0_Docker-ES-Search.png)
`bbilly1/tubearchivist`
![Synology - Tube Archivist Image Search](../assets/Synology_0.2.0_Docker-TA-Search.png)
> !!! info
Upgrades in Synology require use of the `latest` tag.
5. Go to the `Image` tab. From here, create a container based on each image with the associated configurations below.
2. Go to the `Image` tab. From here, create a container based on each image with the associated configurations below.
#### 3. Configure ElasticSearch
- ElasticSearch
1. Select the associated image.
2. Click the **Launch** button in the top.
3. Edit the **Container Name** to be "tubearchivist-es".
4. Click on the **Advanced Settings** button.
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.
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).
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.
11. In the **Environment** tab, add in the following ElasticSearch specific environment variables that may apply.
| Environment Variable | Setting |
| :------------------- | :------ |
| `discovery.type | single-node` |
| `ES_JAVA_OPTS | -Xms512m -Xmx512m` |
| `UID | 1000` |
| `GID | 0` |
| `xpack.security.enabled | true` |
| `ELASTIC_PASSWORD | verysecret` |
| `path.repo | /usr/share/elasticsearch/data/snapshot` |
> !!! danger "BE AWARE"
- 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.
![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.
**ElasticSearch**
1. Select the associated image.
2. Click the **Launch** button in the top.
3. Edit the **Container Name** to be "tubearchivist-es".
4. Click on the **Advanced Settings** button.
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.
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).
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.
11. In the **Environment** tab, add in the following ElasticSearch specific environment variables that may apply.
| Environment Variable | Setting |
| :------------------- | :------ |
| `discovery.type | single-node` |
| `ES_JAVA_OPTS | -Xms512m -Xmx512m` |
| `UID | 1000` |
| `GID | 0` |
| `xpack.security.enabled | true` |
| `ELASTIC_PASSWORD | verysecret` |
| `path.repo | /usr/share/elasticsearch/data/snapshot` |
> !!! danger "BE AWARE"
- 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.
![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
- Redis
1. Select the associated image.
2. Click the **Launch** button in the top.
3. Edit the **Container Name** to be "tubearchivist-redis".
4. Click on the **Advanced Settings** button.
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.
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).
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).
11. Click on the **Apply** button.
12. Back on the **Create Container** screen, click the **Next** button.
13. Review the settings to confirm, then click the **Apply** button.
**Redis**
1. Select the associated image.
2. Click the **Launch** button in the top.
3. Edit the **Container Name** to be "tubearchivist-redis".
4. Click on the **Advanced Settings** button.
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.
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).
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).
11. Click on the **Apply** button.
12. Back on the **Create Container** screen, click the **Next** button.
13. Review the settings to confirm, then click the **Apply** button.
#### 5. Configure Tube Archivist
- Tube Archivist
1. Select the associated image.
2. Click the **Launch** button in the top.
3. Edit the **Container Name** to be "tubearchivist".
4. Click on the **Advanced Settings** button.
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.
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).
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".
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.**
| 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)
**Tube Archivist**
1. Select the associated image.
2. Click the **Launch** button in the top.
3. Edit the **Container Name** to be "tubearchivist".
4. Click on the **Advanced Settings** button.
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.
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).
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".
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.**
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.
| 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` |
### 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.
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.
<!--
### 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.
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.
### Support

View File

@ -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.
Truenas Scale can be a bit confusing with its k3s Kubernetes implementation.

View File

@ -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.
**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:

View File

@ -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.
- 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.
## Embed thumbnails into media file

View File

@ -11,7 +11,8 @@ This document describes how **Tube Archivist** identifies and treats links from
## Video
A video ID is **11** characters long, e.g. `2tdiKTSdE9Y`.
Urls can have several forms:
Urls can have several forms:
| 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 |
@ -22,6 +23,7 @@ Urls can have several forms:
A channel ID is **24** characters long, e.g. `UCBa659QWEk1AI4Tg--mrJ2A`.
Channel URLs can have these forms, all will get translated to the ID:
| URL Type | Example | Description |
| :------- | :------ | :---------- |
| ID URL | `https://www.youtube.com/channel/UCBa659QWEk1AI4Tg--mrJ2A` | With a *channel* path |