Разное

Как сделать яндекс диск: «Яндекс» представил «умную» фотогалерею — CNews

27.04.1980

Содержание

«Яндекс» представил «умную» фотогалерею — CNews

| Поделиться

«Яндекс.диск» стал по-новому хранить и представлять снимки и видео: раскладывать их по папкам, находить и показывать самые красивые кадры. Пользователям больше не нужно тратить свое время на разбор фотографий. Теперь «Яндекс.диск» — это не только место для хранения файлов, а «умная» фотогалерея.

С помощью компьютерного зрения «Яндекс.диск» анализирует снимки и отбирает удачные и не очень. Первые попадают в альбом «Красивые», а вторые — в альбом «Разобрать». Даже если человек только вернулся из отпуска и еще не разбирал снимки, он сможет показать лучшие из них друзьям. Кроме того, «Диск» стал раскладывать фото, скриншоты и видео по разным альбомам.

Так, теперь не придется искать скриншот с важной информацией среди сотен снимков из поездки.

«Фотографии — это не просто файлы в облаке. Это важная часть жизни. Это эмоции и воспоминания о самых ярких ее моментах. Умная фотогалерея сама отыщет эти моменты и поможет вновь пережить самые важные впечатления — приключение, путешествие в другую страну или встречу с кем-то, кто очень дорог», — сказал руководитель «Яндекс.диска» Владимир Русинов.

Загруженные в облако снимки стало приятнее разглядывать на большом экране, в веб-версии сервиса: фотолента теперь выглядит иначе. Ее формирует специальный алгоритм на основе компьютерного зрения. Он учитывает ориентацию снимков, их сюжет, композицию и в зависимости от этого располагает в ленте. Самые удачные снимки показываются в более крупном размере, чем другие.

Чтобы люди чаще вспоминали приятные моменты из прошлого, «Яндекс.диск» стал присылать тематические подборки — например, с самыми красивыми снимками моря или городских улиц.

Сортировка файлов по альбомам и тематические подборки работают в «Яндекс.диске» для iOS и Android, новая фотолента доступна в веб-версии сервиса и в ленте мобильного «Яндекс.диска» — в подборках снимков из прошлого.

Яндекс Диск как служба Windows – Сайт ARNY.RU

Если кто-то делает/сделает лучше и «пушистее»  — рассказывайте, делитесь, да воздастся вам по делам вашим, в общем — welcome anytime! Моя задача была чтобы быстро и чтоб работало.

Пару слов про Яндекс Диск ( ЯД 🙂 ) —  проект это коммерческий с бесплатной составляющей в виде заманухи. Да, здорово, что ЯД есть, никто не ворчит, но истинные мотивы проекта понимать надо — продавать. Делать бесплатные расширенные «плюшки» в программе никто не собирался. Основные моменты:

  • программа устанавливается в каталог конкретного пользователя;
  • запускается автозапуском при входе пользователя в систему, либо вручную;
  • при включенной синхронизации, синхронизация начинается сразу после старта программы.

Получается для синхронизации файлов, пользователь должен быть все время залогинен в системе. Это не очень безопасно, куда хуже, что это ужасно неудобно. Нужно все время следить чтобы блокировать систему, а не выходить из нее.

Сначала полностью подготавливаете ЯД к работе — скачиваете, устанавливаете, вводите регистрационные данные, назначаете нужную папку, проверяете синхронизацию и завершаете программу.

Затем скачиваете nssm, распаковываете, переносите в Program Files — файл будет исполняться из того места, где он лежит, поэтому сразу переносим по месту. Мои комментарии относительно ЯД’а:

  • Запускаете командную строку от имени Администратора, переходите в каталог скачанной nssm;
  • Пишете nssm install YaDisk;
  • Указываете путь C:\Users\имя_пользователя\AppData\Roaming\Yandex\YandexDisk\YandexDisk.exe;
  • Закладка Details, вбиваете Display name:
  • Закладка Log on as, вбиваете имя и пароль пользователя, для которого установлена программа:

У меня пользователь с правами Администратора, настроить под обычного пользователя можно — мне это не нужно.

Еще есть закладка, где можно выбрать используемые ядра процессора — разумная вещь.

  • Нажимаете Install service:
  • Заходите в Сервисы, находите YaDisk, нажимаете Запустить:
  • Запускаете Диспетчер задач, переходите к Процессам, наша служба —  как пирожок  — двухслойная:

Первая часть — это запуск nssm и скрипта, вторая — ЯД’а.

При этом графически нигде ЯД не светится — это очень хорошо, а синхронизация работает. Чтобы проверить нужно открыть ЯД в браузере и папку ЯД’а на компьютере — создавать/удалять и смотреть как в другой папке синхронно появляется/удаляется.

Запуск ЯД’а через ярлык программы стартует отдельный процесс с графической оболочкой. Вместе с нашим сервисом получается два одинаковых процесса, возможно отличающихся параметрами запуска:

Насколько конфликтует или нет — не проверял, синхронизация по прежнему работает. Лично я графической оболочкой буду пользоваться редко-редко, может быть для каких-то настроек, не более того. Вот в общем-то и всё. Осталось отключить запуск графической оболочки при входе пользователя.

Справедливости ради нужно поблагодарить человека, давшего наводку (прошу не путать с «на водку») на

nssm, я лишь адаптировал к Яндекс Диску. Однако уверен 100%, что моя заметка будет полезна многим.

Добавление от 06.04.2016

Удаляем значок ЯД’а из Моего компьютера, так как щелчок на этом значке запускает графическую оболочку — HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\ удаляем
раздел {19170A69-A883-40D5-AF97-F6DC41495F15}

Источник:
//windowsnotes.ru/programs/kak-zapustit-prilozhenie-v-vide-sluzhby-windows/

Добавление от 22.05.2016

Сегодня увидел, что Яндекс Диск не синхронизируется. Служба работает.. Стал припоминать, вспомнил, что менял пароль от ящика. Это важный момент — при смене пароля, нужно запустить программу ЯД’а и вбить новый пароль.

Когда ЯД работает в фоновом режиме про это легко забыть.

Поделиться ссылкой:

Понравилось это:

Нравится Загрузка…

ПОХОЖИЕ ЗАПИСИ

Используем облачные технологии на Яндекс-Диске

Используем облачные технологии на Яндекс-Диске

Все пользователи интернета знают что такое Яндекс. У всех на слуху   многочисленные сервисы, которые эта поисковая система предоставляет современному пользователю. Сама идея облачного хранения и синхронизации данных (она впервые воплотилась в продукте Дропбокс в 2010 году) очень перспективна и находит все большее число поклонников среди пользователей интернета. А сегодня мы познакомимся с сервисом Яндекс-Диск, узнаем, для чего он нужен и как его установить на свой компьютер. Узнаем о его возможностях и преимуществах. 

Итак, что же собой представляет облако Яндекс-Диск?

Это – разновидность «облачной» технологии; предназначен для хранения и доступа к данным  пользователя.  Такая разновидность  «облачной» технологии   давно есть  у всех известных брендов  – Drop box, Google-диск, One Drive, Mail.ru самые ходовые. И  число их год от года растет.  Все они предлагают  нам хранить свои данные у них.. Только вот физически, сервера стоят в Америке. Нам же желательно хранить все дома, в России.

Само название – «облако» предполагает, что пользователь хранит свои данные не только на своем компьютере – но и в интернете («облаке»). Доступ к данным возможен из любой точки мира, где есть интернет. А если Ваше устройство сломалось – «не беда, все фотографии, которые Вы сохранили в «облаке» никуда не пропадут» — уверяют нас создатели сервиса.

Более того, сервисы от  Google и Microsoft «умеют» делать копии операционных систем.  Не так давно подобный  «облачный» сервис появился и у нашего Яндекса. Что явилось вполне логичным и своевременным шагом, так как Яндекс является одним из флагманов поисковых систем Российского интернета.

Яндекс помогает хранить файлы, редко использующиеся на персональном компьютере (архивы, образы программ, фотографии).

Также Яндекс Диск способен выступать в качестве файлообменного сервиса – если хочется поделиться какой-либо информацией, достаточно выложить ее и открыть доступ к ней. А затем скопировать ссылку, по которой она будет доступна для загрузки.

При этом Вам не нужно никуда пересылать эту информацию. Вы просто даете нужному человеку нужную ссылку. Попадая на нее человек скачивает файл себе на компьютер. При этом объем файла значения не имеет.

Яндекс-Диск предлагает 10 Гб бесплатного пространства.

Использование Яндекс Диска часто спасает ценные данные, которые были предварительно продублированы на компьютере и в облачном хранилище.

Например, если операционная система не запускается в результате сбоя или поломался жесткий диск, владелец файлов может зайти в свой Яндекс- аккаунт и скачать их на новое устройство. Такая предусмотрительность сохраняет много времени и денежных средств.

Остается только узнать, как пользоваться Яндекс Диском – чтобы получить возможность испытать все преимущества проекта.

Как завести электронную почту на Яндексе: пошаговая инструкция

В этой работе будет показано, как завести электронную почту на Яндексе. В результате простых действий вы абсолютно бесплатно получите личный электронный ящик в Интернете.

К сожалению, на сервисе не предусмотрена возможности использования Яндекс-Диском без почты. Поэтому сначала необходимо зарегистрировать личный ящик:

Отройте сайт www.yandex.ru и перейдите по ссылке «Завести почту», находящейся в правом верхнем углу страницы.

Процедура регистрации не отличается сложностью, обычная. В соответствующие поля вводим необходимые данные.

Принимаем лицензионное соглашение.

Логин, пароль, контрольную информацию записываем.

Логин придумываем или выбираем из тех, что предложит система.  При желании  можно указать номер мобильного телефона —  восстановить доступ в случае утери пароля будет быстрее. Если телефон не указываем, то нужно будет выбрать контрольный вопрос и ответ на него.

 После того, как правильно все указали, ввели капчу, — регистрируемся. Процедура  регистрации бесплатна – на выходе мы получаем почтовый ящик, а так же  Яндекс-паспорт,   в котором указаны все данные. Паспорт можно сохранить — распечатать или в сохранить виде файла.

Теперь как зайти первый раз в почту. В правом верхнем углу жмем на Почта или Войти в почту.

Вводим логин и пароль.

Мы уже в почте. Пользоваться ею просто – как с обычной почтой.


Как выйти из почты.

Сверху справа нажать на своем имени ящика. Появится ниспадающее меню. Выбрать Выход, нажать на кнопку.


Почтовым ящиком пользоваться не обязательно, он требуется лишь для входа в облачное хранилище. Оно располагается в пользовательской вкладке по ссылке «Диск», также зайти туда можно с помощью ввода адреса disk.yandex.ru в строке браузера.

Почтовый ящик  — это идентификатор Вашей учетной записи в Яндексе.   Учетная запись эта используется для  работы с «Яндекс-Диском», а так же предоставляет доступ ко всем остальным сервисам Yandex. А при желании эту учетную запись можно связать с Microsoft, Skype и другими.

Яндекс диск, как войти:


Кнопка входа располагается в пользовательской вкладке по ссылке «Диск».

На экране отобразится приветствие нового пользователя и уведомление, что вам предоставлено 10 гигабайт дискового пространства в вечное пользование. Его разрешается беспрепятственно использовать для сохранения файлов самых разных форматов.

Как пользоваться Яндекс Диском впервые?

При первом входе в Яндекс.Диск нам предлагается скачать приложение для компьютера («Скачать Диск для Windows»). Думаю, не стоит торопиться с установкой приложения. Для начала лучше оценить все достоинства он-лайн версии. Поэтому, говорим «спасибо» и закрываем окно с приглашением.

Далее переходим в основную вкладку «Файлы». Там есть возможность загружать или скачивать данные, а также создавать новые директории. Чтобы добавить свой первый файл в облачное хранилище, достаточно щелкнуть по соответствующей клавише и выбрать его на компьютере.

Процесс выполнения задачи зависит от размера файла и скорости соединения, обеспечиваемой провайдером. По завершению операции в основной или предварительно выбранной папке появится новый элемент.

По умолчанию загруженная информация является приватной, а значит, доступной только ее владельцу. Если есть желание опубликовать ее в интернете или поделиться с друзьями, файл нужно выделить кликом мыши, используя переключатель «Поделиться ссылкой».



После этого полученный адрес требуется скопировать в буфер обмена и переслать Вашему пользователю. Скачать информацию по этой ссылке сможет любой человек – даже если он не понимает, что такое облачное хранилище Яндекс и как им пользоваться.

Очень удобно обмениваться файлами большого размера через облачное хранилище – электронная почта такие файлы не принимает.

Программа для Яндекс Диска

Пользоваться сервисом хранилища можно не только посредством веб-интерфейса, но и официальной программы на компьютере.  Но делать это лучше когда вы освоите он-лайн версию диска.

Приложение Яндекс.Диск оптимизировано для работы с файлами. В то время как обычный браузер часто ошибается при загрузке больших объемов информации и даже автоматически закрывается на середине процесса.

Скачать приложение можно на сайте https://disk.yandex.ru и бесплатно установить на ПК. В этом поможет следующая инструкция:

Зайдите в Яндекс — Диск и выберите из предложенного списка свою операционную систему.


Загрузите установочный образ на жесткий диск и запустите, щелкнув по нему клавишей мыши.

Установка на Windows происходит стандартным образом. Но бесплатный сыр бывает только в мышеловке, поэтому по умолчанию установлены галочки, предлагающие одновременно установить Яндекс Браузер, сделать главную страницу  этой поисковой системы стартовой, ну и, естественно, что поиском по умолчанию будет установлено все то же зеркало Рунета..


Лучше будет наверно, если эти галочки убрать.

Примите лицензионное соглашение, дождитесь установки, и программа появится в реестре вашего компьютера В открывшемся окне следует ввести адрес почты и пароль, чтобы получить доступ к персональному файловому хранилищу.

После этого отобразится главная директория со списком файлов, а также папки и разделы. Для загрузки новой информации, будь то архив, видео или изображение, достаточно перетащить его мышью в окно программы и подождать начала выполнения задачи.


В целом, работа с элементами хранилища полностью аналогична веб-интерфейсу, за исключением возросшей скорости обработки данных и высокого удобства.

Особенностью установленного Яндекс Диска на компьютере является интеграция в операционную систему. После установки пользователь увидит, что в папке «Мой компьютер» появился новый диск. Именно на нем будут дублироваться файлы, загружаемые в облако – для большей безопасности.

По желанию Яндекс Диск для Windows можно детально настраивать, управляя синхронизацией, количеством выделенного пространства и другими важными аспектами. Это делает приложение гибким, функциональным и очень удобным для пользователя.

Для настройки Яндекс.- Диска находим значок в правом нижнем углу экрана вашего компьютера. Щелкаем по нему переходим в настройки диска.

Далее, зайдя в настройки, мы можем обозначить папки которые будут автоматически синронизированы. Это значит, что их содержимое будет на автомате дублироваться в облаке Яндекс — Диска. Для этого заходим во вкладку «синхронизация» настроек диска и снимаем отметки с папок, которые не нужно синхронизировать.

При этом значок диска  в панели задач  начнет отображать процесс синхронизации файлов.

При подключении карт памяти, флешек, фотоаппаратов, приложение предложит Вам сразу скопировать фотографии и видео имеющиеся на них —  на «Яндекс-Диск». Вы можете согласиться или отказаться.

Таким образом, вы узнали, как установить и пользоваться Яндекс — Диском. Это облачное хранилище поможет освободить память своего компьютера и обезопасить ценные файлы – при этом платить денежные средства понадобится только случае, если захочется увеличить размер выделенного пространства. А освоить облако может даже начинающий компьютерный пользователь. Необходимо лишь придерживаться этой инструкции и иметь желание научиться работать с сервисом. Впрочем, никто и ничто не мешает вам создать другой почтовый ящик и создать аккаунт для другого Яндекс-Диска, если старый заполнен под завязку.

После копирования и синхронизации файлов мы можем в случае необходимости дать возможность доступа к ним нашим друзьям. Для этого выделяем нужную папку (файл):


Щелкаем правой кнопкой мыши, выбираем как на фото, система оповестит нас о том, что..


После этого можно отослать ее  по почте нужному человеку. Если нужно  открыть доступ к файлу или папке только конкретным людям, нужно использовать другой способ. Браузером заходим в «Я.Диск и выбираем нужную папку:


Жмем «Общий доступ»; затем списком забиваем нужные почтовые адреса.  Приглашаем.

Почтовые адреса должны быть от «Яндекса»; если Ваш друг  тоже установит Диск, эта папка появится у него на диске тоже:

Если доступ нужно закрыть,  снова открываем браузером своё облако, находим нужную папку или файл, выделяем его, затем выключатель общего доступа переводим в положение «Выкл»:

Все, доступ к папке закрыт.

Преимущества и недостатки



При установке Яндекс-Диска Вам выделяется бесплатно на облаке» 10 ГБ дискового пространства. Когда  Вам будет этого мало, то за дополнительное место нужно будет  немного платить. Или  принять участие в акциях, которые проводит  Яндекс.

Впрочем, как я упомянул выше, никто и ничто не мешает вам создать другой почтовый ящик и создать аккаунт для другого Яндекс-Диска, если старый заполнен под завязку. Всем хорош «Яндекс – диск». Но есть и недостаток. Если Вы  будете хранить копии своих файлов на Диске, не удаляя при этом их  оригиналы с компьютера, то при большом объеме данных свободное пространство жесткого диска компьютера может  быстро окончится.  А если Вы удалите файл с  папки «Яндекс — Диска» на компьютере, то он удалится и  из сервера Яндекса. Выходит, для экономии места мы должны полностью доверять хранение своих «важных, личных файлов Яндексу. Делать это  или нет – решать Вам.

Второй недостаток, от которого никуда не денешься — если Вы установили Яндекс- Диск на новый компьютер – придется ждать,  пока данные не синхронизируются. Если объем данных Диска велик — то ждать приходится достаточно долго. Быстрого доступа к файлам в этом случае может и не получиться. Можно сделать выборочную синхронизацию в настройках – отметить на первое время только  самые нужные папки, а позже все остальные:

Но, в целом приложение приятное, незаметное, ненавязчивое. Общее впечатление от него— хорошее.  Установив его на свой компьютер, Вы сами сможете  полностью оценить все его достоинства. Ведь теоретическое знакомство  Вы только что уже провели.

Amaimersion / yandex-disk-telegram-bot: Telegram-бот, который интегрирует Яндекс.Диск в Telegram.

Telegram-бот, интегрирующий Яндекс.Диск в Telegram.

Содержимое

Характеристики

  • загрузка фотографий (лимит 20 МБ),
  • закачка файлов (лимит 20 МБ),
  • закачка аудио (лимит 20 МБ),
  • закачка видео (лимит 20 МБ),
  • закачка голоса (лимит 20 МБ),
  • загрузка файлов по прямому URL,
  • загрузка различных ресурсов (например YouTube) с помощью youtube-dl
    ,
  • загрузка для публичного доступа,
  • публикация и отмена публикации файлов или папок,
  • создание папок,
  • получение информации о файле, папке или диске.

Требования

Ожидается, что все вышеперечисленное программное обеспечение доступно как глобальные переменные: python3 , python3 -m pip , python3 -m venv , git , curl , nginx , psql , heroku , ngrok , docker , docker-compose . Посмотрите, почему вам следует использовать такой синтаксис:

python3 -m .

Все последующие инструкции предназначены для Unix-подобных систем, в первую очередь для Linux.Возможно, вам придется внести некоторые изменения самостоятельно, если вы работаете в операционной системе, отличной от Linux.

Если вы хотите разместить этот сервер где-нибудь за пределами Heroku, вам может потребоваться установка дополнительного программного обеспечения. См. Руководство по установке вашего хоста.

Установка

  1. Клонировать этот репозиторий.
 git clone https://github.com/Amaimersion/yandex-disk-telegram-bot.git
cd яндекс-диск-телеграмма-бот 
  1. Создать виртуальную среду.

И активируйте его:

Источник
./ venv / bin / активировать 

Запустите , отключите при завершении, чтобы выйти из виртуальной среды или просто закрыть окно терминала.

После этого шага мы будем использовать python вместо python3 и pip вместо python3 -m pip . Если по какой-то причине вы не хотите создавать виртуальную среду, то:

  • используйте python3 и python3 -m pip ,
  • редактировать пути к исполняемым файлам в .vscode / settings.json ,
  • редактировать имена в ./scripts файлах.

Вероятно, вам нужно обновить pip , потому что у вас может быть старая версия (9.0.1) вместо новой. Запустите pip install --upgrade pip .

  1. Требования для установки.
 ./scripts/requirements/install.sh 
  1. Установить переменные среды.
 источник ./scripts/env/.sh 

Где <имя> — это либо производство , разработка или тестирование .Начните с разработки , если не знаете, что использовать.

Эти переменные среды необходимы для создания правильной конфигурации приложения, уникальной для конкретных сред. Например, у вас может быть другая переменная DATABASE_URL для production и development .

Эти переменные среды нужны вам каждый раз, когда вы неявно взаимодействуете с конфигурацией приложения. Например, обновление БД и фоновые рабочие процессы неявно создают приложение и используют его конфигурацию.

Если вы забыли установить переменные среды, но они необходимы для настройки приложения, вы получите следующую ошибку: Невозможно сопоставить имя конфигурации и файлы . env. * .

  1. Если вы хотите использовать базу данных локально, выполните обновление БД:
  1. Запустите это, чтобы увидеть больше доступных действий:
  1. Каждый раз, когда вы снова открываете этот проект, не забывайте активировать виртуальную среду.

Это все, что вам нужно для настройки этого проекта.Если вы хотите установить полностью рабочее приложение, то:

  1. Выполните интеграцию с внешними API.

  2. См. Раздел «Локальное использование для разработки » и «Развертывание для производства ».

Интеграция с внешними API

Телеграмма

  1. Зарегистрируйте своего бота в чате с @BotFather и получите токен API.

  2. Установить перемычку:

 ./scripts/telegram/set_webhook.sh    

Российским пользователям может понадобиться прокси:

 . /scripts/telegram/set_webhook.sh    "--proxy " 

Для параметра MAX_CONNECTIONS рекомендуется использовать максимальное количество одновременных подключений к выбранной базе данных. Например, расширение «Heroku Postgres» в плане «Hobby Dev» имеет ограничение на подключение 20.Таким образом, вы должны использовать 20 в качестве значения для параметра MAX_CONNECTIONS , чтобы избежать возможной ошибки Слишком много соединений .

Из документации Telegram:

Если вы хотите убедиться, что запрос Webhook исходит от Telegram, мы рекомендуем использовать секретный путь в URL-адресе, например https://www.example.com/ <токен> . Поскольку никто другой не знает токен вашего бота, можете быть уверены, что это мы.

Итак, вместо / telegram_bot / webhook вы можете использовать что-то вроде этого: / telegram_bot / webhook_fd1k3Bfa01WQl5S . Для этого установите переменную окружения TELEGRAM_API_WEBHOOK_URL_POSTFIX . В этом случае это TELEGRAM_API_WEBHOOK_URL_POSTFIX = _fd1k3Bfa01WQl5S .

Яндекс.Диск

  1. Зарегистрируйте свое приложение в Яндекс. Иногда модераторам Яндекса требуется время, чтобы проверить ваше приложение.

  2. Получите идентификатор и пароль своего приложения на специальной странице вашего приложения на Яндексе.

  3. На специальной странице Яндекс для вашего приложения найдите параметр «URI обратного вызова» и добавьте этот URI: https: // <ваш сайт> / telegram_bot / yandex_disk_authorization .Требуется, если вы хотите использовать метод AUTO_CODE_CLIENT Яндекс.OAuth, который настроен по умолчанию.

Местное использование

Переменные среды

В корневом каталоге создайте файл .env.development и заполните его на основе файла .env. example .

Сервер

Что использует приложение

Это приложение WSGI использует gunicorn в качестве HTTP-сервера WSGI и nginx в качестве обратного прокси-сервера HTTP.В целях разработки используется только flask встроенный HTTP-сервер WSGI.

flask использует http: // localhost: 8000 , gunicorn использует unix: /tmp/nginx-gunicorn.socket или http://0.0.0.0:8080 , nginx использует http : // локальный: 80 . Убедитесь, что эти адреса свободны для использования, или измените конфигурацию конкретного сервера.

nginx не запустится, пока gunicorn не создаст файл / tmp / gunicorn-ready .Убедитесь, что у вас есть права доступа для создания этого файла.

По умолчанию gunicorn слушает unix-сокет вместо ip-сокета. Вы можете включить ip-сокет, установив GUNICORN_USE_IP_SOCKET переменной среды.

Откройте терминал и перейдите в корень проекта. Запустите ./scripts/wsgi/.sh , где — это prodction , development или testing , а flask , Gunicorn или nginx .Пример: ./scripts/wsgi/production.sh gunicorn .

Обычно вам нужно запускать и gunicorn , и nginx . Для этого запускайте скрипты в отдельных терминалах (рекомендуемый способ). После этого зайдите по адресу nginx .

Запустите ./scripts/server/stop_nginx.sh , чтобы остановить nginx.

nginx использует простую конфигурацию из ./src/configs/nginx.conf . Вы можете игнорировать это и использовать любую конфигурацию для nginx, которая вам подходит.Однако рекомендуется использовать точные конфигурации, как в приложении, для колбы и gunicorn . Если вы думаете, что эти конфигурации не подходят, то сделайте вместо этого пиар.

Что следует использовать

Для активной разработки будет лучше использовать только flask WSGI HTTP Server.

Исходный код
 ./scripts/wsgi/development.sh flask 

Эта команда автоматически установит переменные среды и запустит flask WSGI server. И ваше приложение будет полностью готово к поступающим запросам.

Если вы хотите протестировать более стабильную и надежную конфигурацию, которая будет использоваться в производстве, запустите эти команды в отдельном окне терминала.

Источник
 ./scripts/wsgi/development.sh gunicorn 
Исходный код
 ./scripts/server/stop_nginx.sh
источник ./scripts/wsgi/development.sh nginx 

База данных

Что использует приложение

В средах разработки и тестирования используется SQLite . Для производства рекомендуется PostgreSQL , но вы можете использовать любую из поддерживаемых баз данных. Приложение уже настроено для SQLite и PostgreSQL , для другой базы данных вам, возможно, придется установить дополнительные пакеты Python.

По умолчанию базы данных для разработки и тестирования будут расположены по адресу src / temp.sqlite . Если вы хотите использовать другое имя для БД, укажите значение DATABASE_URL в файлах .env.development и .env.testing .

База данных Redis поддерживается и ожидается, но не требуется.Однако настоятельно рекомендуется включить его, потому что многие полезные функции приложения зависят от функциональности Redis , и они будут отключены, если Redis не настроен с использованием REDIS_URL .

Что следует использовать

Обычно лучше вручную указать имя БД в .env.development и указать REDIS_URL . Старайтесь всегда использовать Redis , включая среду разработки. Если вы решите не включать Redis , это нормально, и вы все равно можете использовать приложение с базовыми функциями, которые не зависят от Redis .

Фоновые задачи

Что использует приложение

RQ используется как очередь задач. Redis не требуется.

Примеры заданий, которые будут поставлены в очередь: мониторинг статуса загрузки и выгрузки файлов.

Приложение не готово для поддержки других очередей задач. Возможно, вам придется внести изменения самостоятельно, если вы решите использовать другую очередь задач.

Как этим пользоваться

Настоятельно рекомендуется запустить хотя бы одного воркера.

  1. Убедитесь, что указан REDIS_URL .
  2. Открыть отдельное окно терминала.
  3. Активируйте venv и установите переменные среды.
  4. Запуск: python manage.py run-worker

Эти шаги запустят один рабочий экземпляр. Количество рабочих зависит от ожидаемой нагрузки на сервер. Для среды разработки в среде рекомендуется количество 2.

Обратите внимание, что RQ не будет автоматически перезагружать ваши работающие исполнители при изменении исходного кода любой функции задания.Итак, вам следует перезапустить воркеры вручную.

Выставить локальный сервер

Что использует приложение

ngrok используется для предоставления доступа к локальному серверу. Это бесплатно и подходит для сервера разработки.

Что следует использовать

Вы можете использовать все, что хотите. Но если вы решите использовать ngrok , приложение предоставляет несколько утилит, чтобы упростить задачу.

Раньше:

  • запросов будут перенаправлены на / telegram_bot / webhook , поэтому убедитесь, что вы не изменили этот маршрут,
  • , у вас также должен быть jq в вашей системе.

Тогда:

  1. Запустить flask server:
 исходный код . /scripts/wsgi/development.sh flask 
  1. В отдельном окне терминала запустить ngrok :
 источник ./scripts/ngrok/run.sh 
  1. В отдельном окне терминала установите вебхук:
 источник ./scripts/ngrok/set_webhook.sh  

Где - ваш токен API бота Telegram для конкретной среды (у вас могут быть разные боты для разных сред).

Переводы

Что использует приложение
Переводы

построены на основе Babel , которая обеспечивает поддержку GNU gettext .

Как этим пользоваться

Если вы хотите включить переводы, то перед запуском сервера вы должны скомпилировать существующие необработанные переводы:

 python manage.py компиляция-перевод 

Если вы хотите обновить существующие переводы, чтобы они соответствовали фактическому состоянию приложения, запустите это, отредактируйте измененные строки в файлах переводов и перекомпилируйте обновленные переводы:

 управление питоном. py update-translations 

Если вы хотите добавить переводы для нового языка, запустите это, заполните файл переводов и перекомпилируйте обновленные переводы:

 python manage.py init-translations <КОД ЯЗЫКА МАЛЕНЬКИХ БУКВ> 

Развертывание

Независимо от того, какую платформу вы выберете для хостинга, рекомендуется вручную настроить количество воркеров, количество подключений воркеров и количество потоков для gunicorn и nginx .

Перед

Перед развертыванием рекомендуется запустить линтеры с исходным кодом ./scripts/linters/all.sh и устранить все ошибки и предупреждения.

Heroku

Это способ разместить это приложение бесплатно. И этого будет более чем достаточно, пока у вас не будет сотен активных пользователей.

Первый раз
  1. Если у вас не установлен Heroku, самое время это сделать.

  2. Если у вас нет пульта Heroku, добавьте его:

  git remote добавить heroku 
  
  1. Нам нужны пакеты сборки python и nginx. Пакет сборки Python должен быть добавлен автоматически, но мы сделаем это вручную. Для пакета сборки nginx вы можете использовать все, что захотите: официальный, мой собственный или создать свой собственный. Если вы не используете мой собственный пакет сборки nginx, не забывайте о совместимости (пути конфигурации, имена переменных среды и т. Д.).
  пакеты сборки heroku: установить heroku / python
Сборочные пакеты heroku: добавьте https://github.com/Amaimersion/heroku-buildpack-nginx-for-yandex-disk-telegram-bot.git
  
  1. Нам нужен аддон Heroku PostgreSQL , чтобы использовать эту базу данных.
  аддоны heroku: создать heroku-postgresql: hobby-dev
  

Позже вы можете просмотреть содержимое БД, используя heroku pg: psql .

  1. Нам нужен аддон Heroku Redis , чтобы использовать эту базу данных.
  heroku addons: создать heroku-redis: hobby-dev
  
  1. Установить необходимые переменные среды:
  heroku config: установить SERVER_NAME = <ваш хост без схемы>
  

Вы также можете установить рекомендуемые переменные среды:

  конфигурация heroku: установить NGINX_WORKERS = <значение>
Конфигурация heroku: установить NGINX_WORKER_CONNECTIONS = <значение>
конфигурация heroku: установить GUNICORN_WORKERS = <значение>
Конфигурация heroku: установить GUNICORN_WORKER_CONNECTIONS = <значение>
  
  1. Переключитесь на новую ветку, специально предназначенную для Heroku (никогда не нажимайте на нее!):

Если эта ветка уже создана, просто введите:

  1. Убедитесь, что . Файл env.production создается и заполняется. Удалите его из .gitignore . Не забывайте: никогда никуда не подталкивайте, кроме Heroku.

  2. Добавить изменения для отправки в Heroku:

  • если вы редактировали файлы на heroku ветке :
  git добавить
git commit -m <сообщение>
  
  • , если вы хотите отправить изменения из другой ветки:
  git merge <другая ветка> -m <сообщение>
  
  1. Загрузить файлы на Heroku:
  git push heroku heroku: мастер
  
  1. Установить количество рабочих для фоновых задач.На бесплатном плане вы не можете использовать более 1 воркера.
Что дальше

Вам следует выполнять шаги № 7, 9 и 10 каждый раз, когда вы хотите внести изменения.

VPS

Воспользуйтесь докером или посмотрите установку.

Докер

Этот проект предоставляет образы Docker вместе с настроенным файлом для создания докеров. Использование docker-compose - рекомендуемый способ развертывания или запуска этого приложения.

Развертывание

  1. Клонировать этот репозиторий.

  2. В корневом каталоге создайте файл .env.production и заполните его на основе файла .env.example .

  3. Запустите docker-compose:

Вам не нужно настраивать какую-либо систему управления процессами, чтобы запускать docker-compose в фоновом режиме при каждом запуске системы. Это уже делает демон Docker.

  1. По умолчанию docker-compose будет прослушивать соединения на http://127.0.0.1:8080 .Рекомендуется настроить какой-либо обратный прокси-сервер (вместе с TLS, журналами и т. Д.) Перед docker-compose и перенаправлением соединений по этому адресу. Или вы можете переопределить конфигурацию docker-compose для немедленного прослушивания соединений на http://127. 0.0.1:80 .

Разработка

Вы можете запустить docker-compose в процессе разработки.

  1. Клонировать этот репозиторий.

  2. В корневом каталоге создайте .env.development и заполните его на основе файла .env.example .

  3. Запустите docker-compose:

 docker-compose -f docker-compose.yml -f docker-compose.dev.yml вверх 

Имейте в виду, что будут использоваться данные, которые уже хранятся в папке ./var . Если данных нет, будет создана новая. Это означает, что данные являются общими как для разработки, так и для производства. Если вам не нужно такое поведение, рассмотрите возможность создания нескольких клонов проекта или переопределения конфигурации docker-compose.

  1. Запустите ngrok для обработки входящих соединений:
 источник ./scripts/ngrok/run.sh 8080 
  1. Установить перемычку:
 источник . /scripts/ngrok/set_webhook.sh  
  1. После этого вы можете редактировать код в папке ./src . Включена горячая перезагрузка.

Данные

По умолчанию docker-compose хранит данные некоторых служб локально на хост-машине. Это постоянные данные, в которых хранится состояние вашего приложения, поэтому не удаляйте их.

PostgreSQL будет хранить свои данные в папке ./var/lib/postgresql/data . Redis будет хранить свои данные в ./var/lib/redis .

Скорее всего, вам не стоит напрямую взаимодействовать с этими данными. Вместо этого подумайте о создании резервных копий.

Резервные копии

В какой-то момент вы можете захотеть сделать резервную копию данных PostgreSQL . Не копируйте / вставляйте папку ./var/lib/postgresql/data . Вместо этого выполните следующие команды:

  • для резервного копирования данных, запускается на хост-машине:
 docker exec -t yd-tg-bot-postgres pg_dump -U  -d > дамп. sql 
  • для восстановления данных, запустить на хост-машине:
 cat dump.sql | docker exec -i yd-tg-bot-postgres psql -U  -d  

dump.sql - это полная резервная копия вашей БД. Храните его в безопасном месте, за пределами хост-машины.

Не стесняйтесь изменять приведенные выше команды. Это просто пример того, как это сделать. Вы даже можете использовать собственный способ резервного копирования / восстановления данных.

Перед восстановлением база данных должна быть чистой, но создана.По умолчанию приложение обновляет базу данных при запуске, что означает, что в базе данных будут некоторые данные. Вам нужно будет вручную удалить и создать базу данных:

 docker exec -it yd-tg-bot-postgres psql -U  -d postgres
УДАЛИТЬ БАЗУ ДАННЫХ ;
СОЗДАТЬ БАЗУ ДАННЫХ ; 

Имейте в виду, что в базе данных есть зашифрованные данные в некоторых таблицах. Это означает, что вы должны использовать точно такую ​​же переменную среды FLASK_SECRET_KEY , которая использовалась при резервном копировании базы данных.Вы не сможете полностью взаимодействовать с базой данных, если будете использовать другой FLASK_SECRET_KEY . Итак, обычно вам также может понадобиться сделать резервную копию файла .env.production , чтобы сохранить свои секреты.

Журналы

Использовать журналы создания докеров . Если вы хотите записывать журналы в файл, не меняйте конфигурацию docker-compose. Вместо этого перенаправьте вывод команды в файл.

ресурсов

В этом проекте есть gunicorn и rq , у которых есть рабочие, которые создают форк родительского процесса.Это означает интенсивное использование машинных ресурсов, особенно оперативной памяти.

Учитывайте ресурсы вашего хост-компьютера при настройке GUNICORN_WORKERS , RQ_WORKERS и других параметров, которые могут повлиять на использование ресурсов компьютера. Используйте эти команды для отслеживания использования ресурсов:

Обозначение версии

В этом проекте используется следующая структура именования версий: <ОСНОВНЫЕ ИЗМЕНЕНИЯ>. <БОЛЬШИЕ ИЗМЕНЕНИЯ>. <МАЛЕНЬКИЕ ИЗМЕНЕНИЯ> .

  • «Серьезные изменения» обычно означают действительно кардинальные перемены.Такие изменения могут потребовать от разработчиков повторной настройки приложения, проверки нового технического стека и архитектуры приложения. Это определенно несовместимо с предыдущим кодом приложения.
  • «Большие изменения» обычно означают новые функции, большие изменения или долгожданные исправления ошибок. Такие изменения могут потребовать много времени для тестирования и завершения. Здесь проходит основной рабочий процесс разработки.
  • «Небольшие изменения» обычно означают небольшие изменения или быстрые исправления ошибок. Скорее всего, каждая версия будет содержать небольшое количество изменений.

Вклад

Не стесняйтесь использовать issues. Также всегда приветствуются запросы на вытягивание!

Переводы

Если вы хотите перевести это приложение, вам необходимо выполнить следующие действия:

  1. Убедитесь, что вы установили проект.

  2. Пробег:

 python manage.py init-translations <КОД ЯЗЫКА> 
  1. Заполните новый файл перевода, который находится по адресу translations / / LC_MESSAGES / messages.po .

Следующий шаг не является обязательным для вас и может быть выполнен владельцем проекта. Вы можете просто создать PR с результатом от шага до № 3. Однако для включения нового перевода требуются следующие изменения.

  1. Внесите изменения в код в соответствии с этими коммитами: d6bc3fe, 9a34008. Фактический код может немного отличаться.

Лицензия

MIT.

Как удалить яндекс диск из планшета без потери старых файлов?

Спрашивает парень блази