Українська
Почати
← Усі шаблони

BookStack на Pethost в один клік

Вікі, розкладена по полицях, книгах, розділах і сторінках

Що відбудеться

  1. Ви входите в Pethost або створюєте акаунт — з ключем доступу, через GitHub або Google.
  2. Машини ще немає? Ви обираєте тариф, і ми готуємо машину для вас. Посилання чекає у вашому браузері, доки машина не буде готова.
  3. Вікно «Новий проєкт» відкривається на цьому застосунку. Ви заповнюєте те, що він просить, і натискаєте «Створити проєкт»: Електронна пошта, Пароль адміністратора.
  4. За хвилину-дві застосунок працює за власною адресою з HTTPS. Його секрети створюються випадково, а дані потрапляють у щонічний бекап.
  5. Це проєкт як будь-який інший: його 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: