7 Commits

Author SHA1 Message Date
3bec3f6b1a ⬆️ Bumped up to v3.0 2024-02-24 22:06:48 -05:00
0116b98819 Merge pull request #4 from rishighan/original-folder-state
Original folder state
2023-01-09 10:10:59 -08:00
bb9474bf98 Merge pull request #3 from timbroder/patch-1
Updated Discord Link
2023-01-09 10:05:39 -08:00
Tim Broder
23b3033a94 Updated Discord LinkUpdate to a non-expiring link per [this](69ccbd3b55) commit 2023-01-09 10:08:13 -05:00
b927acad04 🔼 Bumped docusaurus and fixed malformed yaml 2022-09-12 12:51:28 -07:00
0ad5eeda71 ✏️ Added unRAID docker-compose install docs 2022-05-23 23:02:37 -07:00
652c97bdf0 Merge pull request #1 from rishighan/documentation
🚀 Added a logo
2021-10-12 13:08:45 -07:00
6 changed files with 6035 additions and 4289 deletions

View File

@@ -39,7 +39,7 @@ jobs:
- name: Release to GitHub Pages
env:
USE_SSH: true
GIT_USER: git
GIT_USER: rishighan
run: |
git config --global user.email "rishi.ghan@gmail.com"
git config --global user.name "rishighan"

View File

