diff --git a/build/wikibase/build.env b/build/wikibase/build.env index 9b0126436..98fb430e2 100644 --- a/build/wikibase/build.env +++ b/build/wikibase/build.env @@ -44,7 +44,7 @@ DEBIAN_IMAGE_URL=debian:bookworm-slim # Shouldn't require much of a review. # # https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/Wikibase/+/refs/heads/REL1_45 -WIKIBASE_COMMIT=a5025e70d1694e365ddc4c8f5b87f901558a4c58 +WIKIBASE_COMMIT=3817e3b9ed0d8b3cab11344f2122f23973d6e701 # https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/Babel/+/refs/heads/REL1_45 BABEL_COMMIT=90afc691d37369e2968fd69aab7c2b3a3d871bde # https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/cldr/+/refs/heads/REL1_45 diff --git a/deploy/7-updating-existing-wikibase.md b/deploy/7-updating-existing-wikibase.md new file mode 100644 index 000000000..dd42c0c2c --- /dev/null +++ b/deploy/7-updating-existing-wikibase.md @@ -0,0 +1,37 @@ +## Updating Existing Wikibase + +This guide will help you update your current Wikibase to use the new Federated Statements feature which is in its Alpha Version. If you need to install a fresh Wikibase to try out the feature, please refer to our [other installation guide](./README.md). + +--- + +### 1. Taking down your current instance + +In order to take down your current Wikibase instance, you will need to SSH into your server. + +Once you've done that, run: + +```sh +docker compose down +``` + +--- + +### 2. Pulling new changes to install the feature + +```sh +git fetch origin && git checkout test-alpha-deployment +``` +--- + +### 3. Restart your instance + +```sh +docker compose up --build +``` + +The first start may take a couple of minutes. You can check the status of the stack by running `docker ps` from another terminal. When your WBS Deploy instance is ready, the `wbs-deploy-wikibase-1` container will be marked `healthy`. + +Your instance is now ready! It will already have the new feature ready for you to try 🎉 + +> [!NOTE] +> If anything goes wrong, you can run `docker logs ` to see some helpful error messages. Should you run into some issues in this step, make sure to [reset the configuration](#resetting-the-configuration) after you fix the error. diff --git a/deploy/README.md b/deploy/README.md index 27620d05f..06fe297f5 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -1,42 +1,14 @@ -# Wikibase Suite Deploy +# Federated Items Alpha Version +In federated items, the local instance refers to data on a remote instance. We are currently in our Alpha version for Federated Items. This allows you to add Wikidata items as values (objects) to your Wikibase instance. -Wikibase Suite (WBS) Deploy is a containerized, production-ready [Wikibase](https://wikiba.se) system that allows you to self-host a knowledge graph similar to [Wikidata](https://www.wikidata.org/wiki/Wikidata:Main_Page). - -This installation guide walks you through how to set up a production-ready Wikibase. This guide isn't for hosting Wikibase locally. - -WBS Deploy consists of the following services: - -- **[Wikibase](https://hub.docker.com/r/wikibase/wikibase):** MediaWiki packaged with the Wikibase extension and other commonly used extensions. -- **Job Runner:** The MediaWiki [JobRunner](https://www.mediawiki.org/wiki/Manual:Job_queue#Cron) service which uses the same Wikibase container as above. -- **[MariaDB](https://hub.docker.com/_/mariadb):** Database service for MediaWiki and Wikibase. -- **[Elasticsearch](https://hub.docker.com/r/wikibase/elasticsearch):** Search service used by MediaWiki. -- **[WDQS](https://hub.docker.com/r/wikibase/wdqs):** Wikidata Query Service to process SPARQL queries. -- **[WDQS Frontend](https://hub.docker.com/r/wikibase/wdqs-frontend)** Web front end for SPARQL queries. -- **[WDQS Updater](https://www.mediawiki.org/wiki/Wikidata_Query_Service/User_Manual#runUpdate.sh):** Keeps the WDQS data in sync with Wikibase. -- **[Quickstatements](https://hub.docker.com/r/wikibase/quickstatements):** A web-based tool to import and manipulate large amounts of data. -- **[Traefik](https://hub.docker.com/_/traefik):** A reverse proxy that handles TLS termination and SSL certificate renewal through ACME. +> [!NOTE] +> This feature is not stable yet. We are actively collecting feedback and plan to add more functionality throughout the year. -The service orchestration is implemented using Docker Compose V2. +There are also some limitations we would like to make you aware of for the alpha version: +* The representation of federated items in the API has not been worked on, yet. It will be part of one of upcoming work packages and we would like to get feedback on API requirements. +* Reconciling the QueryService with the newly added Wikidata items is under active investigation and development. -> [!NOTE] -> This document is for people wanting to self-host the full Wikibase Suite using Wikibase Suite Deploy. If you are looking for individual WBS images, head over to [hub.docker.com/u/wikibase](https://hub.docker.com/u/wikibase). This document presumes familiarity with basic Linux administration tasks and with [Docker](https://docs.docker.com/get-started/) and [Docker Compose](https://docs.docker.com/compose/). - -### Index -- [Installation](#installation) - - [Requirements](#1-requirements) - - [Setup](#2-setup) - - [Initial Configuration](#3-initial-configuration) - - [Editing environment variables](#4-editing-environment-variables) - - [Starting instance](#5-starting-wikibase) - - [Stopping instance](#6-stopping) - - [Resetting the configuration](#resetting-the-configuration) -- [Call Back](./4-FAQs.md#what-are-the-future-plans-for-the-call-back-feature-and-what-information-does-it-collect) -- [Updating and Versioning](./1-updating-and-versioning.md) -- [Advanced Configuration](./2-advanced-configuration.md) -- [Managing your data](./3-manage-your-data.md) -- [Frequently Asked Questions](./4-FAQs.md) -- [Removing Wikibase Suite Completely with all its Data](./5-removing-wikibase.md) -- [WDQS](./6-wdqs.md) +This guide is for those who want to install a fresh Wikibase instance for testing. You can use [this guide](7-updating-existing-wikibase.md) to update your existing Wikibase to the alpha version. --- @@ -46,13 +18,7 @@ The service orchestration is implemented using Docker Compose V2. #### Hardware -Most Wikibase production installs are on cloud-based servers. Below we list the official installation guides for some commonly used hosting providers: -- [Hetzner](https://docs.hetzner.com/cloud/servers/getting-started/creating-a-server/) -- [DigitalOcean](https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu) -- [Akamai](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) -- [Vultr](https://docs.vultr.com/products/compute/cloud-compute/provisioning) - -The minimum requirements for your server are as follows: +Most Wikibase production installs are on cloud-based servers. The minimum requirements for your server are as follows: - Network connection with a public IP address - x86_64 (AMD64) architecture - 8 GB RAM @@ -82,6 +48,7 @@ Check out the files from Github, then change to the subdirectory `deploy`. ```sh git clone https://github.com/wmde/wikibase-release-pipeline +git checkout test-alpha-deployment cd wikibase-release-pipeline/deploy ``` diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml index d66c64f34..6ccc482b2 100644 --- a/deploy/docker-compose.yml +++ b/deploy/docker-compose.yml @@ -6,7 +6,7 @@ services: # -------------------------------------------------- wikibase: - image: wikibase/wikibase:7 + image: wikibase/wikibase:federated-values-alpha-test depends_on: mysql: condition: service_healthy @@ -21,7 +21,7 @@ services: - quickstatements-data:/quickstatements/data environment: # Keep in sync with deploy/package.json version - DEPLOY_VERSION: "7.0.0" + DEPLOY_VERSION: "federated-values-alpha-test" METADATA_CALLBACK: ${METADATA_CALLBACK} MW_ADMIN_NAME: ${MW_ADMIN_NAME} MW_ADMIN_PASS: ${MW_ADMIN_PASS} @@ -41,7 +41,7 @@ services: start_period: 5m wikibase-jobrunner: - image: wikibase/wikibase:7 + image: wikibase/wikibase:federated-values-alpha-test command: /jobrunner-entrypoint.sh depends_on: wikibase: