diff --git a/content/tech-docs/Tech:Adding_a_new_extension.md b/content/tech-docs/Tech:Adding_a_new_extension.md index c1f0b08f3..8f7cfa2bb 100644 --- a/content/tech-docs/Tech:Adding_a_new_extension.md +++ b/content/tech-docs/Tech:Adding_a_new_extension.md @@ -12,6 +12,7 @@ All of this stuff needs to be done before the steps above: The above steps are for the `mediawiki-repos` repository. The following are for the `mw-config` repository. * ManageWikiExtensions.php gets a setting added as well. (Make sure to check if it requires another extension or if it should be restricted) * If the extension has database tables, make sure to add them to the ManageWikiExtensions.php config! +* If an extension has settings that are likely to be used or are required to be set, add it to ManageWikiSettings.php * It is not required, but preferable that you also load it on test151 in order to make sure that everything works as intended * Setup any other extension globals here. * Then run the following script on mwtask181 and/or test151: `mwdeploy --world --config --l10n --extension-list --servers=all` diff --git a/content/tech-docs/Tech:Communication.md b/content/tech-docs/Tech:Communication.md index 4cc7db664..53ba787cf 100644 --- a/content/tech-docs/Tech:Communication.md +++ b/content/tech-docs/Tech:Communication.md @@ -9,7 +9,7 @@ This page aims to document our communication channels, and outline a general str ## Communication channels * **[Discord](https://meta.miraheze.org/wiki/Discord)**. Over on Discord there's special channels for communicating important announcements. such as `#announcements`, which is also mirrored on other Discord servers. -* **[Hund](https://meta.miraheze.org/wiki/Tech:Hund)**. Your standard status page. Available at [status.miraheze.wiki](https://status.miraheze.wiki), and additionally has multiple types of subscriptions. +* **[Hund](https://meta.miraheze.org/wiki/Tech:Hund)**. Your standard status page. Available at [mirahezestatus.net](https://mirahezestatus.net), and additionally has multiple types of subscriptions. * **[Tech:Noticeboard](/tech-docs/technoticeboard)**. A page hosting on-wiki announcements by the [Technology team](/tech-docs/techvolunteers). * **Twitter, Mastodon and Facebook**. Social media. * **On-wiki sitenotices**. Sitenotices that are shown on either wikis meeting a specific condition ("targeted"), such as having an extension enabled, or shown everywhere ("global"). Managed at [mw-config/Sitenotice.php](https://github.com/miraheze/mw-config/blob/master/Sitenotice.php) on [GitHub](/tech-docs/techgithub). diff --git a/content/tech-docs/Tech:MediaWiki_appserver.md b/content/tech-docs/Tech:MediaWiki_appserver.md index e7f86f3d6..e7f8aa01b 100644 --- a/content/tech-docs/Tech:MediaWiki_appserver.md +++ b/content/tech-docs/Tech:MediaWiki_appserver.md @@ -2,7 +2,7 @@ title: Tech:MediaWiki appserver --- -**MediaWiki application servers** (MediaWiki appserver) is a name given to the stack of software which runs Miraheze wikis. It is made up of several components. +**MediaWiki application servers** (MediaWiki appserver) is a name given to the stack of software that runs Miraheze wikis. It is made up of several components. ## Maintenance scripts @@ -27,9 +27,9 @@ A full list of maintenance scripts can be found [here](https://meta.miraheze.org * If the imported username is different from the Miraheze username, specify `--to=miraheze_username` * If only `--to` is specified, all users with the import prefix would be assigned to the given user. * If neither `--to` nor `--from` is given, all users with the given prefix would be assigned to the same username on Miraheze, stripped of the prefix, if the username exists. - * You should always verify what will be run first, by using `--no-run`, and verifying the output first. + * You should always verify what will be run first by using `--no-run` and verifying the output first. -* **sql.php** – Self explanatory, to run SQL commands. +* **sql.php** – Self explanatory; to run SQL commands. * **shell.php** – Evaluation of MediaWiki objects and functions. @@ -51,7 +51,7 @@ Usage: ` sudo -u www-data /usr/local/bin/foreachwikiindblist /srv/mediawiki/cach ## Jobrunner -[mwtask181](/tech-docs/techmwtask181) is responsible for running jobs on MediaWiki. As mentioned above, maintenance scripts should be run on this server. +The mwtask servers are responsible for running jobs on MediaWiki. As mentioned above, maintenance scripts should be run on this server. * To see how many jobs are currently waiting to be run on a wiki, you can use the **showJobs.php** maintenance script (`sudo -u www-data php /srv/mediawiki//maintenance/showJobs.php --wiki=examplewiki` @@ -61,13 +61,13 @@ Usage: ` sudo -u www-data /usr/local/bin/foreachwikiindblist /srv/mediawiki/cach Jobrunner is a service, so if it is necessary, it may be restarted with `sudo service jobrunner restart` -Metrics regarding the jobqueue and types of jobs can be viewed [via Grafana](https://grafana.wikitide.net/d/3L3WYylMz/mediawiki-job-queue). +Metrics regarding the job queue and types of jobs can be viewed [via Grafana](https://grafana.wikitide.net/d/3L3WYylMz/mediawiki-job-queue). ## Nginx *See more about Nginx on the main documentation page: [Tech:Nginx](/tech-docs/technginx)* -NGINX is a high-performance web server which Miraheze uses for all of our services that use HTTP. +NGINX is a high-performance web server that Miraheze uses for all of our services that use HTTP. ## Firejail @@ -81,17 +81,65 @@ ManageWiki uses a caching backend for its settings, extensions, permissions, and ## Composer -Composer is a dependency manager for PHP libraries. MediaWiki itself as well as quite a few extensions make use of Composer. More information about Composer can be found on the [MediaWiki.org documentation page](https://meta.miraheze.org/wiki/mediawikiwiki:Composer). On Miraheze, the Composer dependency is managed with Puppet, and any extensions that use Composer must be added [to the Puppet file](https://github.com/miraheze/puppet/blob/master/modules/mediawiki/manifests/extensionsetup.pp) in order for it to be installed properly. +Composer is a dependency manager for PHP libraries. MediaWiki itself, as well as quite a few extensions, make use of Composer. More information about Composer can be found on the [MediaWiki.org documentation page](https://meta.miraheze.org/wiki/mediawikiwiki:Composer). On Miraheze, the Composer dependency is managed with [mediawiki-repos](https://github.com/miraheze/mediawiki-repos), and any extensions that use Composer must be added with `composer: true` there in order for it to be installed properly. Please see the README in mediawiki-repos for further instructions. ## Profiling -If you want to find out what parts of the code take such a long time to execute, you can [profile](https://www.mediawiki.org/wiki/Manual:Profiling) your web requests. This can be done by appending `?forceprofile=1` to the URL and setting the `X-Miraheze-Debug: test151.wikitide.net` header. + ***Note**: If you don't know the X-WikiTide-Debug access key, please ask another member of the [Technology team](/tech-docs/techvolunteers).* + +If you want to identify which parts of the code are taking a long time to execute, follow these steps: + +**Profile the Web Request** + + ***Note**: Currently, `?forceprofile=1` is only available on [test151](/tech-docs/techtest151), ironically due to its own performance.* + +Append `?forceprofile=1` to the URL of your MediaWiki page. This will trigger [profiling](https://www.mediawiki.org/wiki/Manual:Profiling) for that specific request. + +**Set the X-WikiTide-Debug Headers** + +Include the header `X-WikiTide-Debug: test151.wikitide.net`, replacing with the appropriate server. + +If you are not on an internal server (i.e., from one of our own IP ranges), you must provide an access key via the `X-WikiTide-Debug-Access-Key` header. Save the key in a text file (e.g., access_key.txt) and reference it in your shell command using cat. + +**Check Logs and Results** + +After running the profiling request, examine the profiling output for bottlenecks. This data will indicate which parts of the code consume the most time. + +--- + +**Examples ** + +**On an internal server (no access key required)** -Example: ``` -$ curl -H 'X-Miraheze-Debug: test151.wikitide.net' 'https://allthetropes.org/wiki/Main_Page?forceprofile=1' | grep '1 - main()' -A 450 | less +curl -H "X-WikiTide-Debug: test151.wikitide.net" \ + "https://example.com/wiki/Main_Page?forceprofile=1" | grep '1 - main()' -A 450 | less ``` +**On an external server (access key required)** + +``` +curl -H "X-WikiTide-Debug: test151.wikitide.net" \ + -H "X-WikiTide-Debug-Access-Key: $(cat access_key.txt)" \ + "https://example.com/wiki/Main_Page?forceprofile=1" | grep '1 - main()' -A 450 | less +``` + +--- + +*You can also use Chrome extensions for easier profiling and debugging:* + +**[MediaWikiDebugJS](https://github.com/miraheze/MediaWikiDebugJS) Extension** + +This extension helps you debug MediaWiki performance by showing response times and the backend MediaWiki or cache proxy servers to which your request connects. + +Install the extension, then simply navigate to a page to start analyzing the performance in your browser. + +**[WikiTideDebug](https://github.com/miraheze/WikiTideDebug) Extension** + +This extension allows you to send HTTP requests directly to specific MediaWiki servers and check for errors cached in systems like [Varnish](/tech-docs/techvarnish) or [Cloudflare](/tech-docs/techcloudflare). + +After installation, you can modify requests in the browser by specifying which backend server to hit (e.g., test151.wikitide.net) and inject the required `X-WikiTide-Debug` and `X-WikiTide-Debug-Access-Key` headers. + ## MediaWiki-related Miraheze Guides * [Add a new extension](/tech-docs/techadding_a_new_extension) @@ -100,7 +148,7 @@ $ curl -H 'X-Miraheze-Debug: test151.wikitide.net' 'https://allthetropes.org/wik * [Remove a MediaWiki Extension](/tech-docs/techremoving_an_extension) * [Update a MediaWiki Extension](https://meta.miraheze.org/wiki/Tech:Updating_an_extension) * [How-To upgrade MediaWiki](/tech-docs/techupgrading_mediawiki) -* [Deploy mediawiki script](https://meta.miraheze.org/wiki/Tech:Deploy-mediawiki) +* [Mwdeploy script](/tech-docs/techmwdeploy) ## Categories diff --git a/content/tech-docs/Tech:Organization-MediaWiki_Specialists.md b/content/tech-docs/Tech:Organization-MediaWiki_Specialists.md index 5f17e9ff8..c76b2332a 100644 --- a/content/tech-docs/Tech:Organization-MediaWiki_Specialists.md +++ b/content/tech-docs/Tech:Organization-MediaWiki_Specialists.md @@ -43,7 +43,7 @@ See [Tech:Adding a new extension](/tech-docs/techadding_a_new_extension). * Ensure the PHP syntax is correct, you want to avoid deploying files with syntax errors. * Although everyone makes mistakes sometimes, try to avoid them in the first place and be aware of how the changes you make can affect the entire site. * If a syntax error should occur, push a fixing-commit to the repo(s) and manually run [mwdeploy](/tech-docs/techmwdeploy) or [puppet](/tech-docs/techpuppet) (`sudo puppet agent -tv`) on mwtask181. - * The CIs will almost always cache the more simple syntax errors as well, so it is recommended to let those finish before pushing commits. + * The CIs will almost always catch the more simple syntax errors as well, so it is recommended to let those finish before pushing commits. * When a configuration variable is changed, you should be completely aware what it does, and how it could impact a wiki security-wise. * There is more stuff in LocalSettings.php than just configuration variables, like [this](https://github.com/miraheze/mw-config/blob/d9b720ba7a19fd77d7dc7c08a9e3f640cb6c9b0f/LocalSettings.php#L2905-L3028). You are allowed to edit such stuff, but if you are not familiar with its functionality, it's not recommended to touch it (or to merge pull requests that make changes to this area). See [#Deployment](#deployment) for the rest. @@ -51,7 +51,7 @@ See [#Deployment](#deployment) for the rest. ## Deployment * When deploying a configuration change or extension, you are **required** to closely watch the change going live. -* After committing a change to the mediawiki or mw-config repo (and being sure it should work), run `mwdeploy --config --pull=config --servers=all --versions=all` or `sudo puppet agent -tv` on mwtask181. It can take up to 30 minutes before the change is actually deployed automatically. +* After committing a change to the mediawiki or mw-config repo (and being sure it should work), run `mwdeploy --config --pull=config --servers=all` or `sudo puppet agent -tv` on mwtask181. It can take up to 30 minutes before the change is actually deployed automatically. * Watch the error logs: [#Monitoring errors](#monitoring-errors). ## Monitoring errors diff --git a/content/tech-docs/Tech:Server_admin_log.md b/content/tech-docs/Tech:Server_admin_log.md index a1f06218d..d848a86b8 100644 --- a/content/tech-docs/Tech:Server_admin_log.md +++ b/content/tech-docs/Tech:Server_admin_log.md @@ -2,6 +2,69 @@ title: Tech:Server admin log --- +## 2024-09-19 + +* 19:25 MirahezeLSBot: [reception@mwtask181] finished deploy of {'files': '../mediawiki/1.42/extensions/SemanticMediaWiki/.smw.json'} to all - SUCCESS in 28s +* 19:25 MirahezeLSBot: [reception@mwtask181] starting deploy of {'files': '../mediawiki/1.42/extensions/SemanticMediaWiki/.smw.json'} to all +* 19:24 MirahezeLSBot: [reception@mwtask181] sudo -u www-data php /srv/mediawiki/1.42/maintenance/run.php /srv/mediawiki/1.42/extensions/SemanticMediaWiki/maintenance/setupStore.php --wiki=cruuwiki (END - exit=0) +* 19:24 MirahezeLSBot: [reception@mwtask181] sudo -u www-data php /srv/mediawiki/1.42/maintenance/run.php /srv/mediawiki/1.42/extensions/SemanticMediaWiki/maintenance/setupStore.php --wiki=cruuwiki (END - exit=0) +* 12:38 MirahezeLSBot: [@mwtask171] finished deploy of {'folders': '1.42/extensions/MirahezeMagic'} to all - SUCCESS in 21s +* 12:37 MirahezeLSBot: [@mwtask171] starting deploy of {'folders': '1.42/extensions/MirahezeMagic'} to all +* 12:33 MirahezeLSBot: [@mwtask181] finished deploy of {'folders': '1.42/extensions/MirahezeMagic'} to all - SUCCESS in 22s +* 12:33 MirahezeLSBot: [@mwtask181] starting deploy of {'folders': '1.42/extensions/MirahezeMagic'} to all +* 12:23 MirahezeLSBot: [@test151] finished deploy of {'folders': '1.43/extensions/MirahezeMagic'} to test151 - SUCCESS in 0s +* 12:23 MirahezeLSBot: [@test151] starting deploy of {'folders': '1.43/extensions/MirahezeMagic'} to test151 +* 12:23 MirahezeLSBot: [@test151] finished deploy of {'folders': '1.42/extensions/MirahezeMagic'} to test151 - SUCCESS in 0s +* 12:23 MirahezeLSBot: [@test151] starting deploy of {'folders': '1.42/extensions/MirahezeMagic'} to test151 +* 11:29 Universal Omega: ALTER TABLE cw_requests AUTO_INCREMENT = 49375; +* 11:29 Universal Omega: MariaDB [metawiki]> UPDATE cw_requests SET cw_id = 49374 WHERE cw_id = 0; +* 11:16 MirahezeLSBot: [universalomega@mwtask181] finished deploy of {'versions': '1.42', 'upgrade_extensions': 'CreateWiki'} to all - SUCCESS in 28s +* 11:15 MirahezeLSBot: [universalomega@mwtask181] starting deploy of {'versions': '1.42', 'upgrade_extensions': 'CreateWiki'} to all +* 05:44 MirahezeLSBot: [agent@mwtask181] finished deploy of {'l10n': True, 'force': True, 'versions': '1.42'} to all - SUCCESS in 630s +* 05:34 MirahezeLSBot: [agent@mwtask181] starting deploy of {'l10n': True, 'force': True, 'versions': '1.42'} to all +* 05:34 MirahezeLSBot: [agent@mwtask181] finished deploy of {'force_upgrade': True, 'versions': '1.42', 'upgrade_extensions': 'CreateWiki'} to all - SUCCESS in 28s +* 05:33 MirahezeLSBot: [agent@mwtask181] starting deploy of {'force_upgrade': True, 'versions': '1.42', 'upgrade_extensions': 'CreateWiki'} to all +* 05:33 MirahezeLSBot: [agent@mwtask181] finished deploy of {'versions': '1.42', 'upgrade_extensions': 'CreateWiki'} to all - SUCCESS in 1s +* 05:33 MirahezeLSBot: [agent@mwtask181] starting deploy of {'versions': '1.42', 'upgrade_extensions': 'CreateWiki'} to all +* 05:33 MirahezeLSBot: [agent@mwtask181] DEPLOY ABORTED: Non-Zero Exit Code in prep, see output. +* 05:33 MirahezeLSBot: [agent@mwtask181] starting deploy of {'l10n': True, 'versions': '1.42', 'upgrade_extensions': 'CreateWiki'} to all +* 02:07 MirahezeLSBot: [@mwtask171] finished deploy of {'config': True} to all - SUCCESS in 21s +* 02:06 MirahezeLSBot: [@mwtask171] starting deploy of {'config': True} to all +* 01:41 MirahezeLSBot: [@mwtask181] finished deploy of {'config': True} to all - SUCCESS in 23s +* 01:40 MirahezeLSBot: [@mwtask181] starting deploy of {'config': True} to all +* 01:37 MirahezeLSBot: [@mwtask171] finished deploy of {'config': True} to all - SUCCESS in 25s +* 01:37 MirahezeLSBot: [@mwtask171] starting deploy of {'config': True} to all + +## 2024-09-18 + +* 17:18 MirahezeLSBot: [macfan@test151] sudo -u www-data php /srv/mediawiki/1.43/maintenance/run.php /srv/mediawiki/1.43/maintenance/resetAuthenticationThrottle.php --wiki=metawikibeta --user=MacFan4000 --login (END - exit=256) +* 17:18 MirahezeLSBot: [macfan@test151] sudo -u www-data php /srv/mediawiki/1.43/maintenance/run.php /srv/mediawiki/1.43/maintenance/resetAuthenticationThrottle.php --wiki=metawikibeta --user=MacFan4000 (END - exit=256) +* 16:44 MirahezeLSBot: [macfan@test151] sudo -u www-data php /srv/mediawiki/1.43/maintenance/run.php /srv/mediawiki/1.43/maintenance/invalidateUserSessions.php --wiki=loginwikibeta --user=MacFan4000 (END - exit=0) +* 16:42 MirahezeLSBot: [macfan@test151] sudo -u www-data php /srv/mediawiki/1.43/maintenance/run.php /srv/mediawiki/1.43/maintenance/invalidateUserSessions.php --wiki=metawikibeta --user=MacFan4000 (END - exit=0) +* 13:04 @paladox: increase swiftac171 ram to 8gb +* 12:19 MirahezeLSBot: [universalomega@mwtask151] sudo -u www-data php /srv/mediawiki/1.42/maintenance/run.php /srv/mediawiki/1.42/maintenance/initSiteStats.php --wiki=newgroundswiki --active --update (END - exit=0) +* 12:19 MirahezeLSBot: [universalomega@mwtask151] sudo -u www-data php /srv/mediawiki/1.42/maintenance/run.php /srv/mediawiki/1.42/maintenance/rebuildall.php --wiki=newgroundswiki (END - exit=0) +* 12:14 MirahezeLSBot: [universalomega@mwtask151] sudo -u www-data php /srv/mediawiki/1.42/maintenance/run.php /srv/mediawiki/1.42/maintenance/rebuildall.php --wiki=newgroundswiki (START) +* 12:14 MirahezeLSBot: [universalomega@mwtask151] sudo -u www-data php /srv/mediawiki/1.42/maintenance/run.php /srv/mediawiki/1.42/maintenance/importDump.php --wiki=newgroundswiki --no-updates --username-prefix=wikia:newgrounds /home/universalomega/newgroundswiki-20240918101502.xml (END - exit=0) +* 11:43 MirahezeLSBot: [universalomega@mwtask151] sudo -u www-data php /srv/mediawiki/1.42/maintenance/run.php /srv/mediawiki/1.42/maintenance/importDump.php --wiki=newgroundswiki --no-updates --username-prefix=wikia:newgrounds /home/universalomega/newgroundswiki-20240918101502.xml (START) +* 09:08 MirahezeLSBot: [@mwtask171] finished deploy of {'config': True} to all - SUCCESS in 23s +* 09:07 MirahezeLSBot: [@mwtask171] starting deploy of {'config': True} to all +* 09:02 MirahezeLSBot: [@mwtask181] finished deploy of {'config': True} to all - SUCCESS in 25s +* 09:02 MirahezeLSBot: [@mwtask181] starting deploy of {'config': True} to all +* 08:57 MirahezeLSBot: [universalomega@test151] sudo -u www-data /usr/local/bin/foreachwikiindblist /srv/mediawiki/cache/beta.json /srv/mediawiki/1.43/maintenance/run.php /srv/mediawiki/1.43/extensions/MirahezeMagic/maintenance/changeMediaWikiVersion.php --mwversion 1.43 (END - exit=0) +* 08:57 MirahezeLSBot: [universalomega@test151] sudo -u www-data /usr/local/bin/foreachwikiindblist /srv/mediawiki/cache/beta.json /srv/mediawiki/1.43/maintenance/run.php /srv/mediawiki/1.43/extensions/MirahezeMagic/maintenance/changeMediaWikiVersion.php --mwversion 1.43 (START) +* 08:53 MirahezeLSBot: [universalomega@test151] finished deploy of {'pull': 'config', 'config': True} to test151 - SUCCESS in 1s +* 08:53 MirahezeLSBot: [universalomega@test151] starting deploy of {'pull': 'config', 'config': True} to test151 +* 02:48 MirahezeLSBot: [agent@mwtask181] finished deploy of {'versions': '1.42', 'upgrade_extensions': 'CreateWiki'} to all - SUCCESS in 27s +* 02:47 MirahezeLSBot: [agent@mwtask181] starting deploy of {'versions': '1.42', 'upgrade_extensions': 'CreateWiki'} to all +* 02:38 Universal Omega: Add Waki285 and Tali64 to the CVT email group +* 01:37 MirahezeLSBot: [@mwtask171] finished deploy of {'config': True} to all - SUCCESS in 24s +* 01:37 MirahezeLSBot: [@mwtask171] starting deploy of {'config': True} to all +* 01:32 MirahezeLSBot: [@mwtask181] finished deploy of {'config': True} to all - SUCCESS in 25s +* 01:31 MirahezeLSBot: [@mwtask181] starting deploy of {'config': True} to all +* 01:23 MirahezeLSBot: [@test151] finished deploy of {'config': True} to test151 - SUCCESS in 0s +* 01:23 MirahezeLSBot: [@test151] starting deploy of {'config': True} to test151 + ## 2024-09-17 * 18:02 MirahezeLSBot: [@mwtask181] finished deploy of {'config': True} to all - SUCCESS in 28s diff --git a/content/tech-docs/Tech:Server_usage.md b/content/tech-docs/Tech:Server_usage.md index 41e628fe3..1ae8fa32e 100644 --- a/content/tech-docs/Tech:Server_usage.md +++ b/content/tech-docs/Tech:Server_usage.md @@ -8,11 +8,12 @@ Miraheze requires lots of **servers** in order to provide service. With over 400 Currently, servers at Miraheze are used for: -* Cache proxy: [cp26](https://meta.miraheze.org/wiki/Tech:Cp26), [cp27](https://meta.miraheze.org/wiki/Tech:Cp27), [cp36](https://meta.miraheze.org/wiki/Tech:Cp36), [cp37](https://meta.miraheze.org/wiki/Tech:Cp37), [cp41](https://meta.miraheze.org/wiki/Tech:Cp41), [cp51](https://meta.miraheze.org/wiki/Tech:Cp51) -* Database: [db151](/tech-docs/techdb151), [db161](/tech-docs/techdb161), [db171](/tech-docs/techdb171), [db181](/tech-docs/techdb181), [db182](/tech-docs/techdb182) -* DNS: [ns1](/tech-docs/techns1), [ns2](/tech-docs/techns2) -* MediaWiki: [mw151](/tech-docs/techmw151), [mw152](/tech-docs/techmw152), [mw153](https://meta.miraheze.org/wiki/Tech:Mw153), [mw154](https://meta.miraheze.org/wiki/Tech:Mw154), [mw161](/tech-docs/techmw161), [mw162](/tech-docs/techmw162), [mw163](https://meta.miraheze.org/wiki/Tech:Mw163), [mw164](https://meta.miraheze.org/wiki/Tech:Mw164), [mw171](/tech-docs/techmw171), [mw172](/tech-docs/techmw172), [mw173](https://meta.miraheze.org/wiki/Tech:Mw173), [mw174](https://meta.miraheze.org/wiki/Tech:Mw174), [mw181](/tech-docs/techmw181), [mw182](/tech-docs/techmw182), [mw183](https://meta.miraheze.org/wiki/Tech:Mw183), [mw184](https://meta.miraheze.org/wiki/Tech:Mw184), [mwtask151](https://meta.miraheze.org/wiki/Tech:Mwtask151), [mwtask161](https://meta.miraheze.org/wiki/Tech:Mwtask161), [mwtask171](/tech-docs/techmwtask171), [mwtask181](/tech-docs/techmwtask181), [jobchron171](/tech-docs/techjobchron171) -* Swift: [swiftac171](/tech-docs/techswiftac171), [swiftobject151](/tech-docs/techswiftobject151), [swiftobject161](/tech-docs/techswiftobject161), [swiftobject171](/tech-docs/techswiftobject171), [swiftobject181](/tech-docs/techswiftobject181), [swiftproxy161](/tech-docs/techswiftproxy161), [swiftproxy171](/tech-docs/techswiftproxy171) +* [Cache proxy](/tech-docs/techvarnish): [cp36](https://meta.miraheze.org/wiki/Tech:Cp36), [cp37](https://meta.miraheze.org/wiki/Tech:Cp37) +* [Database](/tech-docs/techmariadb): [db151](/tech-docs/techdb151), [db161](/tech-docs/techdb161), [db171](/tech-docs/techdb171), [db181](/tech-docs/techdb181), [db182](/tech-docs/techdb182) +* [DNS](/tech-docs/techdns): [ns1](/tech-docs/techns1), [ns2](/tech-docs/techns2) +* [Mattermost](/tech-docs/techmattermost): [mattermost1](https://meta.miraheze.org/wiki/Tech:Mattermost1) +* [MediaWiki](/tech-docs/techmediawiki_appserver): [mw151](/tech-docs/techmw151), [mw152](/tech-docs/techmw152), [mw153](https://meta.miraheze.org/wiki/Tech:Mw153), [mw154](https://meta.miraheze.org/wiki/Tech:Mw154), [mw161](/tech-docs/techmw161), [mw162](/tech-docs/techmw162), [mw163](https://meta.miraheze.org/wiki/Tech:Mw163), [mw164](https://meta.miraheze.org/wiki/Tech:Mw164), [mw171](/tech-docs/techmw171), [mw172](/tech-docs/techmw172), [mw173](https://meta.miraheze.org/wiki/Tech:Mw173), [mw174](https://meta.miraheze.org/wiki/Tech:Mw174), [mw181](/tech-docs/techmw181), [mw182](/tech-docs/techmw182), [mw183](https://meta.miraheze.org/wiki/Tech:Mw183), [mw184](https://meta.miraheze.org/wiki/Tech:Mw184), [mwtask151](https://meta.miraheze.org/wiki/Tech:Mwtask151), [mwtask161](https://meta.miraheze.org/wiki/Tech:Mwtask161), [mwtask171](/tech-docs/techmwtask171), [mwtask181](/tech-docs/techmwtask181), [jobchron171](/tech-docs/techjobchron171) +* [Swift](/tech-docs/techswift): [swiftac171](/tech-docs/techswiftac171), [swiftobject151](/tech-docs/techswiftobject151), [swiftobject161](/tech-docs/techswiftobject161), [swiftobject171](/tech-docs/techswiftobject171), [swiftobject181](/tech-docs/techswiftobject181), [swiftproxy161](/tech-docs/techswiftproxy161), [swiftproxy171](/tech-docs/techswiftproxy171) * Miscellaneous * [mon181](/tech-docs/techmon181): [Grafana](/tech-docs/techgrafana), [Icinga](/tech-docs/techicinga) * [phorge171](/tech-docs/techphorge171): [Phorge](/tech-docs/techphorge) @@ -28,12 +29,8 @@ Currently, servers at Miraheze are used for: | server name | Memory (RAM) | CPU | Storage | Host | Location | Debian version | Kernel version | | --- | --- | --- | --- | --- | --- | --- | --- | -| [cp26](https://meta.miraheze.org/wiki/Tech:cp26) | 6 GB | 4 core @ 2.65 GHz | 100 GB SSD | Contabo | Nuremburg, Germany | Bookworm | | -| [cp27](https://meta.miraheze.org/wiki/Tech:Cp27) | 6 GB | 4 core @ 2.65 GHz | 100 GB SSD | Contabo | Nuremburg, Germany | Bookworm | | | [cp36](https://meta.miraheze.org/wiki/Tech:Cp36) (cloud16) | 4 GB | 4 core @ 2.65 GHz | 100 GB U.2 NVMe | Fiberstate | Salt Lake City, UT | Bookworm | | | [cp37](https://meta.miraheze.org/wiki/Tech:Cp37) (cloud17) | 4 GB | 4 core @ 2.65 GHz | 100 GB U.2 NVMe | Fiberstate | Salt Lake City, UT | Bookworm | | -| [cp41](https://meta.miraheze.org/wiki/Tech:cp41) | 6 GB | 4 core @ 2.65 GHz | 100 GB SSD | Contabo | Hong Kong | Bookworm | | -| [cp51](https://meta.miraheze.org/wiki/Tech:Cp51) | 6 GB | 4 core @ 2.65 GHz | 100 GB SSD | Contabo | London, England | Bookworm | | | [ns1](/tech-docs/techns1) (cloud17) | 1 GB | 1 core @ 2 GHz | 10 GB U.2 NVMe | Fiberstate | Salt Lake City, UT | Bookworm | | | [ns2](/tech-docs/techns2) | 1 GB | 1 core (unknown speed) | 10 GB SSD | OVH | London, England | Bookworm | | | [bast161](/tech-docs/techbast161) | 1 GB | 1 core (unknown speed) | 10 GB U.2 NVMe | Fiberstate | Salt Lake City, UT | Bookworm | | @@ -96,6 +93,10 @@ Currently, servers at Miraheze are used for: | [cp10](https://meta.miraheze.org/wiki/Tech:Cp10) *decommissioned* | 2GB, 2 cores, 30 GB SSD | 1 February 2021 | | | | [cp11](https://meta.miraheze.org/wiki/Tech:Cp11) *decommissioned* | 2GB, 2 cores, 30 GB SSD | 1 February 2021 | | | | [cp12](https://meta.miraheze.org/wiki/Tech:Cp12) *decommissioned* | 2GB, 2 cores, 30 GB SSD | 1 February 2021 | | | +| ~~[cp26](https://meta.miraheze.org/wiki/Tech:cp26)~~ *decommissioned* | 6 GB, 4 core @ 2.65 GHz, 100 GB SSD | 24 January 2024 | 2 September 2024 | $5.50 | +| ~~[cp27](https://meta.miraheze.org/wiki/Tech:Cp27)~~ *decommissioned* | 6 GB, 4 core @ 2.65 GHz, 100 GB SSD | 28 January 2024 | 2 September 2024 | $5.50 | +| ~~[cp41](https://meta.miraheze.org/wiki/Tech:cp41)~~ *decommissioned* | 6 GB, 4 core @ 2.65 GHz, 100 GB SSD | 24 January 2024 | 2 September 2024 | $7.75 | +| ~~[cp51](https://meta.miraheze.org/wiki/Tech:Cp51)~~ *decommissioned* | 6 GB, 4 core @ 2.65 GHz, 100 GB SSD | 24 January 2024 | 2 September 2024 | $7.40 | | ~~[db1](https://meta.miraheze.org/wiki/Tech:db1)~~ *decommissioned* | | | 5 October 2015 | N/A | | ~~[db2](https://meta.miraheze.org/wiki/Tech:db2)~~ *decommissioned* | 8GB, 4 cores @ 2.30 GHz, 120G GB SSD | | | N/A | | ~~[db3](https://meta.miraheze.org/wiki/Tech:Db3)~~ *decommissioned* | 6GB, 2 cores @ 2.30 GHz, 100G GB SSD | | | N/A |