Compare commits

...

4 Commits

5 changed files with 55 additions and 72 deletions

View File

@ -1,17 +1,17 @@
# Contributing
Pull requests are welcome. If you are unfamilair with MkDocs/Material for MkDocs sctructure, look through [their documentation](https://squidfunk.github.io/mkdocs-material) for general idea for how it's structured and handy references.
Pull requests are welcome. If you are unfamilair with MkDocs/Material for MkDocs structure, look through [their documentation](https://squidfunk.github.io/mkdocs-material) for general idea for how it's structured and handy references.
## Contributing from the site via edit button
1. At the top of every page you will find an edit button
2. Cliking on it will open GitHub where you will be met with a message about not being able to edit directly.
2. Clicking on it will open GitHub where you will be met with a message about not being able to edit directly.
3. Click `Fork this repository`.
4. You should see the text editor now.
5. Make the changes to the page you want and scroll to the bottom.
6. Add a short comment to explains your changes and click `Propose changes`.
6. Add a short comment to explain your changes and click `Propose changes`.
7. Next page might look complicated, but all you need to do next is click `Create pull request`.
8. Here you can adjust the title and/or add extra comment and then click `Create pull request`.
8. Here you can adjust the title and/or add an extra comment and then click `Create pull request`.
9. That's it!
## Contributing directly from the repository
@ -19,9 +19,9 @@ Pull requests are welcome. If you are unfamilair with MkDocs/Material for MkDocs
1. Go to the `docs` folder.
2. Open any .md file and click 🖉 (or `E` on your keyboard) to start editing.
3. Make the changes to the page you want and scroll to the bottom.
4. Add a short comment to explains your changes and click `Propose changes`.
4. Add a short comment to explain your changes and click `Propose changes`.
5. Next page might look complicated, but all you need to do next is click `Create pull request`.
6. Here you can adjust the title and/or add extra comment and then click `Create pull request`.
6. Here you can adjust the title and/or add an extra comment and then click `Create pull request`.
7. That's it!
## Contributing from the forked repository
@ -31,8 +31,8 @@ Pull requests are welcome. If you are unfamilair with MkDocs/Material for MkDocs
3. Go to the `docs` folder.
4. Open any .md file and click 🖉 (or `E` on your keyboard) to start editing.
5. Make the changes to the page you want and scroll to the bottom.
6. Add a short comment to explains your changes and select `Create a new branch for this commit and start a pull request.`. You can name the branch whatever you want or leave the default.
6. Add a short comment to explain your changes and select `Create a new branch for this commit and start a pull request.`. You can name the branch whatever you want or leave the default.
7. Click `Propose changes`.
8. Next page might look complicated, but all you need to do next is click `Create pull request`.
9. Here you can adjust the title and/or add extra comment and then click `Create pull request`.
9. Here you can adjust the title and/or add an extra comment and then click `Create pull request`.
10. That's it!

View File

View File

@ -1,45 +0,0 @@
---
title: Run CDP on TrueNAS Scale
hide:
- toc
---
!!! info
Written by [WiiGe](https://github.com/WiiGe){:target="_blank"}. Originally posted on stashapp/stash discussions[^1].
A way to use CDP scraper on TrueNAS Scale and install chromedp/headless-shell on TrueNAS Scale.
People using stash-app on TrueNAS Scale like me may face the problem that no supported CDP app by truecharts or truenas , and now I found a way to properly run [chromedp/headless-shell](https://github.com/chromedp/docker-headless-shell){:target="_blank"}.
This can be done by custom-app.
![image](../assets/guides/run-cdp-on-truenas-scale/1.png){ width=300 align=center }
According to [docker hub page of chromedp/headless-shell](https://hub.docker.com/r/chromedp/headless-shell/){:target="_blank"}, we start container with `docker run -d -p 9222:9222 --rm --name headless-shell --shm-size 2G chromedp/headless-shell`, but this's not enough for TrueNAS Scale which run everything with K3s.
In order to run a docker image on K3s, we need to warp docker image with [custom-app](https://truecharts.org/charts/stable/custom-app/){:target="_blank"}, fill the Container Repository with `chromedp/headless-shell` and Container Tag with `latest` so that TrueNAS can pull the image for you.
![image](../assets/guides/run-cdp-on-truenas-scale/2.png){ width=300 align=center }
As for the docker args `docker run -d -p 9222:9222 --rm --name headless-shell --shm-size 2G chromedp/headless-shell`, we need to translate the args and env parameter into custom-app configuration. Under the Workload Settings section of custom-app configuration page, there will be a list of Extra Args, we put `--name headless-shell --shm-size 2G` here in custom-app way.
![image](../assets/guides/run-cdp-on-truenas-scale/3.png){ width=200 align=center }
But due to [this issue](https://github.com/Zenika/alpine-chrome/issues/109#issuecomment-1998061550){:target="_blank"}, K3s will report an error of zygote: `ERROR:zygote_host_impl_linux.cc(262)] Failed to adjust OOM score of renderer with pid 28: Permission denied (13)`, solution is simple - just offer extra args to disable it :`--headless --disable-gpu --no-sandbox --no-zygote --disable-software-rasterizer --disable-dev-shm-usage`.
`--remote-debugging-address=0.0.0.0 --remote-debugging-port=9222` is not needed because we will set port and ip on Networking and Services section for LoadBalancer (I am using 192.168.1.45 and 9222, change it for your own scenario).
The Networking section and the final Extra Args page should be like this:
![image](../assets/guides/run-cdp-on-truenas-scale/4.png){ width=200 align=center }
![image](../assets/guides/run-cdp-on-truenas-scale/5.png){ width=200 align=center }
and click Install button then your headless-shell will be good to go.
The last step: just fill stash's CDP setting with `http://192.168.1.45:9222/json/version`(still, change ip:port for your own scenario), and now cdp should be running for you.
An extra note is Ingress section of custom-app, you may want to use chromedp/headless-shell remotely (e.g. accessing cdp by https://cdp.example.com/json/version), you need to modify the header of request with SetHeader function, see [Host header is specified and is not an IP address or localhost](https://github.com/chromedp/chromedp/issues/505){:target="_blank"}. Obviously stash scraper do not support such operation, write your own scraper in this circumstances.
I just put the info I found together and share here, hope this page help more people who try to use CDP scraper on K3s-based OS.
[^1]: [https://github.com/stashapp/stash/discussions/4719](https://github.com/stashapp/stash/discussions/4719){target=_blank}

View File

@ -4,35 +4,65 @@ title: stash-box instances
### FansDB
FansDB is a community-driven metadata database focused on adult content platforms (OnlyFans, Fansly, ManyVids, etc.) where the independent creators are the primary focus.
<div class="grid cards" markdown>
[:octicons-link-16: Website](https://fansdb.cc){:target="_blank"} | [:fontawesome-regular-file-lines: Guidelines](https://docs.fansdb.cc){:target="_blank"} | [:simple-discord: Discord](https://discord.gg/dhJaFAgYAj){:target="_blank"} | [:material-api: Endpoint `https://fansdb.cc/graphql`]() | [:fontawesome-solid-unlock-keyhole: Join](https://docs.fansdb.cc/#accessing-fansdb){:target="_blank"}
- FansDB is a community-driven metadata database focused on adult content platforms (OnlyFans, Fansly, ManyVids, etc.) where the independent creators are the primary focus.
---
[:octicons-link-16: Website](https://fansdb.cc){:target="_blank"} ⋅ [:fontawesome-regular-file-lines: Guidelines](https://docs.fansdb.cc){:target="_blank"} ⋅ [:simple-discord: Discord](https://discord.gg/dhJaFAgYAj){:target="_blank"} ⋅ [:material-api: Endpoint `https://fansdb.cc/graphql`]() ⋅ [:fontawesome-solid-unlock-keyhole: Join](https://docs.fansdb.cc/#accessing-fansdb){:target="_blank"}
</div>
### JAVStash
JAVStash is a metadata database focused on Japanese Adult Video (JAV) content and their original metadata in Japanese. Primarily driven by automated scrapers.
<div class="grid cards" markdown>
[:octicons-link-16: Website](https://javstash.org){:target="_blank"} | [:simple-discord: Discord](https://discord.gg/jq2anJbxDb){:target="_blank"} | [:material-api: Endpoint `https://javstash.org/graphql`]() | [:fontawesome-solid-unlock-keyhole: Join](https://discord.com/channels/1270524250213842975/1271147030496018472){:target="_blank"}[^1]
- JAVStash is a metadata database focused on Japanese Adult Video (JAV) content and their original metadata in Japanese. Primarily driven by automated scrapers.
---
[:octicons-link-16: Website](https://javstash.org){:target="_blank"} ⋅ [:simple-discord: Discord](https://discord.gg/jq2anJbxDb){:target="_blank"} ⋅ [:material-api: Endpoint `https://javstash.org/graphql`]() ⋅ [:fontawesome-solid-unlock-keyhole: Join](https://discord.com/channels/1270524250213842975/1271147030496018472){:target="_blank"}[^1]
</div>
### PMV Stash
PMV Stash is a community-driven metadata database focused on remixed pornographic art such as Porn Music Videos (PMV), Cock Hero (CH), Hypno Vids, Compilations.
<div class="grid cards" markdown>
[:octicons-link-16: Website](https://pmvstash.org){:target="_blank"} | [:fontawesome-regular-file-lines: Guidelines](https://blog.pmvstash.org/guidelines){:target="_blank"} | [:simple-discord: Discord](https://discord.gg/qGbs8kvpVk){:target="_blank"} | [:material-api: Endpoint `https://pmvstash.org/graphql`]() | [:fontawesome-solid-unlock-keyhole: Join](https://blog.pmvstash.org){:target="_blank"}
- PMV Stash is a community-driven metadata database focused on remixed pornographic art such as Porn Music Videos (PMV), Cock Hero (CH), Hypno Vids, Compilations.
---
[:octicons-link-16: Website](https://pmvstash.org){:target="_blank"} ⋅ [:fontawesome-regular-file-lines: Guidelines](https://blog.pmvstash.org/guidelines){:target="_blank"} ⋅ [:simple-discord: Discord](https://discord.gg/qGbs8kvpVk){:target="_blank"} ⋅ [:material-api: Endpoint `https://pmvstash.org/graphql`]() ⋅ [:fontawesome-solid-unlock-keyhole: Join](https://blog.pmvstash.org){:target="_blank"}
</div>
### StashDB
StashDB is a community-driven metadata database focused on digital scenes of all orientations.
<div class="grid cards" markdown>
[:octicons-link-16: Website](https://stashdb.org){:target="_blank"} | [:fontawesome-regular-file-lines: Guidelines](https://guidelines.stashdb.org){:target="_blank"} | [:fontawesome-brands-discourse: Community forum](https://discourse.stahapp.cc){:target="_blank"} | [:simple-discord: Discord](https://discord.com/invite/2TsNFKt){:target="_blank"} | [:material-api: Endpoint `https://stashdb.org/graphql`]() | [:fontawesome-solid-unlock-keyhole: Join](https://guidelines.stashdb.org/docs/faq_getting-started/stashdb/accessing-stashdb){:target="_blank"}
- StashDB is a community-driven metadata database focused on digital scenes of all orientations.
---
[:octicons-link-16: Website](https://stashdb.org){:target="_blank"} ⋅ [:fontawesome-regular-file-lines: Guidelines](https://guidelines.stashdb.org){:target="_blank"} ⋅ [:fontawesome-brands-discourse: Community forum](https://discourse.stahapp.cc){:target="_blank"} ⋅ [:simple-discord: Discord](https://discord.com/invite/2TsNFKt){:target="_blank"} ⋅ [:material-api: Endpoint `https://stashdb.org/graphql`]() ⋅ [:fontawesome-solid-unlock-keyhole: Join](https://guidelines.stashdb.org/docs/faq_getting-started/stashdb/accessing-stashdb){:target="_blank"}
</div>
### ThePornDB[^2]
ThePornDB is a metadata database focused on digital scenes and movies. Driven by automated scrapers.
<div class="grid cards" markdown>
[:octicons-link-16: Website](https://theporndb.net){:target="_blank"} | [:simple-discord: Discord](https://discord.com/invite/XpSGpaB){:target="_blank"} | [:material-api: Endpoint `https://theporndb.net/graphql`]()[^3] | [:fontawesome-solid-unlock-keyhole: Join](https://theporndb.net/tools){:target="_blank"}[^4]
- ThePornDB is a metadata database focused on digital scenes and movies. Driven by automated scrapers.
[^1]: Link leads to a private Discord server. If you are getting that the link is invalid, make sure to join the private Discord server first!
[^2]: Uses proprietary implemetation of stash-box API.
[^3]: Has a different endpoint for movies and JAV. For movies use `https://theporndb.net/graphql?type=Movie`, for JAV use `https://theporndb.net/graphql?type=JAV`.
---
[:octicons-link-16: Website](https://theporndb.net){:target="_blank"} ⋅ [:simple-discord: Discord](https://discord.com/invite/XpSGpaB){:target="_blank"} ⋅ [:material-api: Endpoint `https://theporndb.net/graphql`]()[^3] ⋅ [:fontawesome-solid-unlock-keyhole: Join](https://theporndb.net/tools){:target="_blank"}[^4]
</div>
[^1]: Link leads to a private Discord server. If you receive an 'invalid link' message, make sure to join the private Discord server first!
[^2]: Uses proprietary implementation of stash-box API.
[^3]: On your profile page on ThePornDB website, configure GraphQL Manager **Scene Type** to **Any** if you want to get results for movies and JAV.
[^4]: Requires registration to access the site.

View File

@ -59,10 +59,6 @@ plugins:
- search
- git-revision-date-localized:
enable_creation_date: true
- git-committers:
repository: stashapp/Stash-Docs
branch: main
enabled: !ENV [CI, false]
- glightbox
- social:
enabled: !ENV [CI, false]
@ -72,6 +68,7 @@ plugins:
'beginner-guides/exclude-file-configuration.md': 'in-app-manual/configuration.md'
'add-ons.md': 'plugins/index.md'
'faq/setup.md': 'https://discourse.stashapp.cc/t/-/1658'
'guides/community-wiki/index.md': 'https://discourse.stashapp.cc/tags/c/community-wiki/22/stash'
watch:
- includes
@ -155,11 +152,12 @@ nav:
- Backup and restore database: guides/backup-and-restore-database.md
- Reverse proxy: guides/reverse-proxy.md
- Troubleshooting video playback: guides/troubleshooting-video-playback.md
- Run CDP on TrueNAS Scale: guides/run-cdp-on-truenas-scale.md
- Advanced configuration options: guides/advanced-configuration-options.md
- Bulk importing via CSV using gql-iterate: guides/importing-via-csv-using-gql-iterate.md
- Manually editing the Stash sqlite3 database: guides/manually-editing-the-stash-sqlite3-database.md
- Scraping metadata behind login: guides/scraping-metadata-behind-login.md
- Community wiki:
- guides/community-wiki/index.md
- Metadata sources:
- metadata-sources/index.md
- stash-box instances: metadata-sources/stash-box-instances.md