summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)AuthorFiles
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>
2023-06-21[docs] Clarify email requirement for OIDC (#1918)Libravatar Daenney1
2023-06-21[feature] Add partial text search for accounts + statuses (#1836)Libravatar tobi1
2023-06-20[docs] Disambiguate docker version, don't recommend opening localhost (#1913)Libravatar tobi1
2023-06-19[chore] Fix Swagger paths for lists API endpoints (#1904)Libravatar Umar Getagazov1
2023-06-16[bugfix] Accept non-multipart forms for account updates (#1896)Libravatar Umar Getagazov1
* [bugfix] Update Swagger schema per max_profile_fields addition * [bugfix] Accept non-multipart forms for account updates
2023-06-13[docs] Add certificates and firewalling to advanced (#1888)Libravatar Daenney7
* [docs] Add a certificates guide in Advanced This adds some documentation about the process of getting certificates through ACME in general. It also provides a number of links to alternative clients and certbot deployment guides that are up to date. Slightly restructure the NGINX and Apache reverse proxy documentation and insert mentions to the Provisioning TLS certificates advanced documentation in them. * [docs] Add firewall section in Advanced * [docs] Add new guides to section indexes * [docs] Fix spelling issue * [docs] Fix a few typos
2023-06-12[docs] Made Advanced its own section (#1883)Libravatar Daenney11
* [docs] Made Advanced its own section This splits the Advanced page off from the Getting Started guide and makes it its own thing. It now has some additional sub-sections for bigger topics like caching and enhanced security. This also moves tracing from Getting Started to Advanced as that feels like a more appropriate location for it. The enhanced security looks a little silly with a single section, but I have guides pending for firewall configurations and I'd also like to consolidate our how to provision TLS certificates in there as we repeat this information multiple times. * [docs] Fix all my spelling errors * [docs] Inline the links in sandboxing
2023-06-10[docs] Revamp the installation guide (#1877)Libravatar Daenney15
This tries to revamp/restructure the installation guide. It's renamed to "Getting Started" as it now contains a few more things than just the installation, especially the deployment considerations which we didn't use to spell out as much ahead of time. Installation is now a section with the guides on their own. I've removed a bit of redundancy like the user creation. I also removed the rogue reverse proxy section in the Docker guide and lifted that into the reverse proxy section.
2023-06-09[docs] Add example tracing infrastructure (#1866)Libravatar Daenney2
This adds an example on how to get Grafana Tempo up to receive spans as well as Grafana itself to view them. I've added this as a separate Tracing doc in the installation guide as the Advanced one was starting to get rather full. Fixes: #1791
2023-06-04[bugfix/docs] AppArmor profile for SQLite (#1864)Libravatar Daenney1
Our default configuration places the SQLite DB in /gotosocial/, but the AppArmor profile doesn't allow us to write there. Instead of making the whole directory writable, add a writable area in /gotosocial/db/ instead and advise in the docs to move the DB there.
2023-06-04[docs] Add Repology stats (#1859)Libravatar Daenney1
Instead of a manually curated list of distribution packages, this adds the Repology[1] widget instead. This also separates out the distribution packages from the self-hosting/deployment options into their own sections. [1]: https://repology.org/project/gotosocial/versions
2023-05-26[docs] Update + simplify roadmap, revise beta estimate (#1826)Libravatar tobi1
2023-05-25[bugfix/docs] Fix clear notifications API docs (#1831)Libravatar Daenney1
The handler is already hooked to the right path, it's just the docs that were missing the path.
2023-05-25[feature] Configurable custom css length (#1827)Libravatar tobi1
* [feature] Make accounts custom css length configurable * test custom css validation
2023-05-25[feature] Add List functionality (#1802)Libravatar tobi2
* start working on lists * further list work * test list db functions nicely * more work on lists * peepoopeepoo * poke * start list timeline func * we're getting there lads * couldn't be me working on stuff... could it? * hook up handlers * fiddling * weeee * woah * screaming, pissing * fix streaming being a whiny baby * lint, small test fix, swagger * tidying up, testing * fucked! by the linter * move timelines to state like a boss * add timeline start to tests using state * invalidate lists
2023-05-21[chore] Replace pinafore with semaphore (#1801)Libravatar Julian-Samuel Gebühr5
* Replace pinafore with semaphore * Typo
2023-05-15[bugfix] Fix proxy_pass in named location (#1794)Libravatar Daenney1
A proxy_pass in a named location, @name, should not include a trailing slash.
2023-05-15[docs] remove nginx trailing slash (#1789)Libravatar tobi1
2023-05-13[docs] update instance splash and profile screenshots (#1775)Libravatar tobi2
2023-05-12[bugfix] Ensure account fields can be set by JSON (#1762)Libravatar tobi1
2023-05-09feat: initial tracing support (#1623)Libravatar Dominik Süß1
2023-05-09[feature] Enable federation in/out of profile PropertyValue fields (#1722)Libravatar tobi1
Co-authored-by: kim <grufwub@gmail.com> Co-authored-by: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>
2023-05-08[chore/performance] Make sender multiplier configurable (#1750)Libravatar tobi1
2023-05-06[feature] Implement the preferences client API (#1740)Libravatar Daenney1
This adds the preferences endpoint to our Mastodon Client API implementation. It's a read-only endpoint that returns a number of user preferences. Applications can query these settings when logging in a user (for the first time) to configure themselves.
2023-05-06[chore] update readthedocs deps, use conda (#1742)Libravatar tobi2
* [chore] update readthedocs deps, use conda * work this time thx
2023-05-04[bugfix] Serve correct 'application/jrd+json' content type for webfinger ↵Libravatar tobi1
requests (#1738) * [bugfix] Return `application/jrd+json` from webfinger queries * update finger req content-type
2023-05-04[bugfix] Rework notifs to use min_id for paging up (#1734)Libravatar tobi1
2023-04-29[feature] Add GET endpoint for single notification (#1719)Libravatar tobi1
2023-04-19[docs] Explain that markdown is enabled on the user settings page. (#1699)Libravatar Phil Hagelberg2
* Explain that markdown is enabled on the user settings page. The current wording seems to imply that the input formatting can be set on a per-post basis, which no client currently supports. It's not clear that you have to go to the user settings page to change it. * Update FAQ; some of the missing features are not missing any more!
2023-04-10[feature] Receive notification when followed account posts (if desired) (#1680)Libravatar tobi1
* start working on notifs for new posts * tidy up a bit * update swagger * carry over show reblogs + notify from follow req * test notify on status post * update column slice * dedupe update logic + add tests * fix own boosts not being timelined * avoid type check, passing unnecessary accounts * remove unnecessary 'inReplyToID' check * add a couple todo's for future db functions
2023-04-06[bugfix/chore] Refactor timeline code (#1656)Libravatar tobi1
* start poking timelines * OK yes we're refactoring, but it's nothing like the last time so don't worry * more fiddling * update tests, simplify Get * thanks linter, you're the best, mwah mwah kisses * do a bit more tidying up * start buggering about with the prepare function * fix little oopsie * start merging lists into 1 * ik heb een heel zwaar leven nee nee echt waar * hey it works we did it reddit * regenerate swagger docs * tidy up a wee bit * adjust paging * fix little error, remove unused functions
2023-04-06[bugfix] Always serialize orderedItems as array (#1673)Libravatar tobi1
2023-03-31[docs] Add MASH as 3rd party packaging (#1654)Libravatar Julian-Samuel Gebühr1
2023-03-27[chore] License sloth logo + default avatars under CC by-sa 4.0 (#1651)Libravatar tobi1
2023-03-19[feature] Email notifications for new / closed moderation reports (#1628)Libravatar tobi1
* start fiddling about with email sending to allow multiple recipients * do some fiddling * notifs working * notify on closed report * finishing up * envparsing * use strings.ContainsAny
2023-03-16[docs] Update docs on how to login (#1626)Libravatar Daenney1
This adds a section to the docs instructing how to ensure apps will be able to successfully login to an instance when host- and account-domain differ. Resolves #1609
2023-03-14[feature] Allow admins to send test emails (#1620)Libravatar tobi1
* [feature] Allow admins to send test emails * implement unwrap on new error type * add + use gtserror types * GoToSocial Email Test -> GoToSocial Test Email * add + use getInstance db call * removed unused "unknown" error type
2023-03-14[chore] fix + update swagger docs (#1622)Libravatar tobi1
2023-03-12[chore] Improve copyright header handling (#1608)Libravatar Daenney1
* [chore] Remove years from all license headers Years or year ranges aren't required in license headers. Many projects have removed them in recent years and it avoids a bit of yearly toil. In many cases our copyright claim was also a bit dodgy since we added the 2021-2023 header to files created after 2021 but you can't claim copyright into the past that way. * [chore] Add license header check This ensures a license header is always added to any new file. This avoids maintainers/reviewers needing to remember to check for and ask for it in case a contribution doesn't include it. * [chore] Add missing license headers * [chore] Further updates to license header * Use the more common // indentend comment format * Remove the hack we had for the linter now that we use the // format * Add SPDX license identifier
2023-03-09[feature] Provide .well-known/host-meta endpoint (#1604)Libravatar Daenney2
* [feature] Provide .well-known/host-meta endpoint This adds the host-meta endpoint as Mastodon clients use this to discover the API domain to use when the host and account domains aren't the same. * Address review comments
2023-03-04[feature] Allow loading TLS certs from disk (#1586)Libravatar Daenney2
Currently, GtS only supports using the built-in LE client directly for TLS. However, admins may still want to use GtS directly (so without a reverse proxy) but with certificates provided through some other mechanism. They may have some centralised way of provisioning these things themselves, or simply prefer to use LE but with a different challenge like DNS-01 which is not supported by autocert. This adds support for loading a public/private keypair from disk instead of using LE and reconfigures the server to use a TLS listener if we succeed in doing so. Additionally, being able to load TLS keypair from disk opens up the path to using a custom CA for testing purposes avoinding the need for a constellation of containers and something like Pebble or Step CA to provide LE APIs.
2023-03-03[bugfix] Federate status delete using just the URI (#1584)Libravatar tobi1