Використання в Docker#
Встановлення#
Встановлення з Dockerhub#
У нас є декілька тегів:
latest
- Остання версія проекту.dev
- Остання можлива версія проекту. Використовуйте лише для тестування, завжди можуть бути проблеми з несумісністю версій.x.y.z
- Версія проекту в Semantic Versions.
Кожен з цих тегів, також має дублікати с суфіксами баз даних, на даний момент це можуть бути sqlite
, mysql
або postgresql
. Як приклад, для тегу latest
також буде доступний тег latest-sqlite
.
Тег без суфіксу - стандартна база даних. На даний момент це sqlite
. Тобто це означає що тег latest
це теж саме що і latest-sqlite
.
Також є декілька застарілих тегів, які залишаються тільки для історії. Це main, rewrite та newdb.
Попередження
Якщо ви не використовуєте sqlite
, вам також треба буде застосовувати міграції бази даних самостійно. В sqlite
міграції приміняються поки ми збираємо зображення. Дивіться Міграції бази даних для більшої інформації.
Самостійна компіляція#
Також, ви можете скомпілювати зображення з кореневої теки проекту. Для цього, просто використайте команду:
docker build -t perchunpak/pingerbot . --build-arg dialect=sqlite
Де --build-arg dialect=sqlite
- параметер, який визначає яку базу даних ви будете використовувати. Замість sqlite
ви можете встановити що завгодно, що ми підтримуємо.
Попередження
Якщо ви не використовуєте sqlite
, вам також треба буде застосовувати міграції бази даних самостійно. В sqlite
міграції приміняються поки ми збираємо зображення. Дивіться Міграції бази даних для більшої інформації.
Запуск#
Для запуску бота, в обох випадках встановлення, використайте цю команду:
docker run --name pingerbot -d perchunpak/pingerbot
Якщо ви хочете використовувати sqlite
, ви також повинні встановити опцію -v ВАША_ТЕКА:/app/data
(Де ВАША_ТЕКА
це ваша тека до теки з базою даних, рекомендовано встановлювати абсолютний шлях.) Це потрібно щоб зберігати вашу базу даних коли контейнер перезавантажиться.
Вам також треба встановити опцію -e
для кожного параметра конфігурації. Ця опція просто встановлює зміни оточення, так що інтерфейс буде такий самий як і в config.yml
, але всі ключі параметрів повинні бути у верхньому регістрі.
Вони повинні використовуватися як -e КЛЮЧ=ЗНАЧЕННЯ
, де КЛЮЧ
це ключ з config.yml
у верхньому регістрі (наприклад DISCORD_TOKEN
), і ЗНАЧЕННЯ
це значення.
Так як і опція -v
, воно повинно бути між флагом -d
і perchunpak/pingerbot
.
З версії 0.4.0 контейнер запускається в режимі без-root, що означає, що якщо ви використовуєте тег sqlite і -v
опцію, вам потрібно надати права на папку. Це можна зробити за допомогою команди chown -R 5000:5000 <ваша тека>
.
Не стосується користувачів Windows.
Дивись також
podman як заміну для Docker.
Дивись також
Команду
docker run --help
Для повного списку аргументів та можливостей, вище тільки саміоснови.