basekat / chitanka-docker

4 stars 1 forks source link

проблемчета #1

Open blagovestl opened 1 year ago

blagovestl commented 1 year ago

Здравей, Благодаря за проекта !

Видях засега следните проблеми: 1) git clone иска user и password тоест трябва да имаш git user за да го свалиш. 2) Не работи, не се стартира web сервиза понеже имате сгрешени пътища в docker-compose.yml във web частта. Трябва да са от горната директория тоест така:

volumes:

3) Няма корици 4) Линковете в основната страница не работят понеже вместо: "http://192.168.99.12/new/books" изглеждат така: "http://192.168.99.12/x2Fnew/x2Fbooks" тоест след всеки "/" се добавя "x2F". Понеже "0x2F" e ascii символа на "/" предполагам някакъв encoding проблем.

Поздрави.

unguamorray commented 1 year ago

Добави това към db: command:

basekat commented 1 year ago

Здравей!

Съжалявам за забавения отговор, но понякога се струпва в повече от всичко.

  1. git clone - имаше грешка в URLто в README файла. Хранилището е публично, така че няма как да иска парола.
  2. docker-compose.yml + nginx.conf са файлове, които са под контрол на потребителя и тяхната организация е въпрос на предпочитание. При мен те са:
    
    [root@pipi chitanka]# tree
    .
    ├── chitanka
    │   ├── cron.sh
    │   ├── Dockerfile
    │   └── entrypoint.sh
    ├── db.env
    ├── docker-compose.yml
    ├── nginx_chitanka_conf.template
    ├── nginx.conf
    └── README.md
4. @unguamorray добавих твоето предложение в README. Благодаря! Не разбрах коментара ти за ъпдейта, моите тестове показват, че базата се обновява редовно.

3. Току що качих нов docker image съдържащ последните промени от https://github.com/chitanka/chitanka-production/ - можеш да го пробваш и да кажеш дали проблемите се решават.
Съветвам те с оглед на промените UTF-8 ot 4) да изтриеш локалните  volumes.

docker-compose down -v docker-compose pull docker-compose up -d

blagovestl commented 1 year ago

Изтрих всичко включително docker и почнах от начало. Наблюдения:

  1. git clone - имаше грешка в URLто в README файла. Хранилището е публично, така че няма как да иска парола. В readme файла си стои сбърканото url.

  2. docker-compose.yml + nginx.conf са файлове, които са под контрол на потребителя и тяхната организация е въпрос на предпочитание. Прав си мое недоглеждане. Решил съм че трябва да е в ~/chitanka/chitanka/

  3. @unguamorray има в предвид следното:

" [root@media2 chitanka]# /usr/libexec/docker/cli-plugins/docker-compose exec --user www-data app bash www-data@cd08dd7244d4:~/html$ cd /var/www/chitanka/ www-data@cd08dd7244d4:~/chitanka$ ./bin/update 09:38:51: Update started on 2023-03-24. 09:38:51: Pause for 29 seconds. 09:39:20: Executing source update... hint: Pulling without specifying how to reconcile divergent branches is hint: discouraged. You can squelch this message by running one of the following hint: commands sometime before your next pull: hint: hint: git config pull.rebase false # merge (the default strategy) hint: git config pull.rebase true # rebase hint: git config pull.ff only # fast-forward only hint: hint: You can replace "git config" with "git config --global" to set a default hint: preference for all repositories. You can also pass --rebase, --no-rebase, hint: or --ff-only on the command line to override the configured default per hint: invocation. 09:39:21: Executing content update... rsync: [generator] failed to set times on "/var/www/chitanka/web/content/img/b6/46772": Operation not permitted (1) rsync: [generator] opendir "/var/www/chitanka/web/content/img/b6/46772" failed: Permission denied (13) rsync: [generator] recv_generator: failed to stat "/var/www/chitanka/web/content/img/b6/46772/29_belosn_chervenr.jpg": Permission denied (13) rsync: [generator] recv_generator: failed to stat "/var/www/chitanka/web/content/img/b6/46772/30_sestri.jpg": Permission denied (13) rsync: [generator] recv_generator: failed to stat "/var/www/chitanka/web/content/img/b6/46772/31_mechka.jpg": Permission denied (13) rsync: [generator] recv_generator: failed to stat "/var/www/chitanka/web/content/img/b6/46772/32_mechka_gora.jpg": Permission denied (13) rsync: [generator] recv_generator: failed to stat "/var/www/chitanka/web/content/img/b6/46772/33_dgudge.jpg": Permission denied (13) rsync: [generator] recv_generator: failed to stat "/var/www/chitanka/web/content/img/b6/46772/34_riba.jpg": Permission denied (13) rsync: [generator] recv_generator: failed to stat "/var/www/chitanka/web/content/img/b6/46772/35_orel.jpg": Permission denied (13) rsync: [generator] recv_generator: failed to stat "/var/www/chitanka/web/content/img/b6/46772/36_bogati.jpg": Permission denied (13) rsync: [generator] recv_generator: failed to stat "/var/www/chitanka/web/content/img/b6/46772/37_prinz.jpg": Permission denied (13) rsync: [generator] failed to set times on "/var/www/chitanka/web/content/img/b6/46773": Operation not permitted (1)

и т. н. "

последно url-тата се оправиха появиха се и корици но наблюдавам нещо много странно: Каквото и да реша да сваля винаги се сваля едно и също Veronica-Roth_-Sb-_1._Smyrtnibelezi-_49963.fb2.zip което даже не е цялото произведение а само първата страница. Ако се опитам да чета нещо директно от сайта се оказва че самото произведение липсва. Страниците които се зареждат като се кликне на съдържание са празни.

basekat commented 1 year ago

Благодаря ти за съобщението @blagovestl

Добавих examples, които би трябвало да улеснят някой, който сега започва и обнових README с инструкции.

Проблемът с правата е следния: Уеб сървърът в контейнера е пуснат кат потребител www-data:www-data (33:33), но когато се дефинира volume: content:/var/www/chitanka/web/content , той се монтира в контейнера и директорията принадлежи на root:root. Съответно, когато update скрипта се стартира, няма права да пише в тази директория.

Има различни начини да се реши този проблем. Аз предлагам да се укаже път до content директорията (за да не се скрива така или иначе в /var/lib/docker/volumes), да се създаде предварително и правата на директорията да са такива, че да може www-data да пише в нея.

blagovestl commented 1 year ago

Здравей, Наблюдавам нещо много странно което се проявява само след като е минал ъпдейта от cron. Когато сваля какъвто и да е файл от читанката всичко което в последстие сваля е де факто същият фаил. Видях че свалям файла от контейнера от път /var/www/chitanka/web/cache/dl/. Ако изтрия на ръка въпросният файл почва да работи и следващите които се опитвам да сваля остават в същата директория.
директорията е с права: drwxr-xr-x 2 www-data www-data 4096 Apr 4 07:14 dl Файловете в нея също: www-data@90ecde40df2d:~/chitanka/web/cache/dl$ ls -al total 20152 drwxr-xr-x 2 www-data www-data 4096 Apr 4 07:14 . drwxrwxrwx 5 www-data www-data 4096 Apr 3 17:40 .. -rw-rw-rw- 1 www-data www-data 428989 Apr 4 07:14 Caroline-Linden_-_Oshtepo-skandalno-11346-b.fb2.zip -rw-rw-rw- 1 www-data www-data 1753126 Apr 4 07:13 David-Hair-_Kryvta_namaga-11352-b.fb2.zip -rw-rw-rw- 1 www-data www-data 363322 Apr 3 18:49 Joe-Navarro-Toni-Sciarra-Poynter-_Opasnitelichnosti-_Profajlyr_ot_FBR_uchi_kak_da_razpoznavate_i_da_se_zashtitavate_ot_zlovrednilichnosti-11355-.fb2.zip -rw-rw-rw- 1 www-data www-data 17904015 Apr 3 13:42 John-R-R-Tolkien-_Beren_iLutien-_Pod_redaktsijata_na_KristofyrTolkin-11353-b.fb2.zip -rw-rw-rw- 1 www-data www-data 1653cker02 Apr 4 07:14 Salla-Simukka-_Cherna_katoabanos-_11350-b.fb2.zip

Като файла който фигуративно казано "залепва" е със същите права и по нищо не се различава от останалите

Пренасочих и db volume-а на място където е content със всякакви права. останалите се създават във:

ls -la /var/lib/docker/volumes/ total 48 drwx-----x 4 root root 4096 Apr 3 16:03 . drwx--x--- 13 root root 4096 Apr 1 17:19 .. brw------- 1 root root 8, 2 Apr 1 17:19 backingFsBlockDev drwx-----x 3 root root 4096 Apr 3 16:03 chitanka_app drwx-----x 3 root root 4096 Apr 3 16:03 chitanka_config -rwxrwxrwx 1 root root 65536 Apr 3 16:03 metadata.db

Поздрави.