Coder Social home page Coder Social logo

pastakhov / compose-mediawiki-ubuntu Goto Github PK

View Code? Open in Web Editor NEW
44.0 6.0 25.0 91 KB

Containerized Mediawiki install based on Ubuntu

License: MIT License

Shell 42.10% PHP 57.90%
mediawiki mediawiki-containers docker-compose visualeditor varnish

compose-mediawiki-ubuntu's People

Contributors

pastakhov avatar silex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

compose-mediawiki-ubuntu's Issues

Several bugs I have found deploying this

There is a major bug that happens every time that causes the "web" container to fail with an "exit code 1" error. I have narrowed down the issue in the "run-apache.sh" file. the "run maintenance scripts" in the script section causes the exit code to occur. I don't know why it happens, and the only way I found to by-pass this is to set "auto-update" to "false" in the if statement. This skips the maintenance scripts section, and then the rest works fine.

the cirrus search does not work. It gives a general error stating that the search failed. This is probably related to the fact I had to skip the maintenance script section to get this container to work, as I see there is some maintenance script section related to cirrus search. I went into "DockerSettings.php" and commented out the cirrus search section. The wiki works fine with the default search.

Another major bug is that the "echo" script is broken and causes sql db errors on the wiki. If you go to the echo extension installation instructions, https://www.mediawiki.org/wiki/Extension:Echo, it says that in addition to adding the extension, you must also import "echo.sql" into your database. I used the command "mysql -u root -p my_wiki < echo.sql" to import into my local wiki db from inside the database container. That fixed the error.

I would also like if there was easier method of having the ability to import existing wiki database into this set-up. I did it manually, but mounting storage and importing a sql backup of my wiki, and it worked. I had to tweak the "docker-compose.yml" file to add my local storage volumes to access files on my local server to move files around. Would be useful to include instructions for users to mount their own storage volumes to certain containers so they can copy files in/out of containers easier.

Last, if you could please add math and mathoid using the restbase framework? I have tried to add these myself and it is very difficult, since your containers are heavily scripted and rely so much on different environment variables. You already have restbase and parsoid, so adding mathoid shouldn't be too hard.

Thank you for your hard work. After getting around the bugs (which may be my fault, not sure) and modifying tweaking the files, I got everything working, and it's a great set-up. More than what I need for my own private wiki, but still extremely fast and I love that you got visual editor working with restbase.

Setting up on a Private Wiki

I changed my local settings to make my wiki private and I can't get restbase and parsoid to work. When I did this before I was able to install the network-auth plugin and get it going, but that is not working this time. Any ideas?

How to add an other proxy before

Hi,
Nice work. I'm able to make it working alone.
But in my case, In my docker-compose file with other services, I want mediawiki available behind an nginx proxy at the address : http://docker/wiki

For nginx (listening on port 80), I my default.conf, I have :

location /wiki {
            proxy_pass http://proxy:8090;
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header HOST $host;
            proxy_set_header X-Forwarded-For $remote_addr;

and in the docker compose, i set :

proxy:
        image: pastakhov/varnish-mediawiki:1.0
        depends_on:
            - web
            - restbase
        ports:
            - "8090:80"
        networks:
          - prodnetwork    
        environment:
            - PROXY_BACKEND_web=web:80
            - PROXY_BACKEND_restbase=restbase:7231
            - PROXY_RESTBASE_BACKEND=restbase
            - PROXY_RESTBASE_URL=^/api/rest_v1
            - PROXY_RESTBASE_SUB=/{backend_hint}/v1

    web:
        build: 
            context: ./web
            dockerfile: Dockerfile
        depends_on:
            - db
            - elasticsearch
            - memcached
            - parsoid
            - restbase
        networks:
          - prodnetwork    
        environment:
            - MW_SITE_SERVER=//docker/wiki
            - MW_SITE_NAME=MediaWiki

docker is the name of my host.

In nginx log, I have :

 2017-11-01T07:24:05.623517833Z 2017/11/01 07:24:05 [error] 10#10: *25 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.60.5, server: docker, request: "GET /wiki/Accueil HTTP/1.1", upstream: "http://172.20.0.21:8090/wiki/Accueil", host: "docker"
2017-11-01T07:24:05.623772705Z 192.168.60.5 - - [01/Nov/2017:07:24:05 +0000] "GET /wiki/Accueil HTTP/1.1" 502 537 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"

Thanks for your help

HTTPS support

Hello,

How hard is it to serve the web interface over HTTPs?

Not needed right now but curious.

Error 503 Backend fetch failed

I don't understand why if I want to use the version 1.29, I got every time the error (except one time) "Error 503 Backend fetch failed".

I changed the version in DockerFile:
ENV MW_VERSION=REL1_29 \

Same behavior with a fresh install, I don't understand why.

web container does not build

Hi

the web container does not seem to build properly

here is a partial trace

[...]
Processing triggers for libapache2-mod-php7.0 (7.0.32-0ubuntu0.16.04.1) ...

  • pear install mail net_smtp
    No releases available for package "pear.php.net/mail"
    No releases available for package "pear.php.net/net_smtp"
    install failed
    ERROR: Service 'web' failed to build: The command '/bin/sh -c set -x; apt-get update && apt-get install -y --no-install-recommends ca-certificates apache2 libapache2-mod-php php php-mysql php-cli php-gd php-curl php-mbstring php-xml php-apcu php-intl php-zip php-memcached php-pear python-pygments imagemagick netcat git composer unzip mysql-client wget && pear install mail net_smtp && rm -rf /var/lib/apt/lists/* && rm -rf /var/cache/apt/archives/* && a2enmod rewrite && rm /var/www/html/index.html && rm -rf /etc/apache2/sites-enabled/*' returned a non-zero code: 1

Waiting for elasticsearch to start...

Hi! Trying to run docker-compose up, but it seems to stop at this step:

web_1 | Waiting for elasticsearch to start...

Just repeating the same output over and over again, even though the elasticsearch container seems to be running already. Any ideas?

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.