Initial Commit, working wiki with VisualEditor
This commit is contained in:
commit
9157bcc9bd
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
/images/
|
||||||
|
/secrets.php
|
||||||
|
/.env
|
38
Dockerfile
Normal file
38
Dockerfile
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
FROM mediawiki:latest
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y libldap2-dev git zip \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& docker-php-ext-install -j$(nproc) ldap
|
||||||
|
|
||||||
|
RUN git clone --depth 1 -b $MEDIAWIKI_BRANCH \
|
||||||
|
https://gerrit.wikimedia.org/r/mediawiki/extensions/Scribunto \
|
||||||
|
/var/www/html/extensions/Scribunto \
|
||||||
|
&& chmod a+x /var/www/html/extensions/Scribunto/includes/engines/LuaStandalone/binaries/lua*_linux_*/lua
|
||||||
|
|
||||||
|
RUN git clone --depth 1 -b $MEDIAWIKI_BRANCH \
|
||||||
|
https://gerrit.wikimedia.org/r/mediawiki/extensions/LdapAuthentication \
|
||||||
|
/var/www/html/extensions/LdapAuthentication
|
||||||
|
|
||||||
|
RUN git clone --depth 1 -b $MEDIAWIKI_BRANCH \
|
||||||
|
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor.git \
|
||||||
|
/var/www/html/extensions/VisualEditor \
|
||||||
|
&& cd /var/www/html/extensions/VisualEditor \
|
||||||
|
&& git submodule update --depth 1 --init
|
||||||
|
|
||||||
|
RUN git clone --depth 1 -b $MEDIAWIKI_BRANCH \
|
||||||
|
https://gerrit.wikimedia.org/r/mediawiki/extensions/MobileFrontend \
|
||||||
|
/var/www/html/extensions/MobileFrontend
|
||||||
|
|
||||||
|
RUN git clone --depth 1 \
|
||||||
|
https://github.com/p12tic/NativeSvgHandler.git \
|
||||||
|
/var/www/html/extensions/NativeSvgHandler
|
||||||
|
|
||||||
|
RUN git clone --depth 1 -b $MEDIAWIKI_BRANCH \
|
||||||
|
https://gerrit.wikimedia.org/r/mediawiki/extensions/CodeMirror \
|
||||||
|
/var/www/html/extensions/CodeMirror
|
||||||
|
|
||||||
|
|
||||||
|
COPY composer.local.json /var/www/html/
|
||||||
|
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
||||||
|
RUN cd /var/www/html/ && composer update --no-dev
|
199
LocalSettings.php
Normal file
199
LocalSettings.php
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
<?php
|
||||||
|
# This file was automatically generated by the MediaWiki 1.30.0
|
||||||
|
# installer. If you make manual changes, please keep track in case you
|
||||||
|
# need to recreate them later.
|
||||||
|
#
|
||||||
|
# See includes/DefaultSettings.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
# store passwords/sensitive data here
|
||||||
|
$secrets = require('secrets.php');
|
||||||
|
|
||||||
|
## Uncomment this to disable output compression
|
||||||
|
# $wgDisableOutputCompression = true;
|
||||||
|
|
||||||
|
$wgSitename = "Claremont MakerSpace";
|
||||||
|
$wgMetaNamespace = "Claremont_MakerSpace";
|
||||||
|
|
||||||
|
## 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 = "";
|
||||||
|
$wgScriptExtension = ".php";
|
||||||
|
$wgArticlePath = "/wiki/$1";
|
||||||
|
$wgUsePathInfo = true;
|
||||||
|
|
||||||
|
## The protocol and server name to use in fully-qualified URLs
|
||||||
|
$wgServer = "http://localhost:8080";
|
||||||
|
|
||||||
|
## The URL path to static resources (images, scripts, etc.)
|
||||||
|
$wgResourceBasePath = $wgScriptPath;
|
||||||
|
|
||||||
|
## The URL path to the logo. Make sure you change this from the default,
|
||||||
|
## or else you'll overwrite your logo when you upgrade!
|
||||||
|
$wgLogo = "images/CMS-Logo-BY-v4_alt-small.png";
|
||||||
|
|
||||||
|
## UPO means: this is also a user preference option
|
||||||
|
|
||||||
|
$wgEnableEmail = true;
|
||||||
|
$wgEnableUserEmail = true; # UPO
|
||||||
|
|
||||||
|
$wgEmergencyContact = "apache@claremontmakerspace.org";
|
||||||
|
$wgPasswordSender = "apache@claremontmakerspace.org";
|
||||||
|
|
||||||
|
$wgEnotifUserTalk = true; # UPO
|
||||||
|
$wgEnotifWatchlist = false; # UPO
|
||||||
|
$wgEmailAuthentication = true;
|
||||||
|
|
||||||
|
## Database settings
|
||||||
|
$wgDBtype = "mysql";
|
||||||
|
$wgDBserver = "database";
|
||||||
|
$wgDBname = "mediawiki";
|
||||||
|
$wgDBuser = "mediawiki";
|
||||||
|
$wgDBpassword = $secrets['wgDBpassword'];
|
||||||
|
|
||||||
|
# MySQL specific settings
|
||||||
|
$wgDBprefix = "";
|
||||||
|
|
||||||
|
# MySQL table options to use during installation or update
|
||||||
|
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";
|
||||||
|
|
||||||
|
# Experimental charset support for MySQL 5.0.
|
||||||
|
$wgDBmysql5 = false;
|
||||||
|
|
||||||
|
## Shared memory settings
|
||||||
|
$wgMainCacheType = CACHE_NONE;
|
||||||
|
$wgMemCachedServers = [];
|
||||||
|
|
||||||
|
## To enable image uploads, make sure the 'images' directory
|
||||||
|
## is writable, then set this to true:
|
||||||
|
$wgEnableUploads = true;
|
||||||
|
$wgFileExtensions = array_merge( $wgFileExtensions, array( 'pdf', 'svg' ));
|
||||||
|
$wgUseImageMagick = true;
|
||||||
|
$wgImageMagickConvertCommand = "/usr/bin/convert";
|
||||||
|
$wgGenerateThumbnailOnParse = false;
|
||||||
|
|
||||||
|
# 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;
|
||||||
|
|
||||||
|
## If you use ImageMagick (or any other shell command) on a
|
||||||
|
## Linux server, this will need to be set to the name of an
|
||||||
|
## available UTF-8 locale
|
||||||
|
$wgShellLocale = "en_US.utf8";
|
||||||
|
|
||||||
|
## Set $wgCacheDirectory to a writable directory on the web server
|
||||||
|
## to make your wiki go slightly faster. The directory should not
|
||||||
|
## be publically accessible from the web.
|
||||||
|
#$wgCacheDirectory = "$IP/cache";
|
||||||
|
|
||||||
|
# Site language code, should be one of the list in ./languages/data/Names.php
|
||||||
|
$wgLanguageCode = "en";
|
||||||
|
|
||||||
|
$wgSecretKey = $secrets['wgSecretKey'];
|
||||||
|
|
||||||
|
# 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 = $secrets['wgUpgradeKey'];
|
||||||
|
|
||||||
|
## 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 = "https://creativecommons.org/licenses/by-sa/4.0/";
|
||||||
|
$wgRightsText = "Creative Commons Attribution-ShareAlike";
|
||||||
|
$wgRightsIcon = "$wgResourceBasePath/resources/assets/licenses/cc-by-sa.png";
|
||||||
|
|
||||||
|
# Path to the GNU diff3 utility. Used for conflict resolution.
|
||||||
|
$wgDiff3 = "/usr/bin/diff3";
|
||||||
|
|
||||||
|
# Global Permissions
|
||||||
|
$wgGroupPermissions['*']['createaccount'] = false;
|
||||||
|
$wgGroupPermissions['*']['autocreateaccount'] = true;
|
||||||
|
$wgGroupPermissions['*']['edit'] = false;
|
||||||
|
|
||||||
|
## Default skin: you can change the default skin. Use the internal symbolic
|
||||||
|
## names, ie 'vector', 'monobook':
|
||||||
|
$wgDefaultSkin = "Timeless";
|
||||||
|
|
||||||
|
# Enabled skins.
|
||||||
|
# The following skins were automatically enabled:
|
||||||
|
wfLoadSkin( 'MonoBook' );
|
||||||
|
wfLoadSkin( 'Vector' );
|
||||||
|
wfLoadSkin( 'Timeless' );
|
||||||
|
|
||||||
|
# End of automatically generated settings.
|
||||||
|
# Add more configuration options below.
|
||||||
|
|
||||||
|
# Semantic MediaWiki Extension
|
||||||
|
# require_once "$IP/extensions/SemanticMediaWiki/SemanticMediaWiki.php";
|
||||||
|
enableSemantics( 'claremontmakerspace.org' );
|
||||||
|
$smwgPDefaultType = '_txt';
|
||||||
|
$smwgEnabledQueryDependencyLinksStore = true;
|
||||||
|
|
||||||
|
wfLoadExtension( 'WikiEditor' );
|
||||||
|
wfLoadExtension( 'CodeEditor' );
|
||||||
|
$wgDefaultUserOptions['usebetatoolbar'] = 1; // user option provided by WikiEditor extension
|
||||||
|
|
||||||
|
wfLoadExtension( 'CodeMirror' );
|
||||||
|
|
||||||
|
wfLoadExtension( 'ReplaceText' );
|
||||||
|
|
||||||
|
#wfLoadExtension( 'UserMerge' );
|
||||||
|
#$wgGroupPermissions['bureaucrat']['usermerge'] = true;
|
||||||
|
|
||||||
|
require_once "$IP/extensions/NativeSvgHandler/NativeSvgHandler.php";
|
||||||
|
|
||||||
|
wfLoadExtension( 'Scribunto' );
|
||||||
|
$wgScribuntoDefaultEngine = 'luastandalone';
|
||||||
|
$wgScribuntoUseCodeEditor = "true";
|
||||||
|
|
||||||
|
# LDAP
|
||||||
|
require_once ('extensions/LdapAuthentication/LdapAuthentication.php');
|
||||||
|
$wgAuth = new LdapAuthenticationPlugin();
|
||||||
|
$wgLDAPDomainNames = array( 'CMS' );
|
||||||
|
$wgLDAPServerNames = array( 'CMS' => 'self-service.claremontmakerspace.org' );
|
||||||
|
$wgLDAPPort = array( 'CMS' => 7389 );
|
||||||
|
$wgLDAPEncryptionType = array( 'CMS' => 'clear' );
|
||||||
|
$wgLDAPSearchStrings = array(
|
||||||
|
'CMS' => 'uid=USER-NAME,cn=users,dc=sawtooth,dc=claremontmakerspace,dc=org' );
|
||||||
|
|
||||||
|
# LDAP proxy bind
|
||||||
|
// $wgLDAPProxyAgent = array( 'CMS' => 'cn=LDAPSearch,cn=users,dc=sawtooth,dc=claremontmakerspace,dc=org' );
|
||||||
|
// $wgLDAPProxyAgentPassword = array( 'CMS' => '' );
|
||||||
|
// $wgLDAPSearchAttributes = array( 'CMS' => 'uid' );
|
||||||
|
// $wgLDAPBaseDNs = array( 'CMS' => 'dc=claremontmakerspace,dc=org' );
|
||||||
|
|
||||||
|
# To pull e-mail address from LDAP
|
||||||
|
$wgLDAPPreferences = array( 'CMS' => array( 'email' => 'mail'));
|
||||||
|
$wgShowExceptionDetails = true;
|
||||||
|
|
||||||
|
wfLoadExtension( 'VisualEditor' );
|
||||||
|
$wgDefaultUserOptions['visualeditor-enable'] = 1;
|
||||||
|
$wgDefaultUserOptions['visualeditor-editor'] = "visualeditor";
|
||||||
|
# Don't allow users to disable it
|
||||||
|
//$wgHiddenPrefs[] = 'visualeditor-enable';
|
||||||
|
# OPTIONAL: Enable VisualEditor's experimental code features
|
||||||
|
#$wgDefaultUserOptions['visualeditor-enable-experimental'] = 1;
|
||||||
|
$wgVirtualRestConfig['modules']['parsoid'] = array(
|
||||||
|
'url' => 'http://parsoid:8000',
|
||||||
|
'domain' => 'claremontmakerspace',
|
||||||
|
);
|
8
composer.local.json
Normal file
8
composer.local.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"require": {
|
||||||
|
"mediawiki/semantic-media-wiki": "^3.0",
|
||||||
|
"mediawiki/semantic-scribunto": "^2.0",
|
||||||
|
"mediawiki/semantic-result-formats": "^3.0",
|
||||||
|
"mediawiki/data-transfer": "^1.0"
|
||||||
|
}
|
||||||
|
}
|
27
stack.yml
Normal file
27
stack.yml
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
mediawiki:
|
||||||
|
build: .
|
||||||
|
depends_on:
|
||||||
|
- database
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 8080:80
|
||||||
|
volumes:
|
||||||
|
- ./images:/var/www/html/images
|
||||||
|
- ./LocalSettings.php:/var/www/html/LocalSettings.php:ro
|
||||||
|
- ./secrets.php:/var/www/html/secrets.php:ro
|
||||||
|
database:
|
||||||
|
image: mariadb
|
||||||
|
restart: always
|
||||||
|
env_file: .env
|
||||||
|
environment:
|
||||||
|
MYSQL_DATABASE: mediawiki
|
||||||
|
#MYSQL_USER and MYSQL_PASSWORD in .env
|
||||||
|
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
|
||||||
|
parsoid:
|
||||||
|
image: thenets/parsoid
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
PARSOID_DOMAIN_claremontmakerspace: http://mediawiki/api.php
|
||||||
|
PARSOID_STRICT_SSL: 'false'
|
Loading…
Reference in New Issue
Block a user