mirror of
https://github.com/gabehf/Koito.git
synced 2026-03-07 21:48:18 -08:00
docs: update docs
This commit is contained in:
parent
22f899ace3
commit
aa21a81980
5 changed files with 73 additions and 45 deletions
39
.github/workflows/docs.yml
vendored
Normal file
39
.github/workflows/docs.yml
vendored
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
name: Deploy docs to GitHub Pages
|
||||||
|
|
||||||
|
on:
|
||||||
|
# Trigger the workflow every time you push to the `main` branch
|
||||||
|
# Using a different branch name? Replace `main` with your branch’s name
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
# Allows you to run this workflow manually from the Actions tab on GitHub.
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# Allow this job to clone the repo and create a page deployment
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
pages: write
|
||||||
|
id-token: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout your repository using git
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Install, build, and upload your site output
|
||||||
|
uses: withastro/action@v4
|
||||||
|
with:
|
||||||
|
path: ./docs # The root location of your Astro project inside the repository. (optional)
|
||||||
|
# node-version: 22 # The specific version of Node that should be used to build your site. Defaults to 22. (optional)
|
||||||
|
package-manager: yarn@latest # The Node package manager that should be used to install dependencies and build your site. Automatically detected based on your lockfile. (optional)
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
needs: build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
environment:
|
||||||
|
name: github-pages
|
||||||
|
url: ${{ steps.deployment.outputs.page_url }}
|
||||||
|
steps:
|
||||||
|
- name: Deploy to GitHub Pages
|
||||||
|
id: deployment
|
||||||
|
uses: actions/deploy-pages@v4
|
||||||
|
|
@ -3,7 +3,20 @@ title: Importing Data
|
||||||
description: How to import your existing listening history from other services into Koito.
|
description: How to import your existing listening history from other services into Koito.
|
||||||
---
|
---
|
||||||
|
|
||||||
Koito currently supports two sources to import data from: **Spotify** and **Maloja**.
|
Koito currently supports the following sources to import data from:
|
||||||
|
- Spotify
|
||||||
|
- Maloja
|
||||||
|
- LastFM (using https://lastfm.ghan.nl/export/)
|
||||||
|
- ListenBrainz
|
||||||
|
|
||||||
|
:::note
|
||||||
|
ListenBrainz and LastFM imports can take a long time for large imports due to MusicBrainz requests being throttled at one per second. If you want
|
||||||
|
these imports to go faster, you can [disable MusicBrainz](/reference/configuration/#koito_disable_musicbrainz) in the config while running the importer. However, this
|
||||||
|
means that artist aliases will not be automatically fetched for imported artists. This also means that artists will not be associated with their MusicBrainz IDs internally,
|
||||||
|
which can lead to some artist matching issues, especially for people who listen to lots of foreign music. You can also use
|
||||||
|
[your own MusicBrainz mirror](https://musicbrainz.org/doc/MusicBrainz_Server/Setup) and
|
||||||
|
[disable MusicBrainz rate limiting](/reference/configuration/#koito_musicbrainz_url) in the config if you want imports to be faster.
|
||||||
|
:::
|
||||||
|
|
||||||
## Spotify
|
## Spotify
|
||||||
|
|
||||||
|
|
@ -26,3 +39,13 @@ Koito relies on file names to find files to import. If the files aren't being im
|
||||||
Maloja may have missing or inconsistent track duration information, which means that the 'Hours Listened' statistic may be incorrect after a Maloja import. However, track
|
Maloja may have missing or inconsistent track duration information, which means that the 'Hours Listened' statistic may be incorrect after a Maloja import. However, track
|
||||||
durations will be filled in as you submit listens using the API.
|
durations will be filled in as you submit listens using the API.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
## LastFM
|
||||||
|
|
||||||
|
First, create an export file using [this tool from ghan.nl](https://lastfm.ghan.nl/export/) in JSON format. Then, place the resulting file into the `import` folder in your config directory.
|
||||||
|
Once you restart Koito, it will automatically detect the file as a Last FM import, and begin adding your listen activity immediately.
|
||||||
|
|
||||||
|
## ListenBrainz
|
||||||
|
|
||||||
|
Create a ListenBrainz export file using [the export tool on the ListenBrainz website](https://listenbrainz.org/settings/export/). Then, place the resulting `.zip` file into the `import`
|
||||||
|
folder in your config directory. Once you restart Koito, your ListenBrainz activity will immediately start being imported.
|
||||||
|
|
@ -12,7 +12,6 @@ services:
|
||||||
container_name: koito
|
container_name: koito
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
user: 1000:1000
|
|
||||||
environment:
|
environment:
|
||||||
- KOITO_DATABASE_URL=postgres://postgres:secret_password@db:5432/koitodb
|
- KOITO_DATABASE_URL=postgres://postgres:secret_password@db:5432/koitodb
|
||||||
- KOITO_ALLOWED_HOSTS=koito.example.com,192.168.0.100
|
- KOITO_ALLOWED_HOSTS=koito.example.com,192.168.0.100
|
||||||
|
|
@ -34,39 +33,12 @@ services:
|
||||||
- ./db-data:/var/lib/postgresql/data
|
- ./db-data:/var/lib/postgresql/data
|
||||||
|
|
||||||
```
|
```
|
||||||
Or, you can use `docker run` commands. First, you need to run Postgres:
|
|
||||||
```sh
|
|
||||||
docker run \
|
|
||||||
--name psql \
|
|
||||||
--restart unless-stopped \
|
|
||||||
-e POSTGRES_DB=koitodb \
|
|
||||||
-e POSTGRES_USER=postgres \
|
|
||||||
-e POSTGRES_PASSWORD=secret_password \
|
|
||||||
-v ./db-data:/var/lib/postgresql/data \
|
|
||||||
-p 5432:5432 \
|
|
||||||
-d \
|
|
||||||
postgres:16
|
|
||||||
```
|
|
||||||
Then, run Koito:
|
|
||||||
```sh
|
|
||||||
docker run \
|
|
||||||
--name koito \
|
|
||||||
-u 1000:1000 \
|
|
||||||
-e KOITO_DATABASE_URL=postgres://postgres:secret_password@postgres_ip:5432/koitodb \
|
|
||||||
-e KOITO_ALLOWED_HOSTS=koito.example.com,192.168.0.100 \
|
|
||||||
-p 4110:4110 \
|
|
||||||
-v ./koito-data:/etc/koito \
|
|
||||||
--restart unless-stopped \
|
|
||||||
-d \
|
|
||||||
gabehf/koito:latest
|
|
||||||
```
|
|
||||||
Be sure to replace `secret_password` with a random password of your choice, and set `KOITO_ALLOWED_HOSTS` to include the domain name or IP address you will be accessing Koito
|
Be sure to replace `secret_password` with a random password of your choice, and set `KOITO_ALLOWED_HOSTS` to include the domain name or IP address you will be accessing Koito
|
||||||
from when using either of the Docker methods described above.
|
from when using either of the Docker methods described above.
|
||||||
|
|
||||||
Those are the two required environment variables. You can find a full list of configuration options in the [configuration reference](/reference/configuration).
|
Those are the two required environment variables. You can find a full list of configuration options in the [configuration reference](/reference/configuration).
|
||||||
|
|
||||||
When using `docker run`, you will also need to fill in the IP address of your postgres instance.
|
|
||||||
|
|
||||||
:::caution
|
:::caution
|
||||||
Setting `KOITO_ALLOWED_HOSTS=*` will allow requests from any host, but this is not recommended as it introduces security vulnerabilities.
|
Setting `KOITO_ALLOWED_HOSTS=*` will allow requests from any host, but this is not recommended as it introduces security vulnerabilities.
|
||||||
:::
|
:::
|
||||||
|
|
@ -75,13 +47,15 @@ Setting `KOITO_ALLOWED_HOSTS=*` will allow requests from any host, but this is n
|
||||||
|
|
||||||
If you don't want to use docker, you can also build the application from source.
|
If you don't want to use docker, you can also build the application from source.
|
||||||
|
|
||||||
First, you need to install dependencies. Koito relies on `libvips-dev` to process images.
|
First, you need to install dependencies. Koito relies on `make`, `yarn` for building the client, and `libvips-dev` to process images.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo apt install libvips-dev
|
sudo apt install libvips-dev make npm
|
||||||
|
sudo npm install --global yarn
|
||||||
```
|
```
|
||||||
|
|
||||||
If you aren't installing on an Ubuntu or Debian based system, you can find other ways to install `libvips-dev` on the [libvips wiki](https://github.com/libvips/libvips/wiki/)
|
If you aren't installing on an Ubuntu or Debian based system, you can easily find ways to install make, npm, and yarn by googling, and
|
||||||
|
you can find other ways to install `libvips-dev` on the [libvips wiki](https://github.com/libvips/libvips/wiki/).
|
||||||
|
|
||||||
Then, clone the repository and execute the build command using the included Makefile:
|
Then, clone the repository and execute the build command using the included Makefile:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,9 @@ Koito is configured using **environment variables**. This is the full list of co
|
||||||
##### KOITO_MUSICBRAINZ_URL
|
##### KOITO_MUSICBRAINZ_URL
|
||||||
- Default: `https://musicbrainz.org`
|
- Default: `https://musicbrainz.org`
|
||||||
- Description: The URL Koito will use to contact MusicBrainz. Replace this value if you have your own MusicBrainz mirror.
|
- Description: The URL Koito will use to contact MusicBrainz. Replace this value if you have your own MusicBrainz mirror.
|
||||||
|
##### KOITO_MUSICBRAINZ_RATE_LIMIT
|
||||||
|
- Default: `1`
|
||||||
|
- Description: The number of requests to send to the MusicBrainz server per second. Unless you are using your own MusicBrainz mirror, __do not touch this value__.
|
||||||
##### KOITO_ENABLE_LBZ_RELAY
|
##### KOITO_ENABLE_LBZ_RELAY
|
||||||
- Default: `false`
|
- Default: `false`
|
||||||
- Description: Set to `true` if you want to relay requests from the ListenBrainz endpoints on your Koito server to another ListenBrainz compatible server.
|
- Description: Set to `true` if you want to relay requests from the ListenBrainz endpoints on your Koito server to another ListenBrainz compatible server.
|
||||||
|
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
---
|
|
||||||
title: Example Reference
|
|
||||||
description: A reference page in my new Starlight docs site.
|
|
||||||
---
|
|
||||||
|
|
||||||
Reference pages are ideal for outlining how things work in terse and clear terms.
|
|
||||||
Less concerned with telling a story or addressing a specific use case, they should give a comprehensive outline of what you're documenting.
|
|
||||||
|
|
||||||
## Further reading
|
|
||||||
|
|
||||||
- Read [about reference](https://diataxis.fr/reference/) in the Diátaxis framework
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue