Changes

Jump to navigation Jump to search
309 bytes added ,  11:04, 27 April 2023
add links
[https://canasta.wiki Canasta ] Quick links
===Communication===
===Repos===
There are four main '''code ''' repositories for the Canasta Project as a whole.
<ol>
<li>'''[https://github.com/CanastaWiki/CanastaCanasta]''' - this is the [https://github.com/CanastaWiki/Canasta/blob/master/Dockerfile Dockerfile] for MediaWiki alone. Based on Debian, it sets up the basic Linux environment by adding things like Apache, Composer, [https://marlam.de/msmtp/ Msmtp] and tools (git, vim, mc); downloads the proper version of MediaWiki, extension and skins based on the Release plus a specific SHA for each package (reproducible builds - no accidental drift). Installs everything and [https://github.com/CanastaWiki/Canasta/tree/master/_sources/configs configures] everything like Apache, PHP, Varnish cache, and copies composer.canasta.json as composer.local.json. This repo also patches core so that the MediaWiki Installer installs the Bootstrap skin if the user has Chameleon selected as a skin (default). Bootstrap is a requirement of Chameleon, and the user would receive an error the dependency were not met. The Dockerfile [https://github.com/CanastaWiki/Canasta/blob/master/Dockerfile#L549-L562 alters all the Composer autoload files] to use 'canasta-extensions' rather than 'extensions'. That is because the included extensions and skins get included with the image, while user-added extensions and skins get volumed in to the running container in the standard 'extensions' and 'skins' directories. The standard MediaWiki 'images' and 'cache' directories are moved from the image to the volume mount $MW_ORIGIN_FILES. All [https://github.com/CanastaWiki/Canasta/blob/master/Dockerfile#L575 git artifacts are removed from the image]. It creates a sort of manifest list of installed extensions and skins, with commented lines that can later be enabled simply by removing the comment. (Vector gets enabled by default). In the final build phase, the _sources/configs get copied into /etc/ or $WWW_ROOT to setup email (msmtp), apache, php; scripts got into / or ./maintenance; .htaccess, favicon, robots.txt into $WWW_ROOT. Canasta places 3 settings files into $MW_HOME:
<ol>
<li>CanastaUtils.php - where deprecated cfLoadExtension() and cfLoadSkin() are defined/intercepted; and a handy sitenotice is displayed, only for Special Pages where email is used, and only if email is not setup.
<li>'''[https://github.com/CanastaWiki/Canasta-DockerCompose Canasta-DockerCompose]''' - uses the image created from #1 as the basis for a full working setup, with services for web, db, elasticsearch, caddy, and varnish. Although Caddy is a web server, it is used as a reverse proxy, and is incredibly lightweight. The web service (MediaWiki) relies on Apache.<li>'''[https://github.com/CanastaWiki/Canasta-CLICanasta-CLI]''' - Canasta has a CLI, written in Go, that allows you to manipulate and administer all your Canasta installations.<li>'''[https://github.com/CanastaWiki/Canasta-Documentation Canasta-Documentation]''' - because good code deserves good documentation. And good documentation inspires users, and attracts developers.'''Read the fine manual''' at the main website: https://canasta.wiki/documentation/
</ol>

Navigation menu