Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update v0.2 support thread: check the release notes and the readme. #275

Closed
zarevskaya opened this issue Jul 23, 2022 · 25 comments
Closed
Labels
documentation Improvements or additions to documentation

Comments

@zarevskaya
Copy link

zarevskaya commented Jul 23, 2022

Hi,

What is your error?
After the last upgrade the app won't launch

How to reproduce?
Just update the app

[archivist-redis]: ok

[archivist-es]:
Capture d’écran du 2022-07-23 15-24-54

SOLUTION: chown 1000:0 /path/to/mount/point of elasticsearch

[tubearchivist]:
Capture d’écran du 2022-07-23 15-26-25

SOLUTION: add TA_HOST in the yml

TA_HOST=YOUR_IP
or
TA_HOST=YOUR_DOMAIN

Like this:

Capture d’écran du 2022-07-23 16-53-43

Have a nice day!

@bbilly1
Copy link
Member

bbilly1 commented Jul 23, 2022

Yes, as the message says, you have a missing required environment variable. Check the release notes, it's all documented there: https://github.com/tubearchivist/tubearchivist/releases/tag/v0.2.0

EDIT: And for elastic search, it looks like it's the permission error as described in the readme.

@zarevskaya
Copy link
Author

Thank you for the quick response.

The container of tubearchivist, ok, just add the line - TA_HOST:ip:port

He wait elasticsearch now. I try to fixe the permission.

Thank you

@zarevskaya
Copy link
Author

When I launch the app I have a Bazd Request (400) error.

Capture d’écran du 2022-07-23 16-09-18

@bbilly1
Copy link
Member

bbilly1 commented Jul 23, 2022

What did you set as the TA_HOST variable?

@bbilly1 bbilly1 added the question Further information is requested label Jul 23, 2022
@hugalafutro
Copy link

hugalafutro commented Jul 23, 2022

edit: nvm I'm dumb, it's supposed to be the ip where it runs not ips where I access TA from...

I am getting 400 Bad request too, TA_HOST is:
TA_HOST: 192.168.1.163 192.168.1.129 192.168.1.141
neither of those 3 computers (nor any pc) can access TA

@birdwing
Copy link
Contributor

I am also getting a warning that: required elasticsearch version: 8.0
And it is in a reboot loop. It keeps exiting and restarting, but never initiates.

For reference my TA_HOST=media.mydomain.com
Capture

@zarevskaya
Copy link
Author

Oh, I had copied and pasted the address of the subdomain with the port. After removing the port, everything works again. Thank you very much for the support & for all this work/application.

@zarevskaya
Copy link
Author

zarevskaya commented Jul 23, 2022

I am also getting a warning that: required elasticsearch version: 8.0 And it is in a reboot loop. It keeps exiting and restarting, but never initiates.

The documentation indicates that if we leave it like this, the migration will happen automatically. Is it like that with you?

archivist-es:
image: bbilly1/tubearchivist-es

Capture d’écran du 2022-07-23 16-19-58

@bbilly1
Copy link
Member

bbilly1 commented Jul 23, 2022

@birdwing: As the message says, update your Elasticsearch to version 8, or use bbilly1/tubearchivist-es, check the release notes or the readme.

@bbilly1
Copy link
Member

bbilly1 commented Jul 23, 2022

@hugalafutro: You are right, that might not be clearly formulated and I can see how you came to that conclusion. Do you have a better wording?

@bbilly1 bbilly1 changed the title The app not work after update update v0.2 support thread: check the release notes and the readme. Jul 23, 2022
@hugalafutro
Copy link

@bbilly1 English is not my 1st language so I often confuse stuff like this - maybe I'm not the best to ask :D I guess something like "Set TA_HOST to hostname (FQDN or IP) of the system running TA", but as I said that might be just needlessly complicating it as I might be in the crowd of my own misrepresenting the whole thing.

@zarevskaya
Copy link
Author

zarevskaya commented Jul 23, 2022

