Giter Club home page Giter Club logo

docker-mediawiki-stack's Introduction

Containerized Mediawiki

Runs on Linux only. (kernel version 3.10+) - Only tested on Ubuntu 16.04

Installation

Run:

make init

Set variables in .env if you want to customize your install. Then run:

make config
make up

Usage

To restart the container, run:

make reup

To stop the container:

make down

To destroy the container:

make destroy

Freshly re-engineered!

I just rebuilt everything to be a little less static. The upside is it's easier to pick your version and I have a lot less to maintain, the down side is that it's a little less "wow" factor and probably more prone to code rot. Still better than just time/feature rot I suppose.

Whats Changed?

  • PHP and Parsoid are now runtime builds
  • These builds are now located in this repo at docker-mediawiki-build
  • Wiki initialization can be programmatic via environment variables

The PHP image is based on laradock's php (Like, pretty aggressively. I added a few things, but I need to go trim the fat). The build file is for PHP 7.2. This shouldn't be a problem for mediawiki core, I think they backported 7.2 support to the 27 branch but don't quote me on that. If you run into issues open a bug and I can fix it a lot quicker now that I adopted (poached?) laradocks build structure. Or feel free to go grab a build file right from laradock and submit a pull after the needed adjustments.

Auto install and setting your version

In the .env file, there is a series of variables that are pretty self explanatory. AUTOINSTALL can be set to anything other than "false" and it will do the auto install. You could set it to "banana", and it would work. In fact, I hope you do. If you have not yet built your PHP image, it will build it at that time.

Gotchas and stuff to be aware of

First, if you do a manual install just remember the host for mysql is the service name in compose, so "mysql" is the host when prompted. Also, you may want to change the password in the compose file.

The old version of this repo was nice because everything was pre built and you knew it would work. It's worked for the last year without me touching it. This is a bit more of a who knows? Did parsoid get updated, did the "localsettings" variable get changed? Does version X of VE or Mediawiki play nice with PHP version Y? This is always going to grab updated code though, and it's all prepackaged by mediawiki. It's easier to maintain and update and with any luck people will join in and we can build a nice little project around this.

At the time of this writing, I just finished it and there was pretty much just a smoke test. I spun it up with and without auto install and made an edit. I fixed in the old wiki an issue with too many people using visual editor. I think if I recall it was tying up PHP connections or something. I have yet to look fully into the laradock (what this is now based off of) configurations.

Contributions

It's all right here in this repo now. Easy to access, easy to maintain. The only file modifications I make are now handled by runfirst.bash, and a little HEREDOC. The PHP build file is just a laradock file with git, pygments, and composer installed. If you have better bash-isms or cleaner structuring (which shouldn't be to hard given the current state :P) fork, adjust as desired, submit a pull.

docker-mediawiki-stack's People

Contributors

ericswpark avatar mcharron avatar rlewkowicz avatar rlewkowicz-test avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.