Wikibase/Docker/ru

This page is a translated version of the page Wikibase/Docker and the translation is 38% complete.
Этот документ описывает установку комплекта Wikibase на базе Docker. Инструкции по установке Wikibase Suite вручную см. в разделе Wikibase/Suite . Информацию об установке только расширения Wikibase смотрите в разделе Wikibase/Установка .

Обзор

 
Wikibase Cloud Vertical 2x RGB

Это пошаговое руководство по установке комплекта Wikibase на свой компьютер с помощью Docker.

Наши образы Docker содержат полную установку MediaWiki и Wikibase, а процесс установки настраивается в соответствии с вашими потребностями.

Подготовка окружения

Выполните все эти шаги перед началом установки Wikibase.

Установите Docker

On the computer where you want to run Wikibase, first install Docker.

If you need help installing beyond Docker's own instructions, you can consult these third-party tutorials for Linux, Mac and Windows.

Проверка файлов

Check out the Wikibase pipeline repository from GitHub to obtain the example configuration files. The latest release is wmde.16, so run the following commands:

git clone https://github.com/wmde/wikibase-release-pipeline
cd wikibase-release-pipeline
git checkout tags/wmde.16

Подготовка файлов

Create a new launch directory from which you will launch Docker. Bear in mind the name of that directory will appear in your Docker container names. For this example we will create the directory "wbdocker".

mkdir $HOME/wbdocker
cp -r example/* $HOME/wbdocker
cd $HOME/wbdocker
mv template.env .env

Настройка окружения

The .env file contains the environment variables that govern your Wikibase installation. You will need to edit this file and change the information on specific lines as follows.

Настройка MediaWiki

  • MW_ADMIN_NAME
  • MW_ADMIN_PASS
  • MW_ADMIN_EMAIL

These values define the username, password and email address of the administrative user in your new MediaWiki installation. Вы будете использовать это имя пользователя и пароль для первого входа в веб-интерфейс вашего нового экземпляра; адрес электронной почты, который вы введете здесь, также позволит вам сбросить пароль при необходимости. The password must be at least 10 characters and must not appear in the list of CommonPasswords .

Этот секретный ключ должен быть уникальным; MediaWiki использует его для нескольких целей (например, управление сессиями, резервный источник криптографической энтропии). Более подробную информацию см. по ссылке. To generate a random string for use in this file:

echo -n "MW_SECRET_KEY="
tr -dc 'A-Za-z0-9@#%^+_-' </dev/urandom | head -c 64 ; echo ''

Настройка базы данных

  • DB_NAME
  • DB_USER
  • DB_PASS

These values control the name of the database that MediaWiki will use, as well as the database username and password. At the bare minimum, change DB_PASS:

echo -n "DB_PASS="
tr -dc 'A-Za-z0-9@#%^+_-' </dev/urandom | head -c 32 ; echo ''

Настройка Wikibase

По умолчанию функция pingback в Wikibase отключена. Please consider enabling this feature (which sends only anonymised data) by changing false to true.

Включение этой функции значительно улучшает понимание Wikimedia Deutschland того, как используется Wikibase, и помогает нам принимать более обоснованные решения относительно дорожной карты развития. For more information, read our pingback documentation topic.

Имена узлов

  • WIKIBASE_HOST=wikibase.svc
  • WIKIBASE_PORT=80
  • WDQS_FRONTEND_HOST=wdqs-frontend.svc
  • WDQS_FRONTEND_PORT=8834
  • QUICKSTATEMENTS_HOST=quickstatements.svc
  • QUICKSTATEMENTS_PORT=8840
  • MW_ELASTIC_HOST=elasticsearch.svc
  • MW_ELASTIC_PORT=9200

Эти строки определяют имя узла и порт вашей Wikibase (то, что вы введете в адресную строку браузера) и, по желанию, внешних служб для расширенной установки.

Sandbox users (those who want only a locally accessible setup on a single computer) can and should leave this section untouched.

However, if you plan to use any of the above external services outside of a self-contained Docker setup, you need to set WIKIBASE_HOST, WDQS_FRONTEND_HOST, QUICKSTATEMENTS_HOST and/or MW_ELASTIC_HOST to publicly accessible hostnames -- that is, hostnames that can be resolved in DNS -- or IP addresses. The latter might be the right choice if you're running this on a local network.

Don't use localhost in any setup that requires separate services to talk to one another.

MAX_JOBS

You can specify that the job runner should run more jobs between restarts by setting MAX_JOBS higher than its default value of 1. See below for more information on the job runner.

Установка и запуск Wikibase

Now that you've installed all the needed software and customised your environment file, you have one more choice: whether to perform a minimal install (just MediaWiki, a backing MySQL database and Wikibase) or an extended install (MediaWiki, database, Wikibase, WDQS, Elasticsearch, QuickStatements).

Минимальная установка

For a minimal install, in the launch directory where you copied and modified your files, simply run:

docker-compose up -d

Расширенная установка

For an extended install, in the launch directory where you copied and modified your files, run this extended command:

docker-compose -f docker-compose.yml -f docker-compose.extra.yml up -d

On some systems you will get an error message Unknown shorthand flag: 'f' in -f. In this case you need to install the docker-compose package through your package manager and run the command again.

Опции

If you need to run multiple job runners, you can add the following option (with X being the number of job runners to run) onto your docker compose command, as in this example:

docker-compose up -d --scale wikibase_jobrunner=X

Запуск и работа

You will now have at least two Docker containers running. To see your running containers, run docker compose ps. The following example output is from an extended install:

$ docker ps
NAME                         COMMAND                   SERVICE              STATUS              PORTS
wbdocker-elasticsearch-1        "/usr/local/bin/dock…"    elasticsearch        running             9300/tcp
wbdocker-mysql-1                "docker-entrypoint.s…"    mysql                running             3306/tcp
wbdocker-quickstatements-1      "/bin/bash /entrypoi…"    quickstatements      running             0.0.0.0:8840->80/tcp, :::8840->80/tcp
wbdocker-wdqs-1                 "/entrypoint.sh /run…"    wdqs                 running             9999/tcp
wbdocker-wdqs-frontend-1        "/entrypoint.sh ngin…"    wdqs-frontend        running             0.0.0.0:8834->80/tcp, :::8834->80/tcp
wbdocker-wdqs-proxy-1           "/bin/sh -c \"/entryp…"   wdqs-proxy           running             80/tcp
wbdocker-wdqs-updater-1         "/entrypoint.sh /run…"    wdqs-updater         running             
wbdocker-wikibase-1             "/bin/bash /entrypoi…"    wikibase             running             0.0.0.0:80->80/tcp, :::80->80/tcp
wbdocker-wikibase_jobrunner-1   "/bin/bash /jobrunne…"    wikibase_jobrunner   running             80/tcp
 
MediaWiki interface for Wikibase Suite prelogin

For some more helpful Wikibase-oriented Docker commands, check out the Docker tooling section of our maintenance documentation.

Log into your new Wikibase by navigating to your local machine's web server.


Job runner

The example docker-compose.yml sets up a dedicated job runner which restarts itself after every job, to ensure that changes to the configuration are picked up as quickly as possible.

Если вы работаете с большими объемами правок, то эта функция может не справляться с обработкой. You can speed it up by increasing the MAX_JOBS variable in your .env file (see above), in order to run more jobs between restarts. This change won't take effect in the job runner until you restart your docker compose project.

If you wish, you can also run several job runners in parallel by adding the option --scale wikibase_jobrunner=8 to the docker compose up command. See the Installing section above.

Связи с внешними сайтами

To create links between MediaWiki and Wikibase, run the add site script. You can learn more about adding sitelinks on the Wikidata sitelinks help page and the Wikibase advanced configuration page.

Using your new instance

Once all services have started, you can begin filling up, extending and customising your empty instance of Wikibase. Take a look at our setup resources page to get started.

Further reading