first commit

This commit is contained in:
video-prize-ranch
2022-12-04 12:07:27 -05:00
commit 1526650037
10 changed files with 136 additions and 0 deletions
+4
View File
@@ -0,0 +1,4 @@
# Librarian Docs
Unofficial Odysee API and Librarian documentation.
https://librarian.codeberg.page/docs/
Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

+1
View File
@@ -0,0 +1 @@
<svg height="512" viewBox="0 0 135.467 135.467" width="512" xmlns="http://www.w3.org/2000/svg"><g transform="translate(-200.526 -236.96) scale(3.90395)"><path d="m55.573 78.9 11.544 5.623 15.77-10.093-14.955-7.57-16.038 9.969v4.891l15.289 7.516 16.1-10.129" fill="none" stroke="#000007" stroke-width="1.058"/><ellipse cx="83.832" cy="78.308" fill="#1e88e5" fill-opacity=".997" rx="2.233" ry="2.38"/></g></svg>

After

Width:  |  Height:  |  Size: 409 B

+49
View File
@@ -0,0 +1,49 @@
This page describes multiple methods to install Librarian. The recommended method for production use is to install Librarian using Docker.
> **💡 Tip:** Use [Caddy](https://caddyserver.com/) as your web server for better performance and simplified setup. [Learn more >](https://bcow.xyz/posts/stop-using-nginx)
## Docker
Docker images for Librarian are available on [Codeberg](https://codeberg.org/librarian/-/packages/container/librarian/latest) for `linux/amd64` and `linux/arm64`. To get started, [install Docker](https://docs.docker.com/engine/install/) if it is not already installed.
Use `git` to clone the repository.
```sh
git clone https://codeberg.org/librarian/librarian
```
Copy the config file and edit it.
```sh
mkdir data
cp config.example.yml data/config.yml
nano data/config.yml
```
You can also edit `docker-compose.yml` if you want to change ports or build from source.
You can now run Librarian. 🎉
```sh
sudo docker compose up -d
```
## Build from source
If you need to make changes to the source code or do development, follow these instructions.
> Librarian is licensed under the [AGPL-3.0](https://www.gnu.org/licenses/agpl-3.0.en.html) and requires all source code modifications to be published under the same license.
You will need to use Go 1.16 or later. Follow the instructions to [install Go](https://go.dev/doc/install). If you are using Fedora or Arch Linux, you can also use your distribution's package manager to install Go (Ubuntu and Debian do not have recent Go versions, these will not work).
Use `git` to clone the repository.
```sh
git clone https://codeberg.org/librarian/librarian
```
Copy the config file and edit it.
```sh
cp config.example.yml config.yml
```
To run Librarian without building, use `go run main.go`.
To build a binary, use the following command. This will build a binary that can be used on any distro (for Linux), you can also cross-compile for different architectures and operating systems using the `GOARCH` and `GOOS` environment variables.
```
CGO_ENABLED=0 go build -ldflags "-X codeberg.org/video-prize-ranch/rimgo/pages.VersionInfo=$(date '+%Y-%m-%d')-$(git rev-list --abbrev-commit -1 HEAD)"
```
+3
View File
@@ -0,0 +1,3 @@
# Home
This is the documentation for the [Librarian](https://codeberg.org/librarian/librarian) project. It includes documentation on setting up and using Librarian, and unofficial Odysee API documentation.
+23
View File
@@ -0,0 +1,23 @@
These rules have been copied from [Invidious](https://docs.invidious.io/Invidious-Instances.md) with some changes.
1. Instances MUST have been updated in the last month. An instance that hasn't been updated in the last month is considered unmaintained and is removed from the list.
2. Instances MUST be served via domain name.
3. Instances MUST be served via HTTPS (or/and onion).
4. Instances using any DDoS Protection / MITM MUST be marked as such (eg: Cloudflare, DDoS-Guard...).
5. Instances using any type of anti-bot protection MUST be marked as such.
6. Instances MUST NOT use any type of analytics.
7. Any system whose goal is to modify the content served to the user (i.e web server HTML rewrite) is considered the same as modifying the source code. Instances running modified source code:
- MUST respect the AGPL by publishing their source code and stating their changes
- MUST publish any later modification in a timely manner
8. Instances MUST NOT serve ads NOR promote products.
9. Instances MUST fill out the Instance privacy section of the config file.
NOTE: We reserve the right to decline any instance from being added to the list, and to remove or ban any instance that repeatedly breaks the aforementioned rules.
+27
View File
@@ -0,0 +1,27 @@
Instance privacy aims to bring transparency to the data collected by frontends and to encourage privacy-friendly practices. There is often no privacy policy and users are forced to trust that the instance operator is not collecting data. However, there is a possibility that the instance operator can put false information so we encourage looking at other factors when selecting an instance.
## Data types
- IP Address - your IP address can be used to find the city you live in but it isn't very accurate and can change depending on your internet connection.
- Request URL - this is what is in the bar on your browser, it contains information like the video you're watching or channel you're looking at.
- Device Type - this contains the browser and device you're using.
- Diagnostics - when this data is only collected when there is an error and only a short amount of time while diagnosing an issue.
## For instance operators
You are probably unintenionally collecting the data above if you are using NGINX. If you use Traefik, enable `DATA_NOT_COLLECTED`, this setting overrides any other selections, otherwise follow the steps for other web servers below.
### NGINX
Add `access_log off;` to your server block in your NGINX config. If you wish to continue collecting the data, you will need to modify the config.yml file and select the types of data you are collecting.
### Caddy
Caddy logs all data types to stderr when there is a non-400 error code. If you wish to continue collecting the data, enable all types and Diagnostics. To disable, add the following to your Caddyfile:
```
domain.tld {
log {
output discard
}
# ...
}
```
### Traefik
Traefik does not collect data by default. If you have configured it to do so, select the types of data you are collecting.
+5
View File
@@ -0,0 +1,5 @@
---
title: RSS feeds
---
Librarian provides RSS feeds for channels. You can add them to your RSS reader by pasting in the channel URL (if your RSS app supports it), using the channel URL with /rss at the end, or using the "Subscribe" button. You can also enable enclosures by adding `?enclosure=true` to view content inside your RSS reader (if it is supported).
+9
View File
@@ -0,0 +1,9 @@
Librarian can be added to your browser as a search engine. This is less private than searching using the search bar and exposes your searches if the instance you use collects data and is saved to your browser history.
## Firefox
Right click the URL bar and click on "Add Librarian".
![](/assets/firefox-search.png)
## Chromium-based browsers
Make a search and the search engine should appear in settings.
+15
View File
@@ -0,0 +1,15 @@
site_name: Librarian Docs
repo_url: https://codeberg.org/librarian/librarian
repo_name: librarian/librarian
theme:
logo: assets/librarian.svg
favicon: assets/librarian.svg
name: material
features:
- navigation.instant
- navigation.tracking
- navigation.expand
- navigation.indexes
palette:
primary: white
accent: blue