MediaWiki docker 图片 - 如何正确设置

MediaWiki docker image - how to set up properly

我正在努力快速建立自己的 Wiki。

我发现这个 MediaWiki docker image 我可以使用。

我正在使用 Docker Compose,我有以下 stack.yml 文件(基于上面 link 的文件)。

version: '3'
services:
  server:
    image: mediawiki
    restart: always
    ports:
      - 8080:80
    links:
      - database
    volumes:
      - /var/www/html/images
      # After initial setup, download LocalSettings.php to the same directory as
      # this yaml and uncomment the following line and use compose to restart
      # the mediawiki service
      # - ./LocalSettings.php:/var/www/html/LocalSettings.php
  database:
    image: mariadb
    restart: always
    environment:
      MYSQL_DATABASE: my_wiki
      MYSQL_ROOT_PASSWORD: foo

有几个问题和疑问

  1. 为什么我需要 /var/www/html/images 卷?这里存储了什么需要持久化?所有持久化数据都不是数据库的一部分吗?

  2. 显然我必须在初始设置后手动下载 LocalSettings.php 并取消注释 LocalSettings.php 卷。必须有更好的方法来自动执行此操作吗?

  3. 如何在 Wiki 中配置数据库客户端并告诉它使用什么 IP、用户和密码?我找不到任何关于此的文档。我猜这必须在 LocalSettings.php 内完成?还有一种方法可以在我的 stack.yml 中配置它,这样它就不必单独维护并且可以通过环境变量进行控制(尽管这不是现在最重要的事情)?

  1. 为什么我需要 /var/www/html/images 卷?这里存储了什么需要持久化?所有持久化数据都不是数据库的一部分吗?

没有。上传的文件(img,以及更多取决于您的本地设置)放在那里。 确保与数据库同时备份它们。

  1. 显然我必须在初始设置后手动下载 LocalSettings.php 并取消注释 LocalSettings.php 卷。必须有更好的方法来自动执行此操作吗?

我的做法是备份一个全新的设置 wiki 的数据库,然后在启动一个新的 wiki 时将其用作新数据库的主数据库。只要确保您始终使用相同的选项(数据库类型等)即可。

  1. 如何在 Wiki 中配置数据库客户端并告诉它使用什么 IP、用户和密码?我找不到任何关于此的文档。我猜这必须在 LocalSettings.php 中完成?还有一种方法可以在我的 stack.yml 中配置它,这样它就不必单独维护并且可以通过环境变量进行控制(尽管这不是现在最重要的事情)?

请参阅第 2 点中的答案。如果您自己设置数据库,则自己自动化 LocalSettings.php 比使用向导要容易得多。

尽情享受