BookStack на Pethost в один клік
Вікі, розкладена по полицях, книгах, розділах і сторінках
Що відбудеться
- Ви входите в Pethost або створюєте акаунт — з ключем доступу, через GitHub або Google.
- Машини ще немає? Ви обираєте тариф, і ми готуємо машину для вас. Посилання чекає у вашому браузері, доки машина не буде готова.
- Вікно «Новий проєкт» відкривається на цьому застосунку. Ви заповнюєте те, що він просить, і натискаєте «Створити проєкт»: Електронна пошта, Пароль адміністратора.
- За хвилину-дві застосунок працює за власною адресою з HTTPS. Його секрети створюються випадково, а дані потрапляють у щонічний бекап.
- Це проєкт як будь-який інший: його compose.yaml, .env, логи й термінал — у панелі, а ваш агент може його змінити, відкотити або відновити.
Перші кроки
Увійдіть з поштою й паролем адміністратора, які ви вказали, не коротшим за 8 символів: шаблон віддає їх першому адміністраторові BookStack, тож стандартний [email protected] ніколи не ввійде. Завантаження й налаштування зберігаються в /config.
Що запускається
Шаблон — це цей compose.yaml і змінні, які він записує в .env проєкту. Pethost запускає файл так, як його написано.
services:
bookstack:
image: lscr.io/linuxserver/bookstack:v26.09.1-ls288
restart: unless-stopped
environment:
PUID: "1000"
PGID: "1000"
APP_URL: ${URL}
APP_KEY: ${APP_KEY}
DB_HOST: mariadb
DB_PORT: "3306"
DB_DATABASE: bookstack
DB_USERNAME: bookstack
DB_PASSWORD: ${DB_PASSWORD}
ADMIN_EMAIL: ${ADMIN_EMAIL}
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
# BookStack's migrations make [email protected] with the password "password". A script of the
# image's custom-init step, which runs after the migrations and before the web server starts,
# gives that account the email and password given; once it is changed, the command leaves it.
entrypoint:
- sh
- -c
- |
mkdir -p /custom-cont-init.d
cat > /custom-cont-init.d/10-admin <<'SH'
#!/usr/bin/with-contenv sh
cd /app/www && php artisan bookstack:create-admin --initial --no-interaction --name=Admin --email="$$ADMIN_EMAIL" --password="$$ADMIN_PASSWORD"
SH
chmod 755 /custom-cont-init.d/10-admin
exec /init
depends_on:
mariadb:
condition: service_healthy
volumes:
- config:/config
mariadb:
image: lscr.io/linuxserver/mariadb:11.8.8-r0-ls235
restart: unless-stopped
environment:
PUID: "1000"
PGID: "1000"
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: bookstack
MYSQL_USER: bookstack
MYSQL_PASSWORD: ${DB_PASSWORD}
healthcheck:
test: ["CMD-SHELL", "mariadb-admin ping -h 127.0.0.1 -u bookstack -p\"$$MYSQL_PASSWORD\" --silent"]
interval: 5s
retries: 30
volumes:
- db:/config
volumes:
config:
db:
