summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)AuthorFiles
2023-12-05[docs] Change configuration creation instructions (#2408)Libravatar Daenney3
* [docs] Change configuration creation instructions This changes the wording to push people towards creating their own configuration, without copying the whole example configuration. This makes it much easier to reconcile necessary configruation changes on upgrades. * [docs] Reword container version section This changes the wording in the Version section to make it more clear what the risks of a moving tag are. It pushes people to use an explicit release tag instead.
2023-11-27[docs] Add docs about memory requirements and swap (#2385)Libravatar Daenney1
2023-11-27[feature] Add `/api/v1/admin/debug/apurl` endpoint (#2359)Libravatar tobi1
2023-11-27[bugfix] Add Actor to outgoing poll vote Create; other fixes (#2384)Libravatar tobi1
2023-11-26[docs] Explain how to secure metrics endpoints (#2382)Libravatar Daenney2
2023-11-23[documentation] add poll and poll vote details to gotosocial federating doc ↵Libravatar kim1
(#2381) * add poll and poll vote details to gotosocial federating doc * small corrections
2023-11-22[docs] Add a warning about SQLite cache sizes (#2378)Libravatar Daenney1
* [docs] Add a warning about SQLite cache sizes * [docs] Fix admonition text * [docs] Lorde the indenting * [docs] Rework the text a bit
2023-11-21[feature] Federate status language in and out (#2366)Libravatar tobi1
* [feature] Federate status language in + out * go fmt * tests, little fix * improve comments * unnest a bit * avoid unnecessary nil check * use more descriptive variable for contentMap * prefer instance languages when selecting from contentMap * update docs to reflect lang selection * rename rdfLangString -> rdfLangs * update comments to mention Pollable * iter through slice instead of map
2023-11-21[docs] Annotate split-domain setup (#2372)Libravatar Daenney1
This adds account-domain and host comments next to each config line to hopefully make it easier for folks to understand what goes where.
2023-11-20[feature] Initial Prometheus metrics implementation (#2334)Libravatar Tsuribori3
* feat: Initial OTEL metrics * docs: add metrics documentation * fix: metrics endpoint conditional check * feat: metrics endpoint basic auth * fix: make metrics-auth-enabled default false * fix: go fmt helpers.gen.go * fix: add metric-related env vars to envparsing.sh * fix: metrics docs * fix: metrics related stuff in envparsing.sh * fix: metrics docs * chore: metrics docs wording * fix: metrics stuff in envparsing? * bump otel versions --------- Co-authored-by: Tsuribori <user@acertaindebian> Co-authored-by: Tsuribori <none@example.org> Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-11-17[feature] Set/show instance language(s); show post language on frontend (#2362)Libravatar tobi4
* update go text, include text/display * [feature] Set instance langs, show post lang on frontend * go fmt * WebGet * set language for whole article, don't use FA icon * mention instance languages + other optional config vars * little tweak * put languages in config properly * warn log language parse * change some naming around * tidy up validate a bit * lint * rename LanguageTmpl in template
2023-11-09[bugfix/docs] Poll api fixups + swagger docs (#2345)Libravatar tobi1
2023-11-08[feature] add support for polls + receiving federated status edits (#2330)Libravatar kim1
2023-11-04[docs/bugfix] fix link to swagger yaml (#2333)Libravatar tobi1
2023-10-31[bugfix] Relax `Mention` parsing, allowing either href or name (#2320)Libravatar tobi1
2023-10-30[feature] Customizable media cleaner schedule (#2304)Libravatar tobi3
2023-10-30[docs] added split-domain configuration for Caddy 2 (#2288)Libravatar wuchyi1
* Update host-account-domain.md Added split-domain configuration for Caddy 2
2023-10-25[feature] Status thread mute/unmute functionality (#2278)Libravatar tobi2
* add db models + functions for keeping track of threads * give em the old linty testy * create, remove, check mutes * swagger * testerino * test mute/unmute via api * add info log about new index creation * thread + allow muting of any remote statuses that mention a local account * IsStatusThreadMutedBy -> IsThreadMutedByAccount * use common processing functions in status processor * set = NULL * favee! * get rekt darlings, darlings get rekt * testrig please, have mercy muy liege
2023-10-04[docs] statuses-query-pinned #2250 (#2251)Libravatar 恐咖兵糖1
2023-09-29[frontend] Add `discoverable` flag to settings panel (#2235)Libravatar tobi1
2023-09-21[feature] Implement explicit domain allows + allowlist federation mode (#2200)Libravatar tobi8
* love like winter! wohoah, wohoah * domain allow side effects * tests! logging! unallow! * document federation modes * linty linterson * test * further adventures in documentation * finish up domain block documentation (i think) * change wording a wee little bit * docs, example * consolidate shared domainPermission code * call mode once * fetch federation mode within domain blocked func * read domain perm import in streaming manner * don't use pointer to slice for domain perms * don't bother copying blocks + allows before deleting * admonish! * change wording just a scooch * update docs
2023-09-20[docs] Add a note on cluster support (#2214)Libravatar Daenney2
* [docs] Callout no cluster/multi-node support Though we have a GitHub issue for this, we don't mention it anywhere in the docs. This adds it to the deployment considerations so hopefully folks will see it when standing up their own instance. * [docs] Add daenney as a developer
2023-09-12[feature] add paging to account follows, followers and follow requests ↵Libravatar kim1
endpoints (#2186)
2023-09-12[feature] Allow admins to expire remote public keys; refetch expired keys on ↵Libravatar tobi1
demand (#2183)
2023-09-11[docs] add fail2ban regex in the doc (#2189)Libravatar OniriCorpe1
2023-09-07[feature] Support OTLP HTTP, drop Jaeger (#2184)Libravatar Daenney1
* [feature] Add http trace exporter, drop Jaeger Jaeger supports ingesting traces using the OpenTelemetry gRPC or HTTP methods. The Jaeger project has deprecated the old jaeger transport. * Add support for submitting traces over HTTP * Drop support for the old Jaeger protocol * Upgrade the trace libraries to v1.17 Fixes: #2176 Fixes: #2179
2023-09-04[feature] Store admin actions in the db, prevent conflicting actions (#2167)Libravatar tobi1
2023-08-23[docs] Update backup docs (#2153)Libravatar Daenney1
2023-08-23[feature] list commands for both attachment and emojis (#2121)Libravatar rdelaage1
* [feature] list commands for both attachment and emojis * use fewer commands, provide `local-only` and `remote-only` as filters * envparsing --------- Co-authored-by: Romain de Laage <romain.delaage@rdelaage.ovh> Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-08-23[feature] Add rate limit exceptions option, use ISO8601 for rate limit reset ↵Libravatar tobi2
(#2151) * start updating rate limiting, add exceptions * tests, comments, tidying up * add rate limiting exceptions to example config * envparsing * nolint * apply kimbediff * add examples
2023-08-21[feature] Make log format configurable (#2130)Libravatar Daenney1
* [feature] Don't emit timestamp in log lines When running gotosocial with a service manager like systemd, or a container runtime, the associated log driver usually emits timestamps itself. In those cases, having the extra timestamp from our own log lines ends up being a bit noisy and when centrally ingesting logs is duplicate information. This introduces a configuration flag that allows disabling emitting the timestamp. It's only wired up for "daemonised" processes, meaning server and testrig. * [chore] Add docs for log-timestamp * [feature] Simplify timestamp handling Co-Authored-By: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> * [chore] Less escaped double-quotes * [chore] Fix help string --------- Co-authored-by: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>
2023-08-20[feature/bugfix] Probe S3 storage for CSP uri, add config flag for extra ↵Libravatar tobi1
URIs (#2134) * [feature/bugfix] Probe S3 storage for CSP uri, add config flag for extra URIs * env parsing tests, my coy mistress
2023-08-19[feature] Instance rules (#2125)Libravatar f0x521
* init instance rules database model, admin api * expose instance rules in public instance api * public /api/v1/instance/rules route * GET ruleById * createRule route * createRule auth check * updateRule * deleteRule * list rules on about page * ruleGet auth * add about page ids for anchors * process and store adding violated rules to reports * admin api models for instance rules * instance rule edit frontend * change rule inputs to textareas * database fixes after rebase (#2124) * remove unused imports * fix db migration column name * fix tests * fix more tests * fix postgres error with wrongly used Ident * add some tests, fiddle with rule model a bit, fix postgres migration * swagger docs --------- Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-08-15[feature] Add snapshot binary builds + uploads (#2119)Libravatar tobi2
* [feature] Add snapshot binary builds + uploads * Update docs to include info on snapshot builds * review comments * little tweaks
2023-08-11[feature] Set Content-Security-Policy header (#2095)Libravatar Daenney1
This adds the CSP header with a policy of only loading from the same domain. We don't make use of external media, CSS, JS, fonts, so we don't ever need external data loaded in our context. When building a DEBUG build, the policy gets extended to include localhost:*, i.e localhost on any port. This keeps the live-reloading flow for JS development working. localhost and 127.0.0.1 are considered to be the same so mixing and matching those doesn't result in a CSP violation.
2023-08-08[chore] Add Feditext as recommended client (#2081)Libravatar Daenney5
With Feditext now accepting beta users, this adds it as the third client to recommend so we have web and the dominant mobile platforms covered. This also removes the screenshots from the README, because it became a mess trying to add a third one. Either the cells become very narrow, or the table doubles in height. As the UI may also change over time, it might be better to point folks at the apps instead who'll hopefully have up to date screenshots in their storefronts.
2023-08-06[docs] fix postgres create database command (#2071)Libravatar Max Rosin1
The current command `create database gotosocial with locale C.UTF-8 template template0;` fails because the locale has to be quoted: ``` postgres=# create database gotosocial with locale C.UTF-8 template template0; ERROR: syntax error at or near "." LINE 1: create database gotosocial with locale C.UTF-8 template temp... ``` Tested manually that it works with the quotes and the official postgres examples also use quotes around the locales: https://www.postgresql.org/docs/current/sql-createdatabase.html
2023-08-01[feature] Allow users to skip http client tls verification for testing ↵Libravatar tobi1
purposes (with appropriately loud warnings) (#2052)
2023-08-01[feature] Set timezone in Docker using TZ env variable (#2050)Libravatar tobi1
2023-07-31[feature] Hashtag federation (in/out), hashtag client API endpoints (#2032)Libravatar tobi3
* update go-fed * do the things * remove unused columns from tags * update to latest lingo from main * further tag shenanigans * serve stub page at tag endpoint * we did it lads * tests, oh tests, ohhh tests, oh tests (doo doo doo doo) * swagger docs * document hashtag usage + federation * instanceGet * don't bother parsing tag href * rename whereStartsWith -> whereStartsLike * remove GetOrCreateTag * dont cache status tag timelineability
2023-07-29[feature] Implement markers API (#1989)Libravatar Vyr Cossont1
* Implement markers API Fixes #1856 * Correct import grouping in markers files * Regenerate Swagger for markers API * Shorten names for readability * Cache markers for 6 hours * Update DB ref * Update envparsing.sh
2023-07-27[feature] Support setting private notes on accounts (#1982)Libravatar Vyr Cossont1
* Support setting private notes on accounts * Reformat comment whitespace * Add missing license headers * Use apiutil.ParseID * Rename Note model and cache to AccountNote * Update golden cache config in test/envparsing.sh * Rename gtsmodel/note.go to gtsmodel/accountnote.go * Update AccountNote uniqueness constraint name Now has same prefix as other indexes on this table. --------- Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com>
2023-07-21[feature] Lower remote media cache config duration (#2007)Libravatar Daenney1
The old default of 30d can lead to a lot of media getting cached and significant disk usage, even on small or single person instances. A lot of deployments decrease this value, to 15 or even less. This is less of an issue when using object storage, but for local storage which is the more popular deployment option running out of disk space is unpleasant. With GoToSocial's aim to fit in small places, this changes the default to a much more conservative 7 days. In all likelihood people aren't scrolling that far back in their timeline so this change shouldn't result in any issue. Existing deployments will only be affected by this change if the admin hasn't already configured this value, or didn't bootstrap from the example configuration.
2023-07-21[bugfix] Return all accounts when list accounts limit <= 0 (#2014)v0.10.0Libravatar tobi1
2023-07-20[docs] Apache setup for Caching assets and media (#2005) (#2005)Libravatar mirabilos1
Also change the nginx fileserver expiry, after discussion, to one week, to match.
2023-07-12[bugfix] Align default values in the configuration file with the code (#1971)Libravatar firescry9
* Set default value of SMTPFrom to empty string This parameter should contain proper e-mail address (to be provided by user during configuration). * Update default values in example/config.yaml Default values and related comments in example/config.yaml are aligned with values defined in internal/config/defaults.go. Small improvements to foramting of config.yaml file. * Add default value for AdvancedThrottlingRetryAfter to internal/config/defaults.go AdvancedThrottlingRetryAfter was introduced in 70739d3 (superseriousbusiness/gotosocial#1466). * Update config.yaml snippets in documentation
2023-07-09[chore] Fix password typos (#1966)Libravatar Daenney1
Fixes #1963
2023-07-07[feature] enable + document explicit IP dialer allowing/denying (#1950)v0.10.0-rc1Libravatar tobi2
* [feature] enable + document explicit IP dialer allowing/denying * lord have mercy * allee jonge * shortcut check ipv6 prefixes * comment * separate httpclient_test, export Sanitizer
2023-07-07[docs] Rework backups a bit (#1942)Libravatar Daenney2
* [docs] Rework backups a bit This changes the existing backup documentation to: * Push a bit harder on people to perform backups, it's not really just a nice to have * Removes the language about migrating to/from GoToSocial and a different ActivityPub server since that's really not supported * Adds a section about using backup software and provides an example on how to do this using Borgmatic * [docs] Remove too much info in db section * [docs] Add docs on how to backup local media This adds documentation pointing people at the media list-local command in order to determine what media files they need to include as part of their backups. Provides a Python script that people can use to transform the media listing from the CLI into Borg patterns. It also includes a Borgmatic config.yaml in the repository so people can easily fetch it instead of copy-pasting from the docs. * [bugfix] Ensure we emit an absolute path prefix It works either way, as a pattern like data/files/<ID> would match a file on /data/files/<ID>. But it would potentially also match any path that happens to include data/files/<ID> but not rooted at the storage-local-base-path. * [docs] Add more links to media list CLI reference
2023-07-07[feature] Add media list command (#1943)Libravatar Daenney1
* [feature] Add media list command This is an attempt to help alleviate #1776. Using admin media list --local the full path to each local media file will be printed, with a newline. The output of this should be feadable into backup tools in order to allow to backup local media too. Together with the database this should allow to fully recover from the loss of an instance. The list command also gets a --remote flag for symmetry. In the case of --remote we print the RemoteURL instead, the location the asset can be retrieved from. To get all media, you can run with --local and --remote. * [bugfix] Fix the test failures * [feature] Reimplement list media as top commands This changes the implementation of admin media list --<variant> to two separate top-level commands, list-local and list-remote. The implementation now iterates over over the database in batches of 200 in order to avoid loading all media metadata into memory. * [feature] Implement ListMedia with filter callback This does away with the somewhat odd iterator-like structure we had before and does away with most of the loop duplication in list-local and list-remote. Instead they call GetAllMediaPaths with a filter func to select the media they want. That's accumulated into a slice and eventually returned. * [bugfix] Simplify remote filter Since we don't append the empty string anywhere, the remote filter can be limited to returning RemoteURL, as that'll be an empty string for local media. * [docs] Add media list commands to CLI reference --------- Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com>