diff --git a/docs/other/ssl-for-site.md b/docs/other/ssl-for-site.md new file mode 100644 index 0000000..728c8be --- /dev/null +++ b/docs/other/ssl-for-site.md @@ -0,0 +1,65 @@ +## Получить SSL-сертификат + +[https://letsencrypt.org/](https://letsencrypt.org/) - бесплатно, обновляется автоматически (раз в 3 месяца), срок действия не ограничен + +[https://github.com/Neilpang/acme.sh](https://github.com/Neilpang/acme.sh) - An ACME Shell script + +[https://www.globalsign.com/ssl/ssl-open-source/](https://www.globalsign.com/ssl/ssl-open-source/) - бесплатные сертификаты для некоммерческих целей + +## Настройка сервера + +Покажу пример настройки для Let's Encrypt SSL. Запущенный веб сервер с виртуальным хостом сконфигурирован для example.com на порту 80. + +обновим все пакеты `apt-get update && apt-get upgrade` + +скачаем `certbot-auto` Let’s Encrypt клиент и сохраним в `/usr/sbin` директорию: + +```bash +sudo wget https://dl.eff.org/certbot-auto -O /usr/sbin/certbot-auto +sudo chmod a+x /usr/sbin/certbot-auto +``` + +запросим сертификат + +```bash +sudo certbot-auto certonly –standalone -d example.com -d www.example.com +``` + +проверим сертификат + +```bash +cd /etc/letsencrypt/live/example.com +ls +cert.pem chain.pem fullchain.pem privkey.pem +``` + +## Конфигурация веб сервера {.tabset} + +### nginx + +```nginx +ssl on; +ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; +ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; +``` +### Apache + +```apache +SSLEngine on +SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem +SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem +SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem +``` +Конфигурация автоматического обновления. Добавить в `crontab`: +```crontab +0 2 * * * sudo /usr/sbin/certbot-auto -q renew +``` +## Проверка сертификата + +[https://sslcheck.globalsign.com](https://sslcheck.globalsign.com/) [https://www.sslshopper.com/ssl-checker.html](https://www.sslshopper.com/ssl-checker.html) + +## Domain blacklisted + +Если при валидации домена получаете сообщение «Domain Blacklisted. Domain «YOU-DOMAIN.ru» appears on a blacklist. Please try it again or email the Certmaster for further information.» - значит что Google в последние 90 дней находил на сайте вирусы. + +Проверить можно тут: [http://www.google.com/safebrowsing/diagnostic?site=YOU-DOMAIN.ru](https://www.google.com/safebrowsing/diagnostic?site=YOU-DOMAIN.ru) \ No newline at end of file diff --git a/docs/other/ubuntu-bash-aliases.md b/docs/other/ubuntu-bash-aliases.md new file mode 100644 index 0000000..32a4cd6 --- /dev/null +++ b/docs/other/ubuntu-bash-aliases.md @@ -0,0 +1,99 @@ +Работа в командной строке обеспечивает скорость и удобство. Недостатком является то, что вам придется запоминать все команды, а некоторые из них длинные и могут повлиять на вашу производительность. К счастью, мы можем создавать ярлыки для команд, которые могут значительно ускорить работу. + +В Ubuntu пользователь может создать файл «.bash\_aliases», содержащий список всех ярлыков или псевдонимов часто используемых команд. Прежде всего, убедитесь, что у вас есть файл .bashrc в вашем домашнем каталоге: + +```bash +cd ~ +ls -al +``` + +Проверьте, есть ли у вас файл .bashrc. Если он у вас есть, откройте файл в nano или вашем любимом текстовом редакторе и найдите следующие строки: + +```bash +if [ -f ~/.bash_aliases ]; then + . ~/.bash_aliases +fi +``` + +Убедитесь, что они не закомментированы (без символа # перед строками). + +Теперь создайте файл .bash\_aliases в своем домашнем каталоге и начните добавлять в него свои псевдонимы. Ниже приведен пример файла .bash\_aliases: + +```bash +# Update and Upgrade Packages +alias update='sudo apt-get update' +alias upgrade='sudo apt-get upgrade' + +# Install and Remove Packages +alias install='sudo apt-get install' +alias uninstall='sudo apt-get remove' +alias installf='sudo apt-get -f install' #force install +alias installfr='sudo apt-get -f install --reinstall' #force reinstall + +# Add repository keys (usage: addkey XXXXXXXX - last 8 digits of the key) +alias addkey='sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com' + +# Search apt repository +alias search='sudo apt-cache search' + +# Cleaning +alias clean='sudo apt-get clean && sudo apt-get autoclean' +alias remove='sudo apt-get remove && sudo apt-get autoremove' +alias purge='sudo apt-get purge' +alias deborphan='sudo deborphan | xargs sudo apt-get -y remove --purge' + +# Shutdown and Reboot +alias shutdown='sudo shutdown -h now' +alias reboot='sudo reboot' + +# Network Start, Stop, and Restart +alias networkrestart='sudo service networking restart' +alias networkstop='sudo service networking stop' +alias networkstart='sudo service networking start' + +# Misellaneous +alias fdisk='sudo fdisk -l' +alias uuid='sudo vol_id -u' #list UUIDs +alias rfind='sudo find / -name' #find a file. Usage: rfind 'filename' +alias rd='sudo rm -R' #remove directory +alias imount='sudo mount -o loop -t iso9660' #mount iso. Usage: imount 'filename.iso' +alias dirsize='sudo du -hx --max-depth=1' #directory size. Usage: dirsize directoryname + +# DOCKER COMMON - All docker commands start with "d" +alias dstop='sudo docker stop $(docker ps -a -q)' +alias dstopall='sudo docker stop $(sudo docker ps -aq)' +alias drm='sudo docker rm $(docker ps -a -q)' +alias dprunevol='sudo docker volume prune' +alias dprunesys='sudo docker system prune -a' +alias ddelimages='sudo docker rmi $(docker images -q)' +alias derase='dstopcont ; drmcont ; ddelimages ; dvolprune ; dsysprune' +alias dprune='ddelimages ; dprunevol ; dprunesys' +alias dexec='sudo docker exec -ti' +alias dps='sudo docker ps -a' +alias dpss='sudo docker ps -a --format "table {{.Names}}\t{{.State}}\t{{.Status}}\t{{.Image}}" | (sed -u 1q; sort)' +alias ddf='sudo docker system df' +alias dlogs='sudo docker logs -tf --tail="50" ' + +# NAVIGATION +alias cd..='cd ..' +alias ..='cd ..' +alias ...='cd ../..' +alias .3='cd ../../..' +alias .4='cd ../../../..' +alias .5='cd ../../../../..' + +# COMPRESSION +alias untargz='tar --same-owner -zxvf' +alias untarbz='tar --same-owner -xjvf' +alias lstargz='tar -ztvf' +alias lstarbz='tar -jtvf' +alias targz='tar -zcvf' +alias tarbz='tar -cjvf' + +alias dcrun-basic='sudo docker-compose -f /home/docker/basic.yml' +alias dcrun-plex='sudo docker-compose -f /home/docker/plex.yml' +``` + +--- + +https://www.smarthomebeginner.com/create-shortcut-to-commands-using-bashaliases-in-ubuntu/ \ No newline at end of file diff --git a/site/404.html b/site/404.html deleted file mode 100755 index de55202..0000000 --- a/site/404.html +++ /dev/null @@ -1,404 +0,0 @@ - - - -
- - - - - - - - - - - - - -Self-hosted файл/медиа хостинг.
-Как выглядит, можно посмотреть на: https://put.icu/
-- | - | - |
---|---|---|
Официальный | -CLI: linx-client | -Source | -
Не официальный | -Android: LinxShare | -Source | Google Play | -
CLI: golinx | -Source | -- |
- | - | - |
---|---|---|
- | - | - |
- | - | - |
files
и meta
и запустить chown -R 65534:65534 meta && chown -R 65534:65534 files
Пример:
-1 |
|
Пример с docker-compose
-1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 |
|
В идеале вы должны использовать обратный прокси-сервер, такой как nginx, traefik или caddy, для обработки сертификатов TLS.
-Andrei Marcu, https://andreim.net/
- - - - - - -Plex Meta Managers
-.env файл -
1 -2 -3 -4 |
|
1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 |
|
конфиг файл в папке $DOCKER_APP/plexmm/films
-config.yml
-1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27 - 28 - 29 - 30 - 31 - 32 - 33 - 34 - 35 - 36 - 37 - 38 - 39 - 40 - 41 - 42 - 43 - 44 - 45 - 46 - 47 - 48 - 49 - 50 - 51 - 52 - 53 - 54 - 55 - 56 - 57 - 58 - 59 - 60 - 61 - 62 - 63 - 64 - 65 - 66 - 67 - 68 - 69 - 70 - 71 - 72 - 73 - 74 - 75 - 76 - 77 - 78 - 79 - 80 - 81 - 82 - 83 - 84 - 85 - 86 - 87 - 88 - 89 - 90 - 91 - 92 - 93 - 94 - 95 - 96 - 97 - 98 - 99 -100 -101 |
|
For full documentation visit mkdocs.org.
-mkdocs new [dir-name]
- Create a new project.mkdocs serve
- Start the live-reloading docs server.mkdocs build
- Build the documentation site.mkdocs -h
- Print help message and exit.For full documentation visit mkdocs.org.
"},{"location":"#commands","title":"Commands","text":"mkdocs new [dir-name]
- Create a new project.mkdocs serve
- Start the live-reloading docs server.mkdocs build
- Build the documentation site.mkdocs -h
- Print help message and exit.Docker , \u0442\u0430\u043a\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043a\u0430\u043a Docker Engine, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432.
\u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u0435\u043d\u044b/\u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043e\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442.
\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043d\u0430\u0447\u0430\u0442\u044c, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0443\u044e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e. \u042d\u0442\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a VT-x \u043d\u0430 Intel \u0438 AMD-V \u043d\u0430 \u043c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0430\u0445 AMD. \u042d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Docker.
\u041d\u0430 \u043c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0430\u0445 AMD AMD-V \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430 \u043c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0430\u0445 Intel \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c VT-x \u0438\u0437 BIOS/UEFI.
"},{"location":"docker-compose/#1-docker","title":"\u0428\u0430\u0433 1. \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u0435 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 Docker","text":"\u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u043d\u0430\u0448\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 Docker.
sudo apt update
\u0417\u0430\u0442\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0438\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432.
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
\u0425\u043e\u0442\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Docker Engine \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 Ubuntu \u043f\u0440\u043e\u0449\u0435, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Docker \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f. \u0412\u043e\u0442 \u043f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c\u044b\u0439 \u043c\u0435\u0442\u043e\u0434.
\u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043a\u043b\u044e\u0447 GPG, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044e Docker. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443.
sudo install -m 0755 -d /etc/apt/keyrings\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg\nsudo chmod a+r /etc/apt/keyrings/docker.gpg\n
\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:
echo \\\n\"deb [arch=\"$(dpkg --print-architecture)\" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \\\n\"$(. /etc/os-release && echo \"$VERSION_CODENAME\")\" stable\" | \\\nsudo tee /etc/apt/sources.list.d/docker.list > /dev/null\n
\u041f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u0430\u044f \u0432\u044b\u0448\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442 \u0432\u0430\u0448\u0435 \u043a\u043e\u0434\u043e\u0432\u043e\u0435 \u0438\u043c\u044f \u0432\u044b\u043f\u0443\u0441\u043a\u0430 ( jammy \u0434\u043b\u044f 22.04, focus \u0434\u043b\u044f 20.04 \u0438 bionic \u0434\u043b\u044f 18.04).
\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0441\u043d\u043e\u0432\u0430 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u0435 \u0441\u0432\u043e\u0438 \u043f\u0430\u043a\u0435\u0442\u044b.
sudo apt update
\u0412 \u044d\u0442\u043e\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 Ubuntu Docker \u043c\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u0430\u043a\u0435\u0442 docker-ce (\u0430 \u043d\u0435 \u043f\u0430\u043a\u0435\u0442 docker.io ).
\u0427\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c Docker \u0432 Ubuntu \u0438\u043b\u0438 Debian, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n
\u042d\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0442\u0435\u043d \u041c\u0411 \u043f\u0430\u043a\u0435\u0442\u043e\u0432
"},{"location":"docker-compose/#4-docker-ubuntu","title":"\u0428\u0430\u0433 4. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e Docker \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 Ubuntu","text":"\u0415\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043b\u0438 Docker \u0432 Ubuntu. \u041e\u0434\u0438\u043d \u0438\u0437 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:
sudo systemctl status docker
\u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432\u044b\u0432\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u0430\u043a\u0442\u0438\u0432\u0435\u043d \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u0443\u0441\u0430.
"},{"location":"docker-compose/#5-docker","title":"\u0428\u0430\u0433 5.\u00a0\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u0433\u0440\u0443\u043f\u043f\u0443 Docker","text":"\u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u043c\u0438 \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0438 sudo. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u0430\u043c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0432\u0432\u043e\u0434\u0438\u0442\u044c sudo \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0443\u0447\u0435\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f root. \u041d\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0431\u043e\u0439\u0442\u0438 \u044d\u0442\u043e, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u0433\u0440\u0443\u043f\u043f\u0443 \u0434\u043e\u043a\u0435\u0440\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:
sudo usermod -aG docker ${USER}
\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c ${USER} \u0441\u0432\u043e\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043a\u0430\u043a \u0435\u0441\u0442\u044c, \u043f\u043e\u043a\u0430 \u0432\u044b \u0432\u043e\u0448\u043b\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443.
\u0425\u043e\u0442\u044f \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0440\u0438\u0441\u043a\u043e\u043c \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u0432\u0441\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0435\u0440\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 Docker .
sudo timedatectl set-timezone America/New\\_York
Self-hosted \u0444\u0430\u0439\u043b/\u043c\u0435\u0434\u0438\u0430 \u0445\u043e\u0441\u0442\u0438\u043d\u0433.
"},{"location":"docker-compose/linx-server/#_1","title":"\u0414\u0435\u043c\u043e","text":"\u041a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430: https://put.icu/
"},{"location":"docker-compose/linx-server/#_2","title":"\u041a\u043b\u0438\u0435\u043d\u0442\u044b","text":"\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 CLI: linx-client Source \u041d\u0435 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 Android: LinxShare Source | Google Play CLI: golinx Source"},{"location":"docker-compose/linx-server/#features","title":"Features","text":"files
\u0438 meta
\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c chown -R 65534:65534 meta && chown -R 65534:65534 files
\u041f\u0440\u0438\u043c\u0435\u0440:
docker run -p 8080:8080 -v /path/to/linx-server.conf:/data/linx-server.conf -v /path/to/meta:/data/meta -v /path/to/files:/data/files andreimarcu/linx-server -config /data/linx-server.conf\n
\u041f\u0440\u0438\u043c\u0435\u0440 \u0441 docker-compose
version: \"3.7\"\n\n# linx - self-hosting picture and data\nlinx:\ncontainer_name: linx-server\nimage: andreimarcu/linx-server\ncommand: -config /data/linx-server.conf\nvolumes:\n- $DOCKER_APP/linx/files:/data/files\n- $DOCKER_APP/linx/meta:/data/meta\n- $DOCKER_APP/linx/linx-server.conf:/data/linx-server.conf\nnetworks:\n- direct_net\nenvironment:\nPUID: $PUID\nPGID: $PGID\nports:\n- \"8090:8080\"\nrestart: unless-stopped\n
\u0412 \u0438\u0434\u0435\u0430\u043b\u0435 \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438-\u0441\u0435\u0440\u0432\u0435\u0440, \u0442\u0430\u043a\u043e\u0439 \u043a\u0430\u043a nginx, traefik \u0438\u043b\u0438 caddy, \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 TLS.
"},{"location":"docker-compose/linx-server/#_4","title":"\u0410\u0432\u0442\u043e\u0440","text":"Andrei Marcu, https://andreim.net/
"},{"location":"docker-compose/plex-mm/","title":"Plex Meta Manager","text":"Plex Meta Managers
.env \u0444\u0430\u0439\u043b
PUID=1000\nPGID=1000\nTZ=\"Asia/Yekaterinburg\"\nDOCKER_APP=\"/opt/appdata\"\n
plexmm-films:\nimage: lscr.io/linuxserver/plex-meta-manager:latest\ncontainer_name: plexmm-films\nrestart: \"no\"\nnetworks:\n- direct_net\nsecurity_opt:\n- no-new-privileges:true\nenvironment:\nTZ: $TZ\nPUID: $PUID\nPGID: $PGID\nPMM_CONFIG: /config/config.yml #optional\nPMM_TIME: 03:00 #optional\nPMM_RUN: \"True\" #optional\nPMM_TEST: \"False\" #optional\nPMM_NO_MISSING: \"False\" #optional\nvolumes:\n- $DOCKER_APP/plexmm/films:/config\n
\u043a\u043e\u043d\u0444\u0438\u0433 \u0444\u0430\u0439\u043b \u0432 \u043f\u0430\u043f\u043a\u0435 $DOCKER_APP/plexmm/films
config.yml
## This file is a template remove the .template to use the file\n\nlibraries:\n\u0424\u0438\u043b\u044c\u043c\u044b:\nmetadata_path:\n- file: config/Movies/Genre.yml\n- file: config/Movies/Studio.yml\n- folder: config/Movies/Collections\n- folder: config/Movies/Metadata/Collections\n- pmm: basic\n- pmm: imdb\n- pmm: franchise\noverlay_path:\n- remove_overlays: false\n- reapply_overlay: false\n- pmm: resolution\n- pmm: commonsense\n- pmm: ratings\ntemplate_variables:\nrating1: critic\nrating1_image: imdb\nrating2: audience\nrating2_image: trakt\nrating3: user\nrating3_image: tmdb\nhorizontal_position: right\noperations:\nmass_critic_rating_update: imdb\nmass_audience_rating_update: mdb_trakt\nmass_user_rating_update: tmdb\nplaylist_files:\n- pmm: playlist\nsettings:\ncache: true\ncache_expiration: 60\nasset_directory: config/assets\nasset_folders: true\nasset_depth: 0\ncreate_asset_folders: false\nprioritize_assets: false\ndimensional_asset_rename: false\ndownload_url_assets: false\nshow_missing_season_assets: false\nshow_missing_episode_assets: false\nshow_asset_not_needed: true\nsync_mode: append\nminimum_items: 1\ndefault_collection_order:\ndelete_below_minimum: true\ndelete_not_scheduled: false\nrun_again_delay: 2\nmissing_only_released: false\nonly_filter_missing: false\nshow_unmanaged: true\nshow_filtered: false\nshow_options: false\nshow_missing: true\nshow_missing_assets: true\nsave_report: false\ntvdb_language: rus\nignore_ids:\nignore_imdb_ids:\nitem_refresh_delay: 0\nplaylist_sync_to_user: all\nplaylist_report: false\nverify_ssl: true\ncustom_repo:\ncheck_nightly: false\nshow_unconfigured: true\nplaylist_exclude_users:\nwebhooks: # Can be individually specified per library as well\nerror:\nversion:\nrun_start:\nrun_end:\nchanges:\ndelete:\nplex: # Can be individually specified per library as well; REQUIRED for the script to run\nurl: http://\ntoken: token\ntimeout: 60\nclean_bundles: false\nempty_trash: false\noptimize: false\ntmdb: # REQUIRED for the script to run\napikey: api\nlanguage: ru\ncache_expiration: 60\nregion:\ntrakt:\nclient_id: id\nclient_secret: secret\npin: pin\nauthorization:\n# everything below is autofilled by the script\naccess_token:\ntoken_type:\nexpires_in:\nrefresh_token:\nscope: public\ncreated_at:\n
"}]}
\ No newline at end of file
diff --git a/site/sitemap.xml b/site/sitemap.xml
deleted file mode 100755
index 0f8724e..0000000
--- a/site/sitemap.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-