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

Apache Answer на Pethost в один клік

Питання й відповіді для спільноти, довідкового центру чи команди, свій Stack Overflow

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

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

Перші кроки

Увійдіть із поштою й паролем адміністратора, які ви вказали (від 8 до 32 символів); ім’я користувача адміністратора — admin. Реєстрації підтверджуються листом, тож перш ніж кликати людей, додайте SMTP-сервер в Admin → Settings → SMTP.

Що запускається

Шаблон — це цей compose.yaml і змінні, які він записує в .env проєкту. Pethost запускає файл так, як його написано.

services:
  answer:
    image: apache/answer:2.0.3
    restart: unless-stopped
    # Installed from these on the first start, with SQLite in /data: the admin is made from the
    # fields, so the install page is never open to a visitor. A password Answer would refuse stops
    # the start instead, since a refused one leaves that page open.
    entrypoint:
      - bash
      - -c
      - |
        if [ $${#ADMIN_PASSWORD} -lt 8 ] || [ $${#ADMIN_PASSWORD} -gt 32 ]; then
          echo "The admin password must be 8 to 32 characters." >&2
          exit 1
        fi
        exec /entrypoint.sh
    environment:
      AUTO_INSTALL: "true"
      DB_TYPE: sqlite3
      DB_FILE: /data/answer.db
      LANGUAGE: en-US
      SITE_NAME: Apache Answer
      SITE_URL: ${URL}
      CONTACT_EMAIL: ${ADMIN_EMAIL}
      ADMIN_NAME: admin
      ADMIN_EMAIL: ${ADMIN_EMAIL}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
      EXTERNAL_CONTENT_DISPLAY: ask_before_display
    volumes:
      - data:/data

volumes:
  data: