feat:添加mediawiki到列表#1961

This commit is contained in:
okxlin 2024-11-05 01:37:06 +08:00
parent 8e761906d0
commit 45bc22b56f
17 changed files with 522 additions and 0 deletions

View File

@ -0,0 +1,6 @@
CONTAINER_NAME="mediawiki"
INTERNAL_DATA_PATH="/var/www/data"
LOCAL_SETTINGS_PATH="./data/LocalSettings.php"
MEDIAWIKI_DATA_PATH="./data/data"
MEDIAWIKI_IMAGES_PATH="./data/images"
PANEL_APP_PORT_HTTP=40315

View File

@ -0,0 +1,38 @@
additionalProperties:
formFields:
- default: "40315"
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: 端口
required: true
rule: paramPort
type: number
- default: "./data/images"
disabled: true
envKey: MEDIAWIKI_IMAGES_PATH
labelEn: MediaWiki Images Path
labelZh: MediaWiki 图片路径
required: true
type: text
- default: "./data/data"
disabled: true
envKey: MEDIAWIKI_DATA_PATH
labelEn: MediaWiki Data Path
labelZh: MediaWiki 数据路径
required: true
type: text
- default: "/var/www/data"
edit: true
envKey: INTERNAL_DATA_PATH
labelEn: Internal container data paths
labelZh: 容器内部数据路径
required: true
type: text
- default: "./data/LocalSettings.php"
disabled: true
envKey: LOCAL_SETTINGS_PATH
labelEn: LocalSettings.php Path ([necessary] Edit compose.yml to close the mapping to regenerate the configuration file)
labelZh: LocalSettings.php 路径 (【必要】编辑 compose.yml 关闭映射可重新生成配置文件)
required: true
type: text

View File

@ -0,0 +1,172 @@
<?php
# This file was automatically generated by the MediaWiki 1.42.3
# installer. If you make manual changes, please keep track in case you
# need to recreate them later.
#
# See includes/MainConfigSchema.php for all configurable settings
# and their default values, but don't forget to make changes in _this_
# file, not there.
#
# Further documentation for configuration settings may be found at:
# https://www.mediawiki.org/wiki/Manual:Configuration_settings
# Protect against web entry
if ( !defined( 'MEDIAWIKI' ) ) {
exit;
}
## Uncomment this to disable output compression
# $wgDisableOutputCompression = true;
$wgSitename = 'wiki';
$wgMetaNamespace = 'Wiki';
## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
## https://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = '';
## The protocol and server name to use in fully-qualified URLs
$wgServer = 'http://127.0.0.1:40315';
## The URL path to static resources (images, scripts, etc.)
$wgResourceBasePath = $wgScriptPath;
## The URL paths to the logo. Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
$wgLogos = [
'1x' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",
'icon' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",
];
## UPO means: this is also a user preference option
$wgEnableEmail = false;
$wgEnableUserEmail = true; # UPO
$wgEmergencyContact = '';
$wgPasswordSender = '';
$wgEnotifUserTalk = false; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = true;
## Database settings
$wgDBtype = 'sqlite';
$wgDBserver = '';
$wgDBname = 'my_wiki';
$wgDBuser = '';
$wgDBpassword = '';
# SQLite-specific settings
$wgSQLiteDataDir = "/var/www/data";
$wgObjectCaches[CACHE_DB] = [
'class' => SqlBagOStuff::class,
'loggroup' => 'SQLBagOStuff',
'server' => [
'type' => 'sqlite',
'dbname' => 'wikicache',
'tablePrefix' => '',
'variables' => [ 'synchronous' => 'NORMAL' ],
'dbDirectory' => $wgSQLiteDataDir,
'trxMode' => 'IMMEDIATE',
'flags' => 0
]
];
$wgLocalisationCacheConf['storeServer'] = [
'type' => 'sqlite',
'dbname' => "{$wgDBname}_l10n_cache",
'tablePrefix' => '',
'variables' => [ 'synchronous' => 'NORMAL' ],
'dbDirectory' => $wgSQLiteDataDir,
'trxMode' => 'IMMEDIATE',
'flags' => 0
];
$wgJobTypeConf['default'] = [
'class' => 'JobQueueDB',
'claimTTL' => 3600,
'server' => [
'type' => 'sqlite',
'dbname' => "{$wgDBname}_jobqueue",
'tablePrefix' => '',
'variables' => [ 'synchronous' => 'NORMAL' ],
'dbDirectory' => $wgSQLiteDataDir,
'trxMode' => 'IMMEDIATE',
'flags' => 0
]
];
$wgResourceLoaderUseObjectCacheForDeps = true;
# Shared database table
# This has no effect unless $wgSharedDB is also set.
$wgSharedTables[] = "actor";
## Shared memory settings
$wgMainCacheType = CACHE_ACCEL;
$wgMemCachedServers = [];
## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = false;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = '/usr/bin/convert';
# InstantCommons allows wiki to use images from https://commons.wikimedia.org
$wgUseInstantCommons = false;
# Periodically send a pingback to https://www.mediawiki.org/ with basic data
# about this MediaWiki instance. The Wikimedia Foundation shares this data
# with MediaWiki developers to help guide future development efforts.
$wgPingback = false;
# Site language code, should be one of the list in ./includes/languages/data/Names.php
$wgLanguageCode = 'zh-cn';
# Time zone
$wgLocaltimezone = 'UTC';
## Set $wgCacheDirectory to a writable directory on the web server
## to make your wiki go slightly faster. The directory should not
## be publicly accessible from the web.
#$wgCacheDirectory = "$IP/cache";
$wgSecretKey = '45717985f5d8fff577d2d27da22b37bd1541ad6047585f44bdc14fb9e53568da';
# Changing this will log out all existing sessions.
$wgAuthenticationTokenVersion = '1';
# Site upgrade key. Must be set to a string (default provided) to turn on the
# web installer while LocalSettings.php is in place
$wgUpgradeKey = 'f05f42e60810b946';
## For attaching licensing metadata to pages, and displaying an
## appropriate copyright notice / icon. GNU Free Documentation
## License and Creative Commons licenses are supported so far.
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
$wgRightsUrl = '';
$wgRightsText = '';
$wgRightsIcon = "";
# Path to the GNU diff3 utility. Used for conflict resolution.
$wgDiff3 = '/usr/bin/diff3';
## Default skin: you can change the default skin. Use the internal symbolic
## names, e.g. 'vector' or 'monobook':
$wgDefaultSkin = 'vector';
# Enabled skins.
# The following skins were automatically enabled:
wfLoadSkin( 'MinervaNeue' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );
# End of automatically generated settings.
# Add more configuration options below.

View File

View File

@ -0,0 +1,20 @@
services:
mediawiki:
image: "mediawiki:1.42.3"
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:80"
volumes:
- ${MEDIAWIKI_IMAGES_PATH}:/var/www/html/images
- ${MEDIAWIKI_DATA_PATH}:${INTERNAL_DATA_PATH}
# 以下行前添加#号表示关闭映射,可进行初始化配置生成
- ${LOCAL_SETTINGS_PATH}:/var/www/html/LocalSettings.php
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true

View File

@ -0,0 +1,3 @@
#!/bin/bash
chown -R www-data:www-data data

25
apps/mediawiki/README.md Normal file
View File

@ -0,0 +1,25 @@
# MediaWiki
**MediaWiki** 是一个免费、开源的 Wiki 软件包,由 PHP 编写。它是 Wikipedia 及其他 Wikimedia 项目的基础平台每月有数亿人使用。MediaWiki 支持超过 350 种语言,凭借其可靠性和强大的功能集,拥有庞大而活跃的第三方用户和开发者社区。
## 使用说明
- 1. 数据库连接信息及更多的设置通过`LocalSettings.php`文件进行设置,
- 2. 通过取消`LocalSettings.php`文件的映射来重新初始化,并获取配置文件。**【必要】**
- 3. 然后修改并重新映射`LocalSettings.php`文件到容器内来使新设置生效。
- 4. 需要将配置文件正确放置,文件路径大概如下:`/opt/1panel/apps/local/mediawiki/mediawiki/data/LocalSettings.php`,按需修改。
- 5. **具体:安装应用/修改应用参数时,点击`高级设置`>`编辑 compose 文件`,通过修改对`LocalSettings.php`文件的映射与否,获取新配置文件/启用配置文件。**
- 6. 在`高级设置`>`编辑 compose 文件`时,可通过按需修改编排的以下部分,然后确认重建应用生效,此步骤即是修改配置文件的映射。
```
volumes:
- ${MEDIAWIKI_IMAGES_PATH}:/var/www/html/images
- ${MEDIAWIKI_DATA_PATH}:${INTERNAL_DATA_PATH}
# 删除以下行前的#号表示启用
#- ${LOCAL_SETTINGS_PATH}:/var/www/html/LocalSettings.php # 映射到容器内的配置文件
```

19
apps/mediawiki/data.yml Normal file
View File

@ -0,0 +1,19 @@
name: MediaWiki
tags:
- 建站
title: 开源百科引擎
description: 开源百科引擎
additionalProperties:
key: mediawiki
name: MediaWiki
tags:
- WebSite
shortDescZh: 开源百科引擎
shortDescEn: Open-source wiki engine
type: tool
crossVersionUpdate: true
limit: 0
recommend: 0
website: https://www.mediawiki.org
github: https://github.com/wikimedia/mediawiki
document: https://www.mediawiki.org/wiki/Manual:Installation_guide

View File

@ -0,0 +1,6 @@
CONTAINER_NAME="mediawiki"
INTERNAL_DATA_PATH="/var/www/data"
LOCAL_SETTINGS_PATH="./data/LocalSettings.php"
MEDIAWIKI_DATA_PATH="./data/data"
MEDIAWIKI_IMAGES_PATH="./data/images"
PANEL_APP_PORT_HTTP=40315

View File

@ -0,0 +1,38 @@
additionalProperties:
formFields:
- default: "40315"
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: 端口
required: true
rule: paramPort
type: number
- default: "./data/images"
disabled: true
envKey: MEDIAWIKI_IMAGES_PATH
labelEn: MediaWiki Images Path
labelZh: MediaWiki 图片路径
required: true
type: text
- default: "./data/data"
disabled: true
envKey: MEDIAWIKI_DATA_PATH
labelEn: MediaWiki Data Path
labelZh: MediaWiki 数据路径
required: true
type: text
- default: "/var/www/data"
edit: true
envKey: INTERNAL_DATA_PATH
labelEn: Internal container data paths
labelZh: 容器内部数据路径
required: true
type: text
- default: "./data/LocalSettings.php"
disabled: true
envKey: LOCAL_SETTINGS_PATH
labelEn: LocalSettings.php Path ([necessary] Edit compose.yml to close the mapping to regenerate the configuration file)
labelZh: LocalSettings.php 路径 (【必要】编辑 compose.yml 关闭映射可重新生成配置文件)
required: true
type: text

View File

@ -0,0 +1,172 @@
<?php
# This file was automatically generated by the MediaWiki 1.42.3
# installer. If you make manual changes, please keep track in case you
# need to recreate them later.
#
# See includes/MainConfigSchema.php for all configurable settings
# and their default values, but don't forget to make changes in _this_
# file, not there.
#
# Further documentation for configuration settings may be found at:
# https://www.mediawiki.org/wiki/Manual:Configuration_settings
# Protect against web entry
if ( !defined( 'MEDIAWIKI' ) ) {
exit;
}
## Uncomment this to disable output compression
# $wgDisableOutputCompression = true;
$wgSitename = 'wiki';
$wgMetaNamespace = 'Wiki';
## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
## https://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = '';
## The protocol and server name to use in fully-qualified URLs
$wgServer = 'http://127.0.0.1:40315';
## The URL path to static resources (images, scripts, etc.)
$wgResourceBasePath = $wgScriptPath;
## The URL paths to the logo. Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
$wgLogos = [
'1x' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",
'icon' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",
];
## UPO means: this is also a user preference option
$wgEnableEmail = false;
$wgEnableUserEmail = true; # UPO
$wgEmergencyContact = '';
$wgPasswordSender = '';
$wgEnotifUserTalk = false; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = true;
## Database settings
$wgDBtype = 'sqlite';
$wgDBserver = '';
$wgDBname = 'my_wiki';
$wgDBuser = '';
$wgDBpassword = '';
# SQLite-specific settings
$wgSQLiteDataDir = "/var/www/data";
$wgObjectCaches[CACHE_DB] = [
'class' => SqlBagOStuff::class,
'loggroup' => 'SQLBagOStuff',
'server' => [
'type' => 'sqlite',
'dbname' => 'wikicache',
'tablePrefix' => '',
'variables' => [ 'synchronous' => 'NORMAL' ],
'dbDirectory' => $wgSQLiteDataDir,
'trxMode' => 'IMMEDIATE',
'flags' => 0
]
];
$wgLocalisationCacheConf['storeServer'] = [
'type' => 'sqlite',
'dbname' => "{$wgDBname}_l10n_cache",
'tablePrefix' => '',
'variables' => [ 'synchronous' => 'NORMAL' ],
'dbDirectory' => $wgSQLiteDataDir,
'trxMode' => 'IMMEDIATE',
'flags' => 0
];
$wgJobTypeConf['default'] = [
'class' => 'JobQueueDB',
'claimTTL' => 3600,
'server' => [
'type' => 'sqlite',
'dbname' => "{$wgDBname}_jobqueue",
'tablePrefix' => '',
'variables' => [ 'synchronous' => 'NORMAL' ],
'dbDirectory' => $wgSQLiteDataDir,
'trxMode' => 'IMMEDIATE',
'flags' => 0
]
];
$wgResourceLoaderUseObjectCacheForDeps = true;
# Shared database table
# This has no effect unless $wgSharedDB is also set.
$wgSharedTables[] = "actor";
## Shared memory settings
$wgMainCacheType = CACHE_ACCEL;
$wgMemCachedServers = [];
## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = false;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = '/usr/bin/convert';
# InstantCommons allows wiki to use images from https://commons.wikimedia.org
$wgUseInstantCommons = false;
# Periodically send a pingback to https://www.mediawiki.org/ with basic data
# about this MediaWiki instance. The Wikimedia Foundation shares this data
# with MediaWiki developers to help guide future development efforts.
$wgPingback = false;
# Site language code, should be one of the list in ./includes/languages/data/Names.php
$wgLanguageCode = 'zh-cn';
# Time zone
$wgLocaltimezone = 'UTC';
## Set $wgCacheDirectory to a writable directory on the web server
## to make your wiki go slightly faster. The directory should not
## be publicly accessible from the web.
#$wgCacheDirectory = "$IP/cache";
$wgSecretKey = '45717985f5d8fff577d2d27da22b37bd1541ad6047585f44bdc14fb9e53568da';
# Changing this will log out all existing sessions.
$wgAuthenticationTokenVersion = '1';
# Site upgrade key. Must be set to a string (default provided) to turn on the
# web installer while LocalSettings.php is in place
$wgUpgradeKey = 'f05f42e60810b946';
## For attaching licensing metadata to pages, and displaying an
## appropriate copyright notice / icon. GNU Free Documentation
## License and Creative Commons licenses are supported so far.
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
$wgRightsUrl = '';
$wgRightsText = '';
$wgRightsIcon = "";
# Path to the GNU diff3 utility. Used for conflict resolution.
$wgDiff3 = '/usr/bin/diff3';
## Default skin: you can change the default skin. Use the internal symbolic
## names, e.g. 'vector' or 'monobook':
$wgDefaultSkin = 'vector';
# Enabled skins.
# The following skins were automatically enabled:
wfLoadSkin( 'MinervaNeue' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );
# End of automatically generated settings.
# Add more configuration options below.

View File

View File

@ -0,0 +1,20 @@
services:
mediawiki:
image: "mediawiki:latest"
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:80"
volumes:
- ${MEDIAWIKI_IMAGES_PATH}:/var/www/html/images
- ${MEDIAWIKI_DATA_PATH}:${INTERNAL_DATA_PATH}
# 以下行前添加#号表示关闭映射,可进行初始化配置生成
- ${LOCAL_SETTINGS_PATH}:/var/www/html/LocalSettings.php
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true

View File

@ -0,0 +1,3 @@
#!/bin/bash
chown -R www-data:www-data data

BIN
apps/mediawiki/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB