A moin/.gitignore => moin/.gitignore +1 -0
A moin/Dockerfile => moin/Dockerfile +22 -0
@@ 0,0 1,22 @@
+FROM registry.intra.dominic-ricottone.com/uwsgi:latest
+
+USER root
+
+COPY dist/moin-1.9.11 /var/moin
+RUN cd /var/moin && pypy setup.py install
+
+RUN cp -r /usr/lib/pypy/share/moin/server /var/www/
+RUN cp -r /usr/lib/pypy/share/moin/underlay /var/www/
+#Eventually... COPY rhtml/* /var/www/data/plugin/parser/
+COPY moin.wsgi /var/www/
+COPY uwsgi.ini /var/www/
+COPY wikiconfig.py /var/www/
+
+RUN chown 100:101 /var/www/uwsgi.ini
+RUN chown 100:101 /var/www/moin.wsgi
+RUN chown 100:101 /var/www/wikiconfig.py
+RUN chown -R 100:101 /var/www/server
+RUN chown -R 100:101 /var/www/underlay
+
+USER uwsgi
+
A moin/Makefile => moin/Makefile +13 -0
@@ 0,0 1,13 @@
+CONMAN=sudo docker
+
+REGISTRY=registry.intra.dominic-ricottone.com
+IMAGE=moin
+TAG=latest
+
+image:
+ $(CONMAN) buildx build --push --progress=plain \
+ --platform linux/arm64,linux/amd64 \
+ --tag $(REGISTRY)/$(IMAGE):$(TAG) \
+ .
+
+.PHONY: image
A moin/moin.wsgi => moin/moin.wsgi +49 -0
@@ 0,0 1,49 @@
+# -*- coding: iso-8859-1 -*-
+"""
+ MoinMoin - mod_wsgi driver script
+
+ To use this, add those statements to your Apache's VirtualHost definition:
+
+ # you will invoke your moin wiki at the root url, like http://servername/FrontPage:
+ WSGIScriptAlias / /some/path/moin.wsgi
+
+ # create some wsgi daemons - use someuser.somegroup same as your data_dir:
+ WSGIDaemonProcess daemonname user=someuser group=somegroup processes=5 threads=10 maximum-requests=1000 umask=0007
+
+ # use the daemons we defined above to process requests!
+ WSGIProcessGroup daemonname
+
+ @copyright: 2008 by MoinMoin:ThomasWaldmann
+ @license: GNU GPL, see COPYING for details.
+"""
+
+import sys
+
+# a) Configuration of Python's code search path
+# If you already have set up the PYTHONPATH environment variable for the
+# stuff you see below, you don't need to do a1) and a2).
+
+# a1) Path of the directory where the MoinMoin code package is located.
+# Needed if you installed with --prefix=PREFIX or you didn't use setup.py.
+#sys.path.insert(0, 'PREFIX/lib/python2.7/site-packages')
+
+# a2) Path of the directory where wikiconfig.py / farmconfig.py is located.
+# See wiki/config/... for some sample config files.
+sys.path.insert(0, '/var/www')
+#sys.path.insert(0, '/path/to/farmconfigdir')
+
+# b) Configuration of moin's logging
+# If you have set up MOINLOGGINGCONF environment variable, you don't need this!
+# You also don't need this if you are happy with the builtin defaults.
+# See wiki/config/logging/... for some sample config files.
+#from MoinMoin import log
+#log.load_config('/path/to/logging_configuration_file')
+
+from MoinMoin.web.serving import make_application
+
+# Creating the WSGI application
+# use shared=True to have moin serve the builtin static docs
+# use shared=False to not have moin serve static docs
+# use shared='/my/path/to/htdocs' to serve static docs from that path
+application = make_application(shared=True)
+
A moin/rhtml/rhtml.py => moin/rhtml/rhtml.py +24 -0
@@ 0,0 1,24 @@
+# -*- coding: iso-8859-1 -*-
+"""
+ MoinMoin - Raw HTML Parser
+
+ @copyright: 2010 by Chris Martino <chris@console.org>
+ @license: GNU GPL.
+"""
+
+from MoinMoin.parser._ParserBase import ParserBase
+
+Dependencies = ['user']
+
+class Parser(ParserBase):
+
+ parsername = "RawHTML"
+ Dependencies = []
+
+ def __init__(self, raw, request, **kw):
+ self.raw = raw
+ self.request = request
+
+ def format(self, formatter):
+ self.request.write(formatter.rawHTML(self.raw))
+
A moin/uwsgi.ini => moin/uwsgi.ini +15 -0
@@ 0,0 1,15 @@
+[uwsgi]
+uid = uwsgi
+gid = uwsgi
+socket = :9000
+
+chdir = /var/www
+pypy-wsgi-file = /var/www/moin.wsgi
+need-app = false
+
+master
+workers = 3
+max-requests = 200
+harakiri = 60
+die-on-term
+
A moin/wikiconfig.py => moin/wikiconfig.py +203 -0
@@ 0,0 1,203 @@
+# -*- coding: iso-8859-1 -*-
+# IMPORTANT! This encoding (charset) setting MUST be correct! If you live in a
+# western country and you don't know that you use utf-8, you probably want to
+# use iso-8859-1 (or some other iso charset). If you use utf-8 (a Unicode
+# encoding) you MUST use: coding: utf-8
+# That setting must match the encoding your editor uses when you modify the
+# settings below. If it does not, special non-ASCII chars will be wrong.
+
+"""
+ MoinMoin - Configuration for a single wiki
+
+ If you run a single wiki only, you can omit the farmconfig.py config
+ file and just use wikiconfig.py - it will be used for every request
+ we get in that case.
+
+ Note that there are more config options than you'll find in
+ the version of this file that is installed by default; see
+ the module MoinMoin.config.multiconfig for a full list of names and their
+ default values.
+
+ Also, the URL http://moinmo.in/HelpOnConfiguration has
+ a list of config options.
+
+ ** Please do not use this file for a wiki farm. Use the sample file
+ from the wikifarm directory instead! **
+"""
+
+from MoinMoin.config import multiconfig, url_prefix_static
+
+class Config(multiconfig.DefaultConfig):
+
+ # Critical setup ---------------------------------------------------
+
+ # Directory containing THIS wikiconfig:
+ wikiconfig_dir = '/var/www'
+
+ # We assume that this config file is located in the instance directory, like:
+ # instance_dir/
+ # wikiconfig.py
+ # data/
+ # underlay/
+ # If that's not true, feel free to just set instance_dir to the real path
+ # where data/ and underlay/ is located:
+ #instance_dir = '/where/ever/your/instance/is'
+ instance_dir = wikiconfig_dir
+
+ # Where your own wiki pages are (make regular backups of this directory):
+ #data_dir = os.path.join(instance_dir, 'data', '') # path with trailing /
+ data_dir = '/var/www/data/'
+
+ # Where system and help pages are (you may exclude this from backup):
+ #data_underlay_dir = os.path.join(instance_dir, 'underlay', '') # path with trailing /
+ data_underlay_dir = '/var/www/underlay/'
+
+ # The URL prefix we use to access the static stuff (img, css, js).
+ # Note: moin runs a static file server at url_prefix_static path (relative
+ # to the script url).
+ # If you run your wiki script at the root of your site (/), just do NOT
+ # use this setting and it will automatically work.
+ # If you run your wiki script at /mywiki, you need to use this:
+ #url_prefix_static = '/mywiki' + url_prefix_static
+
+
+ # Wiki identity ----------------------------------------------------
+
+ # Site name, used by default for wiki name-logo [Unicode]
+ sitename = u'Wikittone'
+
+ # Wiki logo. You can use an image, text or both. [Unicode]
+ # For no logo or text, use '' - the default is to show the sitename.
+ # See also url_prefix setting below!
+ logo_string = u'<img src="%s/common/moinmoin.png" alt="MoinMoin Logo">' % url_prefix_static
+
+ # name of entry page / front page [Unicode], choose one of those:
+
+ page_front_page = u"WikiTtone"
+
+ # a) if most wiki content is in a single language
+ #page_front_page = u"MyStartingPage"
+
+ # b) if wiki content is maintained in many languages
+ #page_front_page = u"FrontPage"
+
+ # The interwiki name used in interwiki links
+ #interwikiname = u'UntitledWiki'
+ # Show the interwiki name (and link it to page_front_page) in the Theme,
+ # nice for farm setups or when your logo does not show the wiki's name.
+ #show_interwiki = 1
+
+
+ # Security ----------------------------------------------------------
+
+ # This is checked by some rather critical and potentially harmful actions,
+ # like despam or PackageInstaller action:
+ superuser = [u"DominicRicottone", u"ChristianBrickhouse"]
+
+ # Some actions are by default only enabled for superusers and disabled
+ # for everybody else.
+ # 'newaccount' is one of these (used to let visitors create new accounts).
+ # You can create wiki users on the shell by using "moin account create".
+ # A superuser also can use "Settings" -> "Switch user" to create users.
+ # If you need the newaccount action for everybody (e.g. to create your
+ # very first [superuser] account), you can (temporarily) enable it:
+ #actions_superuser = multiconfig.DefaultConfig.actions_superuser[:]
+ #actions_superuser.remove('newaccount')
+
+ # Surge protection
+ # to disable...
+ surge_action_limits = None
+ # to enable...
+ # (count, dt) -> allow max. <count> <action> requests per <dt> secs
+ # surge_action_limits = {
+ # 'show': (20, 60),
+ # 'raw': (20, 40),
+ # 'AttachFile': (60, 60),
+ # 'diff': (30, 60),
+ # 'fullsearch': (5, 60),
+ # 'edit': (10, 120),
+ # 'rss_rc': (1, 60),
+ # 'default': (30, 60),
+ #}
+ #surge_lockout_time = 3600
+
+ # IMPORTANT: grant yourself admin rights! replace YourName with
+ # your user name. See HelpOnAccessControlLists for more help.
+ # All acl_rights_xxx options must use unicode [Unicode]
+ acl_rights_before = u"DominicRicottone:read,write,delete,revert,admin"
+
+ # This is the default ACL that applies to pages without an ACL.
+ # Adapt it to your needs, consider using an EditorGroup.
+ acl_rights_default = u"Trusted:read,write,delete,revert Known:read,write,delete,revert All:read"
+
+ # The default (ENABLED) password_checker will keep users from choosing too
+ # short or too easy passwords. If you don't like this and your site has
+ # rather low security requirements, feel free to DISABLE the checker by:
+ password_checker = None
+
+ # Link spam protection for public wikis (Uncomment to enable)
+ # Needs a reliable internet connection.
+ #from MoinMoin.security.antispam import SecurityPolicy
+
+
+ # Mail --------------------------------------------------------------
+
+ # Configure to enable subscribing to pages (disabled by default)
+ # or sending forgotten passwords.
+
+ # SMTP server, e.g. "mail.provider.com" (None to disable mail)
+ #mail_smarthost = ""
+
+ # The return address, e.g u"J�rgen Wiki <noreply@mywiki.org>" [Unicode]
+ #mail_from = u""
+
+ # "user pwd" if you need to use SMTP AUTH
+ #mail_login = ""
+
+
+ # User interface ----------------------------------------------------
+
+ # Add your wikis important pages at the end. It is not recommended to
+ # remove the default links. Leave room for user links - don't use
+ # more than 6 short items.
+ # You MUST use Unicode strings here, but you need not use localized
+ # page names for system and help pages, those will be used automatically
+ # according to the user selected language. [Unicode]
+ navi_bar = [
+ # If you want to show your page_front_page here:
+ #u'%(page_front_page)s',
+ u'RecentChanges',
+ u'FindPage',
+ u'HelpContents',
+ ]
+
+ # The default theme anonymous or new users get
+ theme_default = 'modernized'
+
+
+ # Language options --------------------------------------------------
+
+ # See http://moinmo.in/ConfigMarket for configuration in
+ # YOUR language that other people contributed.
+
+ # The main wiki language, set the direction of the wiki pages
+ language_default = 'en'
+
+ # the following regexes should match the complete name when used in free text
+ # the group 'all' shall match all, while the group 'key' shall match the key only
+ # e.g. CategoryFoo -> group 'all' == CategoryFoo, group 'key' == Foo
+ # moin's code will add ^ / $ at beginning / end when needed
+ # You must use Unicode strings here [Unicode]
+ page_category_regex = ur'(?P<all>Category(?P<key>(?!Template)\S+))'
+ page_dict_regex = ur'(?P<all>(?P<key>\S+)Dict)'
+ page_group_regex = ur'(?P<all>(?P<key>\S+)Group)'
+ page_template_regex = ur'(?P<all>(?P<key>\S+)Template)'
+
+ # Content options ---------------------------------------------------
+
+ # Show users hostnames in RecentChanges
+ show_hosts = 1
+
+ # Enable graphical charts, requires gdchart.
+ #chart_options = {'width': 600, 'height': 300}
+