{"id":19915725,"url":"https://github.com/starcitizenwiki/wikidocker","last_synced_at":"2025-05-03T05:32:34.376Z","repository":{"id":54101307,"uuid":"219821647","full_name":"StarCitizenWiki/WikiDocker","owner":"StarCitizenWiki","description":"The docker stack powering the German Star Citizen Wiki","archived":false,"fork":false,"pushed_at":"2024-09-15T11:59:17.000Z","size":728,"stargazers_count":5,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2024-09-16T12:32:16.308Z","etag":null,"topics":["docker","mediawiki","star-citizen","wiki"],"latest_commit_sha":null,"homepage":"https://star-citizen.wiki","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StarCitizenWiki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-05T18:18:12.000Z","updated_at":"2024-09-15T11:59:20.000Z","dependencies_parsed_at":"2023-12-21T21:32:13.564Z","dependency_job_id":"7c1f588e-4d43-4b0c-89b0-4849626ff772","html_url":"https://github.com/StarCitizenWiki/WikiDocker","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StarCitizenWiki%2FWikiDocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StarCitizenWiki%2FWikiDocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StarCitizenWiki%2FWikiDocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StarCitizenWiki%2FWikiDocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StarCitizenWiki","download_url":"https://codeload.github.com/StarCitizenWiki/WikiDocker/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224354818,"owners_count":17297409,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","mediawiki","star-citizen","wiki"],"created_at":"2024-11-12T21:42:00.528Z","updated_at":"2024-11-12T21:42:01.159Z","avatar_url":"https://github.com/StarCitizenWiki.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://hub.docker.com/r/scwiki/wiki\" alt=\"Docker Hub\"\u003e\n        \u003cimg src=\"https://img.shields.io/docker/pulls/scwiki/wiki\" /\u003e\n    \u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/docker/image-size/scwiki/wiki\" /\u003e\n\u003c/p\u003e\n\n# Star Citizen Wiki Docker\nThe Docker configuration powering https://star-citizen.wiki.\n\n`docker pull scwiki/wiki:dev`\n\n## Installation\nCreate the user and allow it to use docker:\n```shell\nadduser scwiki\n\nusermod -aG docker scwiki\n```\n\nAnd add the resulting UID and GUID to `.env`\n\nCreate the network:\n```shell script\ndocker network create --subnet=172.16.0.0/29 star-citizen.wiki\n```\n\nReplace `$wgSecretKey` in `LocalSettings.php`.\n```shell script\n# Generates a 64 character long hex string \necho \"$(openssl rand -hex 32)\"\n# Or\nphp -r \"echo(bin2hex(openssl_random_pseudo_bytes(32)));\"\n```\n\nReplace `$wgUpgradeKey` in `LocalSettings.php`.\n```shell script\n# Generates a 8 character long hex string \necho \"$(openssl rand -hex 8)\"\n# Or\nphp -r \"echo(bin2hex(openssl_random_pseudo_bytes(8)))\";\n```\n\nCopy `.env-example` to `.env` and populate the available fields.\n\nUpdate `$wgServer` and `$wgCanonicalServer` in `LocalSettings.php`\n\n_Note:_  \nElasticsearch requires `vm.max_map_count` to be set to at least `262144`.  \nRun: `sysctl -w vm.max_map_count=262144`\n\nCreate required folders:\n```shell script\n$ mkdir -p /etc/star-citizen.wiki\n$ mkdir -p /var/lib/star-citizen.wiki/{esdata,redis,db,cache}\n$ mkdir -p /srv/star-citizen.wiki/{images,sitemap}\n```\n\nCopy files to destination:\n```shell script\n$ cp ./LocalSettings.php ./.smw.json /etc/star-citizen.wiki\n$ cp -R ./config /etc/star-citizen.wiki\n$ cp -R ./container-config /etc/star-citizen.wiki\n$ cp -R ./includes /etc/star-citizen.wiki\n\n$ chown -R scwiki: /etc/star-citizen.wiki /var/lib/star-citizen.wiki /srv/star-citizen.wiki/sitemap\n$ chown -R scwiki:www-data /srv/star-citizen.wiki/sitemap /srv/star-citizen.wiki/images /var/lib/star-citizen.wiki/cache /etc/star-citizen.wiki/.smw.json\n$ chmod -R g+w /var/lib/star-citizen.wiki /srv/star-citizen.wiki/sitemap /var/lib/star-citizen.wiki/cache /etc/star-citizen.wiki/.smw.json\n$ chmod g+rwx /var/lib/star-citizen.wiki/esdata\n$ chgrp 0 /var/lib/star-citizen.wiki/esdata\n$ chmod g+rwx /srv/star-citizen.wiki/sitemap /srv/star-citizen.wiki/images\n```\n\nStart the database and wiki container:\n```shell script\nsu scwiki\ndocker-compose up -d star-citizen.wiki-varnish\n\ndocker exec -it star-citizen.wiki-live /bin/bash\n\n# This creates the database and installs the wiki\n# You should use the user / db / password configured in the .env file\n# See https://www.mediawiki.org/wiki/Manual:Install.php for more information\nphp maintenance/install.php \\\n  --confpath /dev/null \\\n  --dbserver db \\\n  --dbuser scw \\\n  --dbpass scw \\\n  --dbname scw \\\n  --pass ADMIN_PASSWORD \\\n  WIKI_NAME \\\n  ADMIN_NAME\n``` \n\nStop all container:\n```shell script\ndocker-compose down\n```\n\nUncomment the `LocalSettings.php` mount and start the stack.\n```shell\ndocker-compose up -d\n```\n\nConnect to the container and run the update script:\n```shell script\ndocker exec -it star-citizen.wiki-live /bin/bash\n\nphp maintenance/update.php --quick\n```\n\n## Configuration\n\n### Traefik\nIf you are running traefik remove the `ports` portion from the varnish container and uncomment the `expose` part.\n\nFor local traefik instances without SSL you need to remove all labels containing `tls` and change out the entry point from `https` to `http` (or the name you set in your traefik config).  \n\nAlso when not using the Star Citizen Wiki Traefik config you need to remove the labels containing `middlewares`.\n\n## Stack\nThe Wiki stack consists of the following services:\n* star-citizen.wiki\n  * MediaWiki 1.39.x\n  * Including\n    * ffmpeg\n    * ghostscript / poppler-utils\n    * luasandbox\n    * webp\n    * zip / unzip\n  * PHP Extensions\n    * CURL\n    * DOM\n    * IMAGICK\n    * JSON\n    * REDIS\n    * SOCKETS\n    * ZIP\n  * Extensions and Skins bundled in the container\n    * [mediawiki/admin-links](https://www.mediawiki.org/wiki/Extension:AdminLinks)\n    * [mediawiki/advanced-search](https://www.mediawiki.org/wiki/Extension:AdvancedSearch)\n    * [mediawiki/apiunto](https://github.com/StarCitizenWiki/Apiunto)\n    * [mediawiki/capiunto](https://www.mediawiki.org/wiki/Extension:Capiunto)\n    * [mediawiki/cirrus-search](https://www.mediawiki.org/wiki/Extension:CirrusSearch)\n    * [mediawiki/citizen-skin](https://github.com/StarCitizenTools/mediawiki-skins-Citizen)\n    * [mediawiki/cldr](https://www.mediawiki.org/wiki/Extension:CLDR)\n    * [mediawiki/commons-metadata](https://www.mediawiki.org/wiki/Extension:CommonsMetadata)\n    * [mediawiki/cookie-warning](https://www.mediawiki.org/wiki/Extension:CookieWarning)\n    * [mediawiki/disambiguator](https://www.mediawiki.org/wiki/Extension:Disambiguator)\n    * [mediawiki/discord-notifications](https://github.com/kulttuuri/DiscordNotifications)\n    * [mediawiki/discussion-tools](https://www.mediawiki.org/wiki/Extension:DiscussionTools)\n    * [mediawiki/echo](https://www.mediawiki.org/wiki/Extension:Echo)\n    * [mediawiki/elastica](https://www.mediawiki.org/wiki/Extension:Elastica)\n    * [mediawiki/embed-video (Fork)](https://github.com/StarCitizenWiki/mediawiki-extensions-EmbedVideo)\n    * [mediawiki/json-config](https://www.mediawiki.org/wiki/Extension:JsonConfig)\n    * [mediawiki/labeled-section-transclusion](https://www.mediawiki.org/wiki/Extension:Labeled_Section_Transclusion)\n    * [mediawiki/linter](https://www.mediawiki.org/wiki/Extension:Linter)\n    * [mediawiki/media-search](https://www.mediawiki.org/wiki/Extension:MediaSearch)\n    * [mediawiki/multi-purge](https://www.mediawiki.org/wiki/Extension:MultiPurge)\n    * [mediawiki/oauth](https://www.mediawiki.org/wiki/Extension:OAuth)\n    * [mediawiki/page-forms](https://www.mediawiki.org/wiki/Extension:Page_Forms)\n    * [mediawiki/plausible](https://www.mediawiki.org/wiki/Extension:Plausible)\n    * [mediawiki/popups](https://www.mediawiki.org/wiki/Extension:Popups)\n    * [mediawiki/related-articles](https://www.mediawiki.org/wiki/Extension:RelatedArticles)\n    * [mediawiki/sandbox-link](https://www.mediawiki.org/wiki/Extension:SandboxLink)\n    * [mediawiki/semantic-media-wiki](https://www.mediawiki.org/wiki/Extension:Semantic_MediaWiki)\n    * [mediawiki/semantic-result-formats](https://www.mediawiki.org/wiki/Extension:Semantic_Result_Formats)\n    * [mediawiki/semantic-scribunto](https://www.mediawiki.org/wiki/Extension:Semantic_Scribunto)\n    * [mediawiki/semantic-drolldown](https://www.mediawiki.org/wiki/Extension:Semantic_DrillDown)\n    * [mediawiki/short-description](https://www.mediawiki.org/wiki/Extension:ShortDescription)\n    * [mediawiki/symfony-mailer](https://github.com/StarCitizenWiki/mediawiki-extensions-SymfonyMailer)\n    * [mediawiki/tabber-neue](https://www.mediawiki.org/wiki/Extension:TabberNeue)\n    * [mediawiki/template-styles](https://www.mediawiki.org/wiki/Extension:TemplateStyles)\n    * [mediawiki/template-styles-extender](https://www.mediawiki.org/wiki/Extension:TemplateStylesExtender)\n    * [mediawiki/thanks](https://www.mediawiki.org/wiki/Extension:Thanks)\n    * [mediawiki/upload-wizard](https://www.mediawiki.org/wiki/Extension:UploadWizard)\n    * [mediawiki/universal-language-selector](https://www.mediawiki.org/wiki/Extension:UniversalLanguageSelector)\n    * [octfx/wikiseo](https://www.mediawiki.org/wiki/Extension:WikiSEO)\n* db\n  * MariaDB Server\n* elasticsearch\n  * ElasticSearch 7.10.2 (\"Official\" Version)\n* elasticsearch-smw\n  * ElasticSearch 7.10.2 (\"Official\" Version)\n* ofelia\n  * Cron Container\n  * [Semantic MediaWiki Jobs](container-config/ofelia.ini)\n  * [Queue](queue.sh)\n    * Runs every 10 seconds\n  * Sitemap generation\n    * Runs daily\n* redis (keydb)\n  * JobQueue\n  * Caching\n* Varnish\n  * Page Cache\n\n## Cloudflare Settings\n### Page Rules\nThe following page rules are used for CloudFlare\n\n* `star-citizen.wiki/thumb.php?*`\n  * Cache-Level: Cache Everything\n  * Browser-Cache-TTL: 1 Year\n  * Edge-Cache-TTL: 1 Month\n  * Always Online: Yes\n* `star-citizen.wiki/load.php?*`\n  * Cache-Level: Cache Everything\n  * Browser-Cache-TTL: 1 Year\n  * Edge-Cache-TTL: 1 Month\n  * Always Online: Yes\n\n### Firewall Rules\nVisit Firewall -\u003e Firewall Rules and add the following code to a new rule.\n\nThis will disable bots trying to edit pages, visit special pages, or the login view.\n```\n(http.request.uri.query contains \"action=edit\" and cf.client.bot) or\n(http.request.uri.query contains \"action=visualeditor\" and cf.client.bot) or\n(http.request.uri.query contains \"Anmelden\" and cf.client.bot) or\n(http.request.uri.path contains \"Spezial\" and cf.client.bot) or\n(http.request.uri.query contains \"Spezial\" and cf.client.bot) or\n(http.request.uri.query contains \"UserLogin\" and cf.client.bot) or\n(http.request.uri.path contains \"Special\" and cf.client.bot) or\n(http.request.uri.query contains \"Special\" and cf.client.bot)\n```\n\n## Upgrade notes\nAfter a major update OAuth Consumers seem to get invalidated.  \nFor each registered consumer a new one needs to get created.\n \n## Further notes\nThe MediaWiki Container service name _cannot_ have the same name as the domain the wiki is running on.  \nIf both names are equal, and the wiki is running on https, VisualEditor will fail to connect.\n\n## Upload Wizard Messages\nTo use the custom licenses in UW you need to create the following system [messages](messages/uploadwizard-custom-messages.txt)\n\n## MariaDB Healthchecks\nMariaDB moved to a new healthcheck syntax. For databases that already exist, a local user must be added:\n```sql\nCREATE USER 'mysql'@'127.0.0.1';\nGRANT USAGE ON *.* to 'mysql'@'127.0.0.1';\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstarcitizenwiki%2Fwikidocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstarcitizenwiki%2Fwikidocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstarcitizenwiki%2Fwikidocker/lists"}