@@ -0,0 +1,203 @@
---
sidebar_position: 2
id: unRAID_dockercompose
title: Install ThreeTwo! on unRAID with the docker-compose plugin
---
### Notes
This guide goes over ThreeTwo! installation on unRAID using the [docker-compose manager](https://forums.unRAID.net/topic/114415-plugin-docker-compose-manager/) plugin. Currently, this is the recommended approach for unRAID users.
With the help of this plugin, you are able to pull the entire ThreeTwo! `docker-compose` stack up, down with the click of a button. It abstracts away a lot of complexity associated with writing out commands in the console.
That said, the plugin is still in beta, so you may experience strange behavior.
### Pre-requisites
First things first, let's go over what the pre-requisites are:
1. The `docker-compose` configuration for ThreeTwo! now resides in its own repo here: https://github.com/rishighan/threetwo-docker-compose You will be using this as reference.
2. A working `AirDC++` install is necessary for `DC++` searching/downloading to work. You can install it through the unRAID via the CA store or via a [docker](https://airdcpp.net/download#linux-nas-docker-other)
3. `comics` and `userdata` folders.
1. The `comics` folder _must_ be the folder `AirDC++` downloads comics to.
2. Create the `userdata` folder under `/mnt/user/appdata/threetwo`
4. To get ComicVine to work for metadata scraping and other functions, you _must_ have a ComicVine API key. You can get one [here](https://comicvine.gamespot.com/api/). Metadata scraping will not work unless you supply an API key.
5. Open an unRAID terminal and create an `.env` file:
1. Run this command: `nano /boot/config/plugins/compose.manager/projects/ThreeTwo/.env`
2. Paste this into the file, replacing anything within `<>` with actual values:
```bash
UNDERLYING_HOSTNAME=<UNRAID_HOSTNAME>
COMICS_DIRECTORY=<PATH_TO_COMICS_DIRECTORY>
USERDATA_DIRECTORY=/mnt/user/appdata/threetwo/userdata
COMICVINE_API_KEY=<YOUR_COMICVINE_API_KEY>
LOGGER=true
LOGLEVEL=info
SERVICEDIR=dist/services
CHOKIDAR_USEPOLLING=true
UNRAR_BIN_PATH=/usr/bin/unrar
SEVENZ_BINARY_PATH=/usr/bin/7za
MONGO_URI=mongodb://db:27017/threetwo
ELASTICSEARCH_URI=http://elasticsearch:9200
REDIS_URI=redis://redis:6379
TRANSPORTER=redis://redis:6379
CACHER=Memory
```
### Installation
1. Install the `docker-compose manager` plugin from the unRAID CA store. After installation, you can find the plugin UI under the `Docker` tab.
2. Create a new stack, give it a name.
3. Hover over the gear next to it and click on `Edit Stack`.
4. Copy-paste this into the textarea:
```yaml
version: "3.7"
x-userdata-volume: &userdata-volume
type: bind
source: ${USERDATA_DIRECTORY}
target: /userdata
x-comics-volume: &comics-volume
type: bind
source: ${COMICS_DIRECTORY}
target: /comics
services:
threetwo:
build:
context: https://github.com/rishighan/threetwo.git
dockerfile: Dockerfile
image: frishi/threetwo
container_name: threetwo-ui
env_file: /boot/config/plugins/compose.manager/projects/ThreeTwo/.env
restart: unless-stopped
ports:
- "8050:8050"
- "3050:3050"
links:
- core-services
depends_on:
- db
- elasticsearch
- redis
networks:
- proxy
metadata-service:
build:
context: https://github.com/rishighan/threetwo-metadata-service.git
image: frishi/threetwo-metadata-service
container_name: metadata-service
ports:
- "3080:3080"
environment:
SERVICES: api,comicvine
env_file: /boot/config/plugins/compose.manager/projects/ThreeTwo/.env
depends_on:
- redis
volumes:
- *comics-volume
- *userdata-volume
networks:
- proxy
core-services:
build:
context: https://github.com/rishighan/threetwo-core-service.git
image: frishi/threetwo-core-service
container_name: core-services
ports:
- "3000:3000"
- "3001:3001"
depends_on:
- db
- redis
- elasticsearch
environment:
name: core-services
SERVICES: api,library,importqueue,settings,search,socket,imagetransformation,opds
env_file: /boot/config/plugins/compose.manager/projects/ThreeTwo/.env
volumes:
- *comics-volume
- *userdata-volume
networks:
- proxy
db:
image: "bitnami/mongodb:latest"
container_name: database
networks:
- proxy
ports:
- "27017:27017"
volumes:
- "mongodb_data:/bitnami/mongodb"
redis:
image: "bitnami/redis:latest"
container_name: queue
environment:
ALLOW_EMPTY_PASSWORD: "yes"
networks:
- proxy
ports:
- "6379:6379"
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.16.2
container_name: elasticsearch
environment:
- "discovery.type=single-node"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "xpack.security.enabled=true"
- "xpack.security.authc.api_key.enabled=true"
- "ELASTIC_PASSWORD=password"
ulimits:
memlock:
soft: -1
hard: -1
ports:
- 9200:9200
networks:
- proxy
networks:
proxy:
external: true
volumes:
mongodb_data:
driver: local
elastic:
driver: local
```
5. Click `Save Changes`
6. Click `Compose Up` and check for errors.
7. If all goes well, you should see the following containers appear as icons without images in the unRAID `Docker Containers` panel:
1. `threetwo-ui`
2. `core-services`
3. `metadata-service`
4. `elasticsearch`
5. `database`
6. `queue`
8. You can look at the logs for these containers by clicking on their icons and then `Logs`
### Ports
1. `threetwo-ui`, runs on port 8050
2. `threetwo-core-service` on 3000
3. `threetwo-metadata-service` on 3080
### Getting Updates
Go to the `Docker Containers` tab from the unRAID web UI:
1. Click on `Compose Down`, and let the command finish running.
2. Click on `Compose Pull`, and let it finish running.
3. Click on `Compose Up` to bring up the stack.

View File

@@ -1,39 +1,40 @@
// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion
const lightCodeTheme = require('prism-react-renderer/themes/github');
const darkCodeTheme = require('prism-react-renderer/themes/dracula');
// const lightCodeTheme = require("prism-react-renderer/themes/github");
// const darkCodeTheme = require("prism-react-renderer/themes/dracula");
import { themes } from "prism-react-renderer";
console.log("endha", themes);
/** @type {import('@docusaurus/types').Config} */
const config = {
title: 'ThreeTwo!',
tagline: 'Start Flipping!',
url: 'https://rishighan.github.io',
baseUrl: '/threetwo-docs/',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
favicon: 'img/favicon.ico',
organizationName: 'rishighan', // Usually your GitHub org/user name.
projectName: 'threetwo-docs', // Usually your repo name.
title: "ThreeTwo!",
tagline: "Start Flipping!",
url: "https://rishighan.github.io",
baseUrl: "/threetwo-docs/",
onBrokenLinks: "throw",
onBrokenMarkdownLinks: "warn",
favicon: "img/favicon.ico",
organizationName: "rishighan", // Usually your GitHub org/user name.
projectName: "threetwo-docs", // Usually your repo name.
presets: [
[
'@docusaurus/preset-classic',
"@docusaurus/preset-classic",
/** @type {import('@docusaurus/preset-classic').Options} */
({
docs: {
sidebarPath: require.resolve('./sidebars.js'),
sidebarPath: require.resolve("./sidebars.js"),
// Please change this to your repo.
editUrl: 'https://github.com/facebook/docusaurus/edit/main/website/',
editUrl: "https://github.com/facebook/docusaurus/edit/main/website/",
},
blog: {
showReadingTime: true,
// Please change this to your repo.
editUrl:
'https://github.com/facebook/docusaurus/edit/main/website/blog/',
"https://github.com/facebook/docusaurus/edit/main/website/blog/",
},
theme: {
customCss: require.resolve('./src/css/custom.css'),
customCss: require.resolve("./src/css/custom.css"),
},
}),
],
@@ -43,61 +44,61 @@ const config = {
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
navbar: {
title: 'ThreeTwo!',
title: "ThreeTwo!",
logo: {
alt: 'My Site Logo',
src: 'img/threetwo.png',
alt: "My Site Logo",
src: "img/threetwo.png",
},
items: [
{
type: 'doc',
docId: 'intro',
position: 'left',
label: 'Quick Start',
type: "doc",
docId: "intro",
position: "left",
label: "Quick Start",
},
{to: '/blog', label: 'Blog', position: 'left'},
{ to: "/blog", label: "Blog", position: "left" },
{
href: 'https://github.com/rishighan/threetwo',
label: 'GitHub',
position: 'right',
href: "https://github.com/rishighan/threetwo",
label: "GitHub",
position: "right",
},
],
},
footer: {
style: 'dark',
style: "dark",
links: [
{
title: 'Docs',
title: "Docs",
items: [
{
label: 'Tutorial',
to: '/docs/intro',
label: "Tutorial",
to: "/docs/intro",
},
],
},
{
title: 'Community',
title: "Community",
items: [
{
label: 'Github',
href: 'https://github.com/rishighan/threetwo',
label: "Github",
href: "https://github.com/rishighan/threetwo",
},
{
label: 'Discord',
href: 'https://discord.gg/DbpcSNuM',
label: "Discord",
href: "https://discord.gg/n4HZ4j33uT",
},
],
},
{
title: 'More',
title: "More",
items: [
{
label: 'Blog',
to: '/blog',
label: "Blog",
to: "/blog",
},
{
label: 'Rishi Ghan',
href: 'https://rishighan.com',
label: "Rishi Ghan",
href: "https://rishighan.com",
},
],
},
@@ -105,11 +106,12 @@ const config = {
copyright: `Copyright © ${new Date().getFullYear()} Quasar Software, LLC. Built with Docusaurus.`,
},
colorMode: {
disableSwitch: true,
disableSwitch: false,
respectPrefersColorScheme: false,
},
prism: {
theme: lightCodeTheme,
darkTheme: darkCodeTheme,
theme: themes.github,
darkTheme: themes.dracula,
},
}),
};

View File

@@ -15,21 +15,25 @@
"typecheck": "tsc"
},
"dependencies": {
"@docusaurus/core": "^2.0.0-beta.6",
"@docusaurus/preset-classic": "^2.0.0-beta.6",
"@mdx-js/react": "^1.6.21",
"@docusaurus/core": "^3.1.1",
"@docusaurus/preset-classic": "^3.1.1",
"@mdx-js/react": "^3.0.0",
"@svgr/webpack": "^5.5.0",
"clsx": "^1.1.1",
"file-loader": "^6.2.0",
"prism-react-renderer": "^1.2.1",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"prism-react-renderer": "^2.3.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"url-loader": "^4.1.1"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "2.0.0-beta.6",
"@tsconfig/docusaurus": "^1.0.4",
"typescript": "^4.3.5"
"@docusaurus/module-type-aliases": "^3.1.1",
"@docusaurus/tsconfig": "^3.1.1",
"@docusaurus/types": "^3.1.1",
"@types/react": "^18.2.29"
},
"engines": {
"node": ">=18.0"
},
"browserslist": {
"production": [

View File

@@ -17,7 +17,7 @@ function HomepageHeader() {
<Link
className="button button--secondary button--lg"
to="/docs/intro">
Introduce me! 🚀
Start Flipping!
</Link>
</div>
</div>

10003
yarn.lock

File diff suppressed because it is too large Load Diff