diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 46236687f..2f95fa614 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -32,8 +32,6 @@ These contribution guidelines were adapted from / inspired by those of Gitea (ht
- [Federation](#federation)
- [Updating Swagger docs](#updating-swagger-docs)
- [CI/CD configuration](#cicd-configuration)
- - [Release Checklist](#release-checklist)
- - [What if something goes wrong?](#what-if-something-goes-wrong)
## Introduction
@@ -41,11 +39,11 @@ This document contains important information that will help you to write a succe
## Bug reports and feature requests
-Currently, we use Github's issue system for tracking bug reports and feature requests.
+Currently, we use Codeberg's issue system for tracking bug reports and feature requests.
-You can view all open issues [here](https://codeberg.org/superseriousbusiness/gotosocial/issues "The Github Issues page for GoToSocial").
+You can view all open issues [here](https://codeberg.org/superseriousbusiness/gotosocial/issues "The Codeberg Issues page for GoToSocial").
-Before opening a new issue, whether bug or feature request, **please search carefully through both open and closed issues to make sure it hasn't been addressed already**. You can use Github's keyword issue search for this. If your issue is a duplicate of an existing issue, it will be closed.
+Before opening a new issue, whether bug or feature request, **please search carefully through both open and closed issues to make sure it hasn't been addressed already**. You can use Codeberg's keyword issue search for this. If your issue is a duplicate of an existing issue, it will be closed.
Before you open a feature request issue, please consider the following:
@@ -492,55 +490,12 @@ You shouldn't need to install go-swagger to run this command, as it's already in
### CI/CD configuration
-GoToSocial uses [Drone](https://www.drone.io/) for CI/CD tasks like running tests, linting, and building Docker containers.
+GoToSocial uses [Woodpecker CI](https://woodpecker-ci.org/) for CI/CD tasks like running tests, linting, and building Docker containers.
-These runs are integrated with GitHub, and will be run on opening a pull request or merging into main.
+These runs are integrated with Codeberg, and will be run on opening a pull request or merging into main.
-The Drone instance for GoToSocial is [here](https://drone.superseriousbusiness.org/superseriousbusiness/gotosocial).
+The `woodpecker` pipeline files are in the `.woodpecker` directory of this repository — these define how and when Woodpecker should run.
-The `drone.yml` file is [here](./.drone.yml) — this defines how and when Drone should run. Documentation for Drone is [here](https://docs.drone.io/).
+The Woodpecker instance for GoToSocial is [here](https://woodpecker.superseriousbusiness.org/repos/2).
-It is worth noting that the `drone.yml` file must be signed by the Drone admin account to be considered valid. This must be done every time the file is changed. This is to prevent tampering and hijacking of the Drone instance. See [here](https://docs.drone.io/signature/).
-
-To sign the file, first install and setup the [drone cli tool](https://docs.drone.io/cli/install/). Then, run:
-
-```bash
-drone -t PUT_YOUR_DRONE_ADMIN_TOKEN_HERE -s https://drone.superseriousbusiness.org sign superseriousbusiness/gotosocial --save
-```
-
-### Release Checklist
-
-First things first: If this is a security hot-fix, we'll probably rush through this list, and make a prettier release a few days later.
-
-Now, with that out of the way, here's our Checklist.
-
-GoToSocial follows [Semantic Versioning](https://semver.org/).
-So our first concern on the Checklist is:
-
-- What version are we releasing?
-
-Next we need to check:
-
-- Do the assets have to be rebuilt and committed to the repository.
-- Do the swagger docs have to be rebuilt?
-
-On the project management side:
-
-- Are there any issues that have to be moved to a different milestone?
-- Are there any things on the [Roadmap](./ROADMAP.md) that can be ticked off?
-
-Once we're happy with our Checklist, we can create the tag, and push it.
-And the rest [is automation](./.drone.yml).
-
-We can now head to GitHub, and add some personality to the release notes.
-Finally, we make announcements on the all our channels that the release is out!
-
-#### What if something goes wrong?
-
-Sometimes things go awry.
-We release a buggy release, we forgot something something important.
-
-If the release is so bad that it's unusable or dangerous! to a great part of our user-base, we can pull.
-That is: Delete the tag.
-
-Either way, once we've resolved the issue, we just start from the top of this list again. Version numbers are cheap. It's cheap to burn them.
+Documentation for Woodpecker is [here](https://woodpecker-ci.org/docs/intro).
diff --git a/README.md b/README.md
index 0d1b454f4..fda138f81 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@ GoToSocial is an [ActivityPub](https://activitypub.rocks/) social network server
With GoToSocial, you can keep in touch with your friends, post, read, and share images and articles. All without being tracked or advertised to!
-
+
**GoToSocial is still [BETA SOFTWARE](https://en.wikipedia.org/wiki/Software_release_life_cycle#Beta)**. It is already deployable and useable, and it federates cleanly with many other Fediverse servers (not yet all). However, many things are not yet implemented, and there are plenty of bugs! We left alpha stage around September/October 2024, and we intend to exit beta some time around 2026.
@@ -19,7 +19,7 @@ To build from source, check the [CONTRIBUTING.md](https://codeberg.org/superseri
Here's a screenshot of the instance landing page! Check out the project's [official account](https://gts.superseriousbusiness.org/@gotosocial) running on GoToSocial.
-
+
## Table of Contents
@@ -73,7 +73,7 @@ GoToSocial provides a lightweight, customizable, and safety-focused entryway int
If you've ever used something like Twitter or Tumblr (or even Myspace!) GoToSocial will probably feel familiar to you: You can follow people and have followers, you make posts which people can favourite and reply to and share, and you scroll through posts from people you follow using a timeline. You can write long posts or short posts, or just post images, it's up to you. You can also, of course, block people or otherwise limit interactions that you don't want by posting just to your friends.
-
+
**GoToSocial does NOT use recommendation algorithms or collect data about you to suggest content or 'improve your experience'**. The timeline is chronological: whatever you see at the top of your timeline is there because it's *just been posted*, not because it's been selected as interesting (or controversial) based on your personal profile.
@@ -85,7 +85,7 @@ GoToSocial doesn't claim to be *better* than any other application, but it offer
Because GoToSocial uses [ActivityPub](https://activitypub.rocks/), you can hang out not just with people on your home server, but with people all over the [Fediverse](https://en.wikipedia.org/wiki/Fediverse), seamlessly.
-
+
Federation means that your home server is part of a network of servers all over the world that all communicate using the same protocol. Your data is no longer centralized on one company's servers, but resides on your own server and is shared — as you see fit — across a resilient web of servers run by other people.
@@ -129,7 +129,7 @@ GoToSocial offers public, unlisted/unlocked, followers-only, and direct posts (s
GoToSocial lets you choose who can reply to your posts, via [interaction policies](https://docs.gotosocial.org/en/latest/user_guide/settings/#default-interaction-policies). You can choose to let anyone reply to your posts, let only your friends reply, and more.
-
+
### Local-only posting
@@ -143,7 +143,7 @@ GoToSocial lets you opt-in to exposing your profile as an RSS feed, so that peop
With GoToSocial, you can write posts using the popular, easy-to-use Markdown markup language, which lets you produce rich HTML posts with support for blockquotes, syntax-highlighted code blocks, lists, inline links, and more.
-
+
### Themes and custom CSS
@@ -154,61 +154,61 @@ It's also easy for admins to [add their own custom themes](https://docs.gotosoci
Show theme examples
-
+ Blurple dark
-
+ Blurple light
-
+ Brutalist light
-
+ Brutalist dark
-
+ Ecks pee
-
+ Midnight trip
-
+ Moonlight hunt
-
+ Rainforest
-
+ Soft
-
+ Solarized dark
-
+ Solarized light
-
+ Sunset
@@ -218,7 +218,7 @@ It's also easy for admins to [add their own custom themes](https://docs.gotosoci
GoToSocial uses only about 250-350MiB of RAM, and requires very little CPU power, so it plays nice with single-board computers, old laptops and tiny $5/month VPSes.
-
+
No external dependencies apart from a database (or just use SQLite!).
@@ -339,7 +339,7 @@ To run from main using Docker, use the `snapshot` Docker tag. The Docker image `
To run from main using a binary release, download the appropriate .tar.gz file for your architecture from our [self-hosted Minio S3 repository](https://minio.s3.superseriousbusiness.org/browser/gotosocial-snapshots).
-Snapshot binary releases in the S3 bucket are keyed by Github commit hash. To get the latest one, sort by Last Modified, or check out the list of commits [here](https://codeberg.org/superseriousbusiness/gotosocial/commits/main), copy the SHA of the latest one, and paste it in the Minio console filter. Snapshot binary releases are expired after 28 days, to keep our hosting costs down.
+Snapshot binary releases in the S3 bucket are keyed by commit hash. To get the latest one, sort by Last Modified, or check out the list of commits [here](https://codeberg.org/superseriousbusiness/gotosocial/commits/main), copy the SHA of the latest one, and paste it in the Minio console filter. Snapshot binary releases are expired after 28 days, to keep our hosting costs down.
### From Source
@@ -372,7 +372,7 @@ You would like to contribute to GtS? Great! ❤️❤️❤️ Check out the iss
For questions and comments, you can [join our Matrix space](https://matrix.to/#/#gotosocial-space:superseriousbusiness.org) at `#gotosocial-space:superseriousbusiness.org`. This is the quickest way to reach the devs. You can also mail [admin@gotosocial.org](mailto:admin@gotosocial.org).
-For bugs and feature requests, please check to see if there's [already an issue](https://codeberg.org/superseriousbusiness/gotosocial/issues), and if not, open one or use one of the above channels to make a request (if you don't have a Github account).
+For bugs and feature requests, please check to see if there's [already an issue](https://codeberg.org/superseriousbusiness/gotosocial/issues), and if not, open one or use one of the above channels to make a request (if you don't have a Codeberg account).
---
diff --git a/docs/admin/domain_permission_subscriptions.md b/docs/admin/domain_permission_subscriptions.md
index 78518e187..6c4326a3f 100644
--- a/docs/admin/domain_permission_subscriptions.md
+++ b/docs/admin/domain_permission_subscriptions.md
@@ -37,7 +37,7 @@ Domain permission subscriptions make it possible to easily create allowlist-fede
For example, instances `instance-a.example.org`, `instance-b.example.org`, and `instance-c.example.org` decide that they only want to federate with each other.
-Using some version management platform like GitHub, they host a plaintext-formatted allowlist at something like `https://raw.githubusercontent.com/our-cluster/allowlist/refs/heads/main/allows.txt`.
+Using some version management platform like Codeberg, they host a plaintext-formatted allowlist at something like `https://codeberg.org/our-cluster/allowlist/raw/branch/main/allows.txt`.
The contents of the plaintext-formatted allowlist are as follows:
@@ -47,7 +47,7 @@ instance-b.example.org
instance-c.example.org
```
-Each instance admin sets their federation mode to `allowlist`, and creates a subscription to create allows from `https://raw.githubusercontent.com/our-cluster/allowlist/refs/heads/main/allows.txt`, which results in domain allow entries being created for their own domain, and for each other domain in the cluster.
+Each instance admin sets their federation mode to `allowlist`, and creates a subscription to create allows from `https://codeberg.org/our-cluster/allowlist/raw/branch/main/allows.txt`, which results in domain allow entries being created for their own domain, and for each other domain in the cluster.
At some point, someone from `instance-d.example.org` asks (out of band) whether they can be added to the cluster. The existing admins agree, and update their plaintext-formatted allowlist to read:
@@ -66,7 +66,7 @@ Domain permission subscriptions make it easy to collaborate on and subscribe to
For example, the admins of instances `instance-e.example.org`, `instance-f.example.org`, and `instance-g.example.org` decide that they are tired of duplicating work by playing whack-a-mole with bad actors. To make their lives easier, they decide to collaborate on a shared blocklist.
-Using some version management platform like GitHub, they host a blocklist at something like `https://raw.githubusercontent.com/baddies/blocklist/refs/heads/main/blocks.csv`.
+Using some version management platform like Codeberg, they host a blocklist at something like `https://codeberg.org/our-cluster/allowlist/raw/branch/main/blocks.csv`.
When someone discovers a new domain hosting an instance they don't like, they can open a pull request or similar against the list, to add the questionable instance to the domain.
diff --git a/docs/configuration/index.md b/docs/configuration/index.md
index 79eea3184..6d0c870ad 100644
--- a/docs/configuration/index.md
+++ b/docs/configuration/index.md
@@ -135,7 +135,7 @@ To speed up startup time of GoToSocial, you can cache the compiled modules betwe
You can instruct GoToSocial on where to store the Wazero artifacts by setting the environment variable `GTS_WAZERO_COMPILATION_CACHE` to a directory, which will be used by GtS to store two smallish artifacts of ~50MiB or so each (~100MiB total).
-For an example of this in action, see the [docker-compose.yaml](https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/example/docker-compose/docker-compose.yaml), and the [gotosocial.service](https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/example/gotosocial.service) example files.
+For an example of this in action, see the [docker-compose.yaml](https://codeberg.org/superseriousbusiness/gotosocial/raw/branch/main/example/docker-compose/docker-compose.yaml), and the [gotosocial.service](https://codeberg.org/superseriousbusiness/gotosocial/raw/branch/main/example/gotosocial.service) example files.
If you want to provide this value to GtS outside of systemd or Docker, you can do so in the following manner when starting up your GtS server:
diff --git a/docs/getting_started/installation/container.md b/docs/getting_started/installation/container.md
index a7682b04d..dc9225437 100644
--- a/docs/getting_started/installation/container.md
+++ b/docs/getting_started/installation/container.md
@@ -20,10 +20,10 @@ cd ~/gotosocial
## Get the latest docker-compose.yaml
-Use `wget` to download the latest [docker-compose.yaml](https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/example/docker-compose/docker-compose.yaml) example, which we'll customize for our needs:
+Use `wget` to download the latest [docker-compose.yaml](https://codeberg.org/superseriousbusiness/gotosocial/raw/branch/main/example/docker-compose/docker-compose.yaml) example, which we'll customize for our needs:
```bash
-wget https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/example/docker-compose/docker-compose.yaml
+wget https://codeberg.org/superseriousbusiness/gotosocial/raw/branch/main/example/docker-compose/docker-compose.yaml
```
## Edit the docker-compose.yaml
diff --git a/docs/getting_started/installation/metal.md b/docs/getting_started/installation/metal.md
index ef33e2d0e..093f0e678 100644
--- a/docs/getting_started/installation/metal.md
+++ b/docs/getting_started/installation/metal.md
@@ -123,7 +123,7 @@ Then make them the owner of your GoToSocial installation since they will need to
sudo chown -R gotosocial:gotosocial /gotosocial
```
-You can find a `gotosocial.service` file in the `example` folder on [github](https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/example/gotosocial.service) or your installation.
+You can find a `gotosocial.service` file in the `example` folder on [our repository](https://codeberg.org/superseriousbusiness/gotosocial/raw/branch/main/example/gotosocial.service) or your installation.
Copy it to `/etc/systemd/system/gotosocial.service`:
diff --git a/docs/locales/zh/configuration/index.md b/docs/locales/zh/configuration/index.md
index ce8601d4a..79451f7bb 100644
--- a/docs/locales/zh/configuration/index.md
+++ b/docs/locales/zh/configuration/index.md
@@ -129,7 +129,7 @@ gotosocial server start --media-image-max-size 2097152
你可以通过将环境变量 `GTS_WAZERO_COMPILATION_CACHE` 设置为一个目录来指示 GoToSocial 存储 Wazero 工件,该目录将由 GtS 用于存储两个大小约为 ~50MiB 的小型工件(总计约 ~100MiB)。
-要了解此方法的示例,请参见 [docker-compose.yaml](https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/example/docker-compose/docker-compose.yaml) 和 [gotosocial.service](https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/example/gotosocial.service) 示例文件。
+要了解此方法的示例,请参见 [docker-compose.yaml](https://codeberg.org/superseriousbusiness/gotosocial/raw/branch/main/example/docker-compose/docker-compose.yaml) 和 [gotosocial.service](https://codeberg.org/superseriousbusiness/gotosocial/raw/branch/main/example/gotosocial.service) 示例文件。
如果你希望在 systemd 或 Docker 之外为 GtS 提供此值,可以在启动 GtS 服务器时通过以下方式进行:
diff --git a/docs/locales/zh/getting_started/installation/container.md b/docs/locales/zh/getting_started/installation/container.md
index d059a8779..71f8ed40c 100644
--- a/docs/locales/zh/getting_started/installation/container.md
+++ b/docs/locales/zh/getting_started/installation/container.md
@@ -20,10 +20,10 @@ cd ~/gotosocial
## 获取最新的 docker-compose.yaml
-使用 `wget` 下载最新的 [docker-compose.yaml](https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/example/docker-compose/docker-compose.yaml) 示例,我们将根据需要进行自定义:
+使用 `wget` 下载最新的 [docker-compose.yaml](https://codeberg.org/superseriousbusiness/gotosocial/raw/branch/main/example/docker-compose/docker-compose.yaml) 示例,我们将根据需要进行自定义:
```bash
-wget https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/example/docker-compose/docker-compose.yaml
+wget https://codeberg.org/superseriousbusiness/gotosocial/raw/branch/main/example/docker-compose/docker-compose.yaml
```
## 编辑 docker-compose.yaml
diff --git a/docs/locales/zh/getting_started/installation/metal.md b/docs/locales/zh/getting_started/installation/metal.md
index 77b1e73f6..5e116da41 100644
--- a/docs/locales/zh/getting_started/installation/metal.md
+++ b/docs/locales/zh/getting_started/installation/metal.md
@@ -123,7 +123,7 @@ sudo usermod -a -G gotosocial gotosocial
sudo chown -R gotosocial:gotosocial /gotosocial
```
-你可以在 [GitHub](https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/example/gotosocial.service) 或你的安装文件夹中的 `example` 文件夹中找到一个 `gotosocial.service` 文件。
+你可以在 [Codeberg](https://codeberg.org/superseriousbusiness/gotosocial/raw/branch/main/example/gotosocial.service) 或你的安装文件夹中的 `example` 文件夹中找到一个 `gotosocial.service` 文件。
将它复制到 `/etc/systemd/system/gotosocial.service`:
diff --git a/docs/locales/zh/repo/README.md b/docs/locales/zh/repo/README.md
index 85510ccda..d9f8e8baa 100644
--- a/docs/locales/zh/repo/README.md
+++ b/docs/locales/zh/repo/README.md
@@ -8,7 +8,7 @@ GoToSocial 是一个用 Golang 编写的 [ActivityPub](https://activitypub.rocks
通过 GoToSocial,你可以与朋友保持联系,发帖、阅读和分享图片及文章,且不会被追踪或广告打扰!