BookStack на Pethost в один клик
Вики, разложенная по полкам, книгам, главам и страницам
Что произойдет
- Вы входите в Pethost или создаете аккаунт — с passkey, через 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:
