[Практический проект с открытым исходным кодом] Используйте сервер для развертывания Audiobookshelf, автономного сервера аудиокниг и подкастов.
[Практический проект с открытым исходным кодом] Используйте сервер для развертывания Audiobookshelf, автономного сервера аудиокниг и подкастов.

1. Предисловие

Вчера Сяоцзюнь обнаружил хорошую программу: Audiobookshelf , который представляет собой автономный сервер аудиокниг и подкастов, поиск по которому можно осуществлять непосредственно в программе. подкаст Ресурсы, Сяоцзюнь бегло взглянул, ресурсов еще много, и программа оснащена Android и IOS Клиент, прост в использовании! Сегодня я дам вам руководство, которое научит вас развертыванию Audiobookshelf

1.1 Официальный сайт

Официальный сайт: https://www.audiobookshelf.org/ Официальный Гитхаб: https://github.com/advplyr/audiobookshelf

2. Введение в полку аудиокниг

Audiobookshelf — это автономный сервер аудиокниг и подкастов. аудиокнижная полка — это автономный сервер аудиокниг.

3. Подготовка

  1. [Обязательно] Один сервер (рекомендуется) Легкий сервер приложений Tencent Cloud HK или на территории других серверов (например, CloudConeRackNerd , Jiajiayun и частные облака различных предприятий также могут быть использованы.
  2. [Рекомендация] Операционная система: Debian 10 , я планирую использовать его в следующих уроках. Debian или Ubuntu Систематический
  1. [Рекомендуется и обязательно] Доменное имя и разрешить его на сервере.
  2. [Требуется обратный прокси-сервер, в этом руководстве используется NPM] УстановитьGood Nginx Proxy Manager( Связанные руководства

Уведомление

Программное обеспечение в этой статье основано на установке облегченного сервера приложений Tencent Cloud. Рекомендуемая конфигурация облегченной системы сервера приложений Tencent Cloud, используемой в руководстве, не указана. Ubuntu Server 20.04 LTS 64bit ! Теоретически легкий сервер приложений Tencent Cloud Ubuntu20.04-Docker20 Работа сервера должна в основном соответствовать этой статье (включая отчеты о процессах и ошибках), а другие системы должны быть Debian или Ubuntu Сервер должен быть похож на эту статью! Адрес покупки облегченного сервера приложений Tencent Cloud: https://curl.qcloud.com/XqKjWCYA

Выбор облака Tencent: https://curl.qcloud.com/UEBvnJfH

Область специальных предложений продуктов Tencent Cloud: https://url.cn/GhZUBLVG

4. Видеоурок

5. Демонстрация интерфейса

5.1 Страница медиабиблиотеки

5.2 Страница настроек

5.3 Поиск на странице подкаста

6. Развертывание аудиокнижной полки

6.1 Подготовка среды (облегченный сервер приложений Tencent Cloud)

Этот шаг специально подготовлен для пользователей, использующих облегченный сервер приложений Tencent Cloud. Если вы не используете облегченный сервер приложений Tencent Cloud для развертывания программы, вы можете перейти непосредственно к. 6.2 Подготовка среды (другие серверы) Читайте дальше.

6.1.1 Переустановите систему

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

Войдите в консоль облегченного сервера приложений Tencent Cloud и введите Переустановите систему интерфейс и выберите Используйте образы контейнеров , выберите из списка Ubuntu20.04-Docker20 , Пожалуйста, убедитесь, что на сервере нет важных программ и файлов! ! ! Пожалуйста, убедитесь, что данные на сервере зарезервированы! ! ! Затем нажмите, чтобы проверить Подтвердите, что вы понимаете вышеизложенное, и я уверен, что резервное копирование завершено. , а затем нажмите «ОК», чтобы завершить переустановку системы.

Легкий сервер приложений Tencent Cloud и CVM Для сравнения, легкие серверы приложений больше ориентированы на такие группы пользователей, как новички в облачных вычислениях и студенты. Они проще и проще в использовании. Они интегрируют базовые облачные ресурсы с популярным программным обеспечением с открытым исходным кодом и упаковывают их, чтобы приложения можно было использовать вне системы. box Они больше подходят для поддержки небольших приложений, тут выбираем между. Docker Образ контейнера, установку можно пропустить Dockerdocker-composeшаги(Если вы используете домашний сервер,Облако Tencent Docker В образе контейнера настроены внутренние источники изображений, что может ускорить доступ. Docker зеркальные ресурсы). Из-за Tencent Cloud Docker в образе контейнера Docker Уже установлено docker-compose . Итак, если вы видите ниже docker compose команда, пожалуйста, используйте docker-compose Заказ!

6.1.2 Вход на сервер

OrcaTerm (оригинальное название WebShell ) — родная операционная система Tencent Aerochi Cloud. CVMLighthouse , «голое железо» и другие продукты, он помогает пользователям удаленно входить на сервер через браузер для управления бизнесом в любое время и в любом месте. По сравнению с локальными удаленными терминалами он более легкий, удобный и не требует мастерства. SSH и FTP Он также прост в эксплуатации. Войдите в консоль сервера приложений Tencent Cloud Light и нажмите в правом верхнем углу. Авторизоваться , используя публичную бета-версию Tencent Cloud OrcaTerm Авторизоваться на сервере.

Затем Нажмите Авторизоваться, вы можете Авторизоваться на сервере.

Введите следующую команду Авторизоваться, чтобы root счет

Язык кода:javascript
копировать
sudo -i

6.1.3 Установите Nginx Proxy Manager (требуется обратный прокси-сервер. В этом руководстве используется NPM)

Установить Nginx Proxy Manager Сяоцзюнь также ранее написал подробное руководство.,Также поставляется с подробной видеоверсией.,Друзья, которым нужно учиться, могут Нажмите Узнайте из этой статьи👉👉👉Ссылка: [Учебное пособие] Использование Легкого сервер приложений Tencent Облако создает Nginx Proxy Менеджер, красивое и простое решение для обратного прокси! https://www.smalljun.com/archives/3113.html , конечно, друзья, которые хотят использовать обратный прокси, должны быть знакомы с Nginx , вы также можете сделать это самостоятельно Установить Nginx Выполните обратный прокси! Если вы хотите использовать панель пагоды, нет проблем!

6.2 Подготовка среды (другие серверы)

На этом этапе подготавливаются общие методы для различных серверных сред, если вы используете облегченный сервер приложений Tencent Cloud для развертывания программы и внимательно прочитали его. 6.1 Подготовка среды (облегченный сервер приложений Tencent Cloud) и выполните операцию шаг за шагом. Вы можете пропустить этот шаг и перейти непосредственно к. 6.3 Развертывание аудиокнижной полки Читайте дальше.

6.2.1 Обновление пакетов и установка необходимых пакетов программного обеспечения

Выполните следующую команду для обновления Packages и Установить Необходимые пакеты

Язык кода:javascript
копировать
apt -y update
apt -y install curl

6.2.2 Установка и запуск Docker

6.2.2.1 Установка Docker на зарубежных серверах

Выполните следующую команду, зарубежный сервер Установите Docker

Язык кода:javascript
копировать
curl -fsSL https://get.docker.com | bash -s docker
6.2.2.2 Установка Docker на домашний сервер

Выполните следующую команду. Внутренний сервер использует источник образа Alibaba Cloud. Установить Docker.

Язык кода:javascript
копировать
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

Выполните следующую команду. Внутренний сервер использует внутренний. daocloud Один клик Установить Заказ Установить Docker

Язык кода:javascript
копировать
curl -sSL https://get.daocloud.io/docker | sh
6.2.2.3 Запустить Докер

Введите и выполните следующую команду, чтобы начать Docker

Язык кода:javascript
копировать
systemctl start docker

Выполните следующую команду еще раз, чтобы просмотреть Docker рабочее состояние

Язык кода:javascript
копировать
systemctl status docker

Наконец, выполните следующую команду, чтобы установить Docker Автоматический запуск при загрузке

Язык кода:javascript
копировать
systemctl enable docker

Поскольку мы передали приведенный выше скрипт в один клик, установите Docker Для последней версии новая версия Docker Принесите свой собственный compose Это подкоманда, поэтому дополнительная команда «Установить» нам не нужна. docker-compose . Если вы видите ниже docker-compose команда, пожалуйста, используйте docker compose Заказ! Есть только одно применение - Символ (тире) только другой, используйте его в новой версии. docker compose команду, и если вы используете более старую версию, используйте docker-compose Заказ.

6.2.3 Установите Nginx Proxy Manager (требуется обратный прокси-сервер. В этом руководстве используется NPM)

Установить Nginx Proxy Manager Сяоцзюнь также ранее написал подробное руководство.,Также поставляется с подробной видеоверсией.,Друзья, которым нужно учиться, могут Нажмите Узнайте из этой статьи👉👉👉Ссылка: [Учебное пособие] Использование Легкого сервер приложений Tencent Облако создает Nginx Proxy Менеджер, красивое и простое решение для обратного прокси! https://www.smalljun.com/archives/3113.html , конечно, друзья, которые хотят использовать обратный прокси, должны быть знакомы с Nginx , вы также можете сделать это самостоятельно Установить Nginx Выполните обратный прокси! Если вы хотите использовать панель пагоды, нет проблем!

6.3 Развертывание аудиокнижной полки

6.3.1 Создайте новый каталог

Выполните следующую команду, чтобы создать новый каталог

Язык кода:javascript
копировать
mkdir -p /opt/docker/audiobookshelf && cd /opt/docker/audiobookshelf

6.3.2 Создайте новый файл docker-compose.yaml и отредактируйте его.

Выполните следующую команду, чтобы создать новый docker-compose.yaml файл и редактировать

Язык кода:javascript
копировать
nano docker-compose.yaml

Затем введите следующее содержимое конфигурации, а затем Ctrl X + y +Ввести Просто выйдите и сохранитесь.

Язык кода:javascript
копировать
version: "3.7"
services:
  audiobookshelf:
    image: ghcr.io/advplyr/audiobookshelf:latest
    container_name: audiobookshelf
    ports:
      - 13378:80 #13378 — это открытый порт. Если он занят, измените и замените его самостоятельно. Его необходимо установить в Облачном. Консольный брандмауэр сервера открывает соответствующий порт!
    volumes:
      - ./audiobooks:/audiobooks
      - ./podcasts:/podcasts
      - ./config:/config
      - ./metadata:/metadata

Как показано ниже

Уведомление

  1. docker-compose.yaml в файле 13378 Это открытый порт. Если он занят, измените его самостоятельно. Его необходимо установить в Облачном. Консольный брандмауэр сервера открывает соответствующий порт!

6.3.3 Запуск контейнера

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

Язык кода:javascript
копировать
docker compose up -d #Новая версия Docker использует эту команду
docker-compose up -d #Старые версии Docker используют эту команду, например: Легкий из нести выше сервер приложений Tencent Docker-образ Cloud в Принести свой собственныйизDocker-compose

После запуска введите и выполните следующую команду, чтобы подтвердить, что все контейнеры running или up состояние

Язык кода:javascript
копировать
docker compose ps #Новая версия Docker использует эту команду
docker-compose ps #Старые версии Docker используют эту команду, например: Легкий из нести выше сервер приложений Tencent Docker-образ Cloud в Принести свой собственныйизDocker-compose

Как показано ниже

6.4 Настройка обратного прокси

Сначала разрешите доменное имя на сервере (если есть новички, которые не знают, как его разрешить, они могут ввести Группа QQ блога Сяоцзюня: 199175766 Спрашиваю, лидером группы является Сяоцзюнь. Обычно он онлайн по выходным. Позже я рассмотрю возможность написания руководства по разрешению доменных имен. Входить Nginx Proxy Manager , нажмите Hosts , затем нажмите Add Proxy Host,Настройте, как показано ниже,На картинке нижеиз 172.17.0.1 Может отличаться, пожалуйста, выполните ip addr Найдите это сами docker0 Внутренний IP сетевой карты!

Язык кода:javascript
копировать
Domain Имена: Введите доменное имя, которое вы хотите использовать для программы.
Схема: http по умолчанию #Как правило, менять не нужно
Forward Hostname / IP:172.17.0.1 #В целом `172.17.0.1` ,Может отличаться, пожалуйста, выполните `ip addr` Найдите это сами `docker0` Внутренний IP сетевой карты!
Forward Port:13378 #Открытый порт (если не изменен согласно этой статье) `yaml` в Открытый порт файла. должно быть `13378` )

Как показано ниже

Не волнуйтесь пока. Save , мы можем добавить в программу SSL Сертификат, добавьте к нему маленький зеленый замочек, но не важно, нажмете ли вы на него, если не нажмете, это не имеет значения. Save друзья кликают SSL , затем нажмите Request a new SSL Certificate , а затем положить Force SSL и HTTP/2 Support Откройте и измените его Email Address for Let's Encrypt электронную почту, а затем Save Вот и все; Save друзья, Три точки справа от кнопки, нажмите Edit , повторите вышеуказанные шаги!

На данный момент мы завершили Audiobookshelf Это автономный иподкаст-сервер аудиокниг, не забудьте зайти DNS Провайдер разрешает доменное имя! Просто войдите в доменное имя, которое вы только что установили, в своем браузере! Ps: Вам необходимо открыть соответствующий порт в фоновом брандмауэре легкого сервера приложений Tencent Cloud! Должен быть открыт по умолчанию 80 tcp443 tcp и 81 tcp ой.

7. Простое руководство по использованию

7.1 Процедура инициализации

Просмотрите доменное имя вашей программы. Что привлекает ваше внимание, так это Initial Server Setup , нам нужна программа Проще говоря, идея заключается в установке пароля администратора счета.

7.2 Изменить язык

Нажмите Settings , Default Server Language , измените его на Упрощенный китайский Вот и все! ,

7.3 Добавить базу данных

Затем нам нужно добавить базу данных и добавить каталог, ранее сопоставленный с контейнером: audiobooks для аудиокниг podcasts для подкаста

7.4 Поиск ресурсов подкастов

Нажмитеодин раз Audiobookshelf , вы можете войти Library

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

Просто выберите понравившийся ресурс и скачайте его.

8. Возникшие текущие проблемы

8.1 Сложно установить Docker на отечественные сервера

Рекомендуется напрямую выполнить следующую команду: Установить Docker

Язык кода:javascript
копировать
apt install docker.io

Затем,Обратитесь к тому, что Сяоцзюнь написал ранее.из👉👉👉[Руководство] Подробное руководство по установке Docker системы CentOS https://www.smalljun.com/archives/3174.html ,Установить Docker-compose , а затем продолжайте Шаг 6.2 и последующие операции

9. Ending

Если у вас есть вопросы, вы можете пойти GitHub нести Issues,Вы также можете общаться и обсуждать друг с другом в комментариях!

boy illustration
Spring boot интегрирует Kafka и реализует отправку и потребление информации (действительно при личном тестировании)
boy illustration
Мысли о решениях по внутренней реализации сортировки методом перетаскивания
boy illustration
Междоменный доступ к конфигурации nginx не может вступить в силу. Междоменный доступ к странице_Page
boy illustration
Как написать текстовый контент на php
boy illustration
PHP добавляет текстовый водяной знак или водяной знак изображения к изображениям – метод инкапсуляции
boy illustration
Интерпретация быстрой таблицы (TLB)
boy illustration
Интерфейс WeChat API (полный) — оплата WeChat/красный конверт WeChat/купон WeChat/магазин WeChat/JSAPI
boy illustration
Преобразование Java-объекта в json string_complex json-строки в объект
boy illustration
Примените сегментацию слов jieba (версия Java) и предоставьте пакет jar
boy illustration
matinal: Самый подробный анализ управления разрешениями во всей сети SAP. Все управление разрешениями находится здесь.
boy illustration
Коротко расскажу обо всем процессе работы алгоритма сборки мусора G1 --- Теоретическая часть -- Часть 1
boy illustration
[Спецификация] Результаты и исключения возврата интерфейса SpringBoot обрабатываются единообразно, поэтому инкапсуляция является элегантной.
boy illustration
Интерпретация каталога веб-проекта Flask
boy illustration
Что такое подробное объяснение файла WSDL_wsdl
boy illustration
Как запустить большую модель ИИ локально
boy illustration
Подведение итогов десяти самых популярных веб-фреймворков для Go
boy illustration
5 рекомендуемых проектов CMS с открытым исходным кодом на базе .Net Core
boy illustration
Java использует httpclient для отправки запросов HttpPost (отправка формы, загрузка файлов и передача данных Json)
boy illustration
Руководство по развертыванию Nginx в Linux (Centos)
boy illustration
Интервью с Alibaba по Java: можно ли использовать @Transactional и @Async вместе?
boy illustration
Облачный шлюз Spring реализует примеры балансировки нагрузки и проверки входа в систему.
boy illustration
Используйте Nginx для решения междоменных проблем
boy illustration
Произошла ошибка, когда сервер веб-сайта установил соединение с базой данных. WordPress предложил решение проблемы с установкой соединения с базой данных... [Легко понять]
boy illustration
Новый адрес java-библиотеки_16 топовых Java-проектов с открытым исходным кодом, достойных вашего внимания! Обязательно к просмотру новичкам
boy illustration
Лучшие практики Kubernetes для устранения несоответствий часовых поясов внутри контейнеров
boy illustration
Введение в проект удаления водяных знаков из коротких видео на GitHub Douyin_TikTok_Download_API
boy illustration
Весенние аннотации: подробное объяснение @Service!
boy illustration
Пожалуйста, не используйте foreach для пакетной вставки в MyBatis. Для 5000 фрагментов данных потребовалось 14 минут. .
boy illustration
Как создать проект Node.js с помощью npm?
boy illustration
Mybatis-plus использует typeHandler для преобразования объединенных строк String в списки списков.