@bbilly1 English is not my 1st language so I often confuse stuff like this - maybe I'm not the best to ask :D I guess something like "Set TA_HOST to hostname (FQDN or IP) of the system running TA", but as I said that might be just needlessly complicating it as I might be in the crowd of my own misrepresenting the whole thing.

Just type YOUR ip or domain like this:
TA_HOST=192.168.1.101

Without the port :) Don't do my mistake ^^

@birdwing
Copy link
Contributor

@birdwing: As the message says, update your Elasticsearch to version 8, or use bbilly1/tubearchivist-es, check the release notes or the readme.

I am using bbilly1/tubearchivist-es

@zarevskaya
Copy link
Author

zarevskaya commented Jul 23, 2022

@birdwing: As the message says, update your Elasticsearch to version 8, or use bbilly1/tubearchivist-es, check the release notes or the readme.

I am using bbilly1/tubearchivist-es

Have you deploy the container after? For the migration.

@birdwing
Copy link
Contributor

Wait... I'm an idiot nevermind.
Put the updated docker-compose.yml in the wrong location

/Facepalm

@pairofcrocs
Copy link
Contributor

Wait... I'm an idiot nevermind. Put the updated docker-compose.yml in the wrong location

/Facepalm

happens to the best of us XD

@zarevskaya
Copy link
Author

zarevskaya commented Jul 23, 2022

Wait... I'm an idiot nevermind. Put the updated docker-compose.yml in the wrong location

/Facepalm

I'm an idiot too. I update the app with Yacht without read the doc -_-'
In many situations this is enough. But not this time.

Have a nice day

@birdwing
Copy link
Contributor

Thanks!

@bbilly1
Copy link
Member

bbilly1 commented Jul 23, 2022

OK, from your input, slightly better wording in the readme:

Set the environment variable TA_HOST to match with the system running Tube Archivist. This can be a domain like example.com, a subdomain like ta.example.com or an IP address like 192.168.1.20, add without the protocol and without the port. You can add multiple hostnames separated with a space.

All in all, always read the release notes, make sure you pull both Elasticsearch and Tubearchivist and most importantly, stay cool and carry on. :-)

Let's keep this open for a day or two, just in case others stumble over the same things.

@bbilly1 bbilly1 pinned this issue Jul 23, 2022
@bbilly1 bbilly1 added duplicate This issue or pull request already exists documentation Improvements or additions to documentation and removed question Further information is requested duplicate This issue or pull request already exists labels Jul 23, 2022
@vityav
Copy link

vityav commented Jul 24, 2022

I'm also encountering issues with the new environment variable.

If I use my default reverse proxy settings and set TA_HOST to the FQDN, I get a 400 error accessing the login page. If I set it to the internal IP, but access via FQDN, I get the login page but logging in gives me a CSRF 403 page.

If I set it to FQDN, and have proxy_set_header Host $host; in my NGINX reverse proxy definition (previously not defining the Host header), I start getting the login page again but still get a 403 on logging in.

If I set it to the internal IP and access it directly, everything works fine.

I've tried a variety of proxy configuration headers (shown below) but they all result in a 403 "CSRF verification failed" page, with no actual errors in the logs (NGINX or TA). Do you know what exactly is being checked for CSRF, or what settings might be required?

Thanks!

...
server_name ta.mydomain.com     # Matches TA_HOST=ta.mydomain.com
...

location / {
 proxy_pass http://192.168.1.10:8118;
 proxy_http_version  1.1;
 #proxy_buffering  off;
 #proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
 #proxy_set_header  Upgrade $http_upgrade;
 #proxy_set_header  Connection $http_connection;
 #proxy_ssl_server_name on;

 #proxy_set_header Host $host;
 #proxy_set_header  X-Forwarded-For $remote_addr;
 #proxy_set_header X-Real-IP $remote_addr;
 #proxy_set_header X-Forwarded-Proto $scheme;

 #proxy_set_header   X-Real-IP        $remote_addr;
 #proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
 #proxy_set_header   X-NginX-Proxy    true;
 #proxy_set_header   Host             $http_host;
 #proxy_set_header   Referer          $http_host;
 #proxy_set_header   Upgrade          $http_upgrade;
 #proxy_pass_header  Set-Cookie;
 #proxy_redirect     off;
 #proxy_set_header X-XSRF-TOKEN $http_x_xsrf_token;

 proxy_set_header        Host            $host;
 proxy_set_header        X-Real-IP       $remote_addr;
 proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_pass_header       Set-Cookie;

}

@yaserahmady
Copy link

I have a similar problem to vityav.

I'm trying to serve TubeArchivist 0.2.0 on my domain via caddy-docker-proxy but I totally can't crack it. localhost works but my hosted version doesn't (error 502). I guess it's because of Django's ALLOWED_HOSTS but it looks like I'm doing everything correctly…

I installed TubeArchivist for the first time just today. I'm on the latest Docker on WSL2 Ubuntu.

version: '3.3'

services:
  tubearchivist:
    container_name: tubearchivist
    networks:
      - caddy
    labels:
      caddy: youtube.example.com
      caddy.reverse_proxy: "{{upstreams 5678}}"
    restart: unless-stopped
    image: bbilly1/tubearchivist
    ports:
      - 5678:8000
    volumes:
      - /mnt/d/Media/YouTube:/youtube
      - cache:/cache
    environment:
      - ES_URL=http://archivist-es:9200     # needs protocol e.g. http and port
      - REDIS_HOST=archivist-redis          # don't add protocol
      - HOST_UID=1000
      - HOST_GID=1000
      - TA_HOST=localhost youtube.example.com        # set your host name
      - TA_USERNAME=tubearchivist           # your initial TA credentials
      - TA_PASSWORD=verysecret              # your initial TA credentials
      - ELASTIC_PASSWORD=verysecret         # set password for Elasticsearch
      - TZ=Europe/Rome                      # set your time zone
    depends_on:
      - archivist-es
      - archivist-redis
  
  archivist-redis:
    image: redislabs/rejson                 # for arm64 use bbilly1/rejson
    container_name: archivist-redis
    networks:
      - caddy
    restart: unless-stopped
    expose:
      - "6379"
    volumes:
      - redis:/data
    depends_on:
      - archivist-es
  
  archivist-es:
    image: bbilly1/tubearchivist-es         # only for amd64, or use official es 8.3.2
    container_name: archivist-es
    networks:
      - caddy
    restart: unless-stopped
    environment:
      - "xpack.security.enabled=true"
      - "ELASTIC_PASSWORD=verysecret"       # matching Elasticsearch password
      - "discovery.type=single-node"
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./volumes/es:/usr/share/elasticsearch/data    # check for permission error when using bind mount, see readme
    expose:
      - "9200"

volumes:
  cache:
  redis:
  es:

networks:
  caddy:
    external: true

@bbilly1
Copy link
Member

bbilly1 commented Jul 25, 2022

For reverse proxy setup, reach out on Discord, there is a #support thread going for that. Hopefully somebody with expertise can help.

@yaserahmady
Copy link

yaserahmady commented Jul 25, 2022

Turns out that Caddy wants the og container port (8000) and not the mapped one I chose (5678). It just works great now with this little change:

    networks:
      - caddy
    labels:
      caddy: ta.example.com
      caddy.reverse_proxy: "{{upstreams 8000}}"

@TheOneValen
Copy link

Sorry, did not find an answer anywhere else: Will the new features (Indexed subtitles, Sponsorblock, ...) be available for already downloaded videos?

@bbilly1
Copy link
Member

bbilly1 commented Jul 25, 2022

Depending on your settings. You can activate sponsor block and subtitle indexing from the settings page. If you do that after downloading them, these things didn't get indexed, but they will with the Refresh metadata task: https://github.com/tubearchivist/tubearchivist/wiki/Settings#refresh-metadata

Edit: reading your message again, maybe you are talking about the manual import? Manual import will index everything based on your configurations. So activate that before you start the process. Or reach out on Discord if I misunderstood you.

@bbilly1 bbilly1 closed this as completed Jul 30, 2022
@bbilly1 bbilly1 unpinned this issue Jul 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

8 participants