Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
vscodev committed Dec 20, 2024
0 parents commit 56ac156
Show file tree
Hide file tree
Showing 6 changed files with 248 additions and 0 deletions.
54 changes: 54 additions & 0 deletions .github/workflows/docker-image-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Publish Docker dev image

on:
workflow_dispatch:

jobs:
docker:
runs-on: ubuntu-latest

permissions:
packages: write

steps:
- name: Checkout
uses: actions/checkout@v4
with:
repository: ${{ secrets.GH_REPO }}
token: ${{ secrets.GH_PAT }}

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: 'web/package.json'
check-latest: true
cache: 'yarn'
cache-dependency-path: 'web/yarn.lock'

- name: Build frontend
run: |
yarn install --frozen-lockfile --non-interactive
yarn quasar build
cp -a dist/spa/. $GITHUB_WORKSPACE/public/dist/
working-directory: ./web

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
platforms: linux/amd64
push: true
tags: ghcr.io/vscodev/kikoeru:dev
54 changes: 54 additions & 0 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Publish Docker image

on:
workflow_dispatch:

jobs:
docker:
runs-on: ubuntu-latest

permissions:
packages: write

steps:
- name: Checkout
uses: actions/checkout@v4
with:
repository: ${{ secrets.GH_REPO }}
token: ${{ secrets.GH_PAT }}

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: 'web/package.json'
check-latest: true
cache: 'yarn'
cache-dependency-path: 'web/yarn.lock'

- name: Build frontend
run: |
yarn install --frozen-lockfile --non-interactive
yarn quasar build
cp -a dist/spa/. $GITHUB_WORKSPACE/public/dist/
working-directory: ./web

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/386,linux/arm/v6,linux/s390x
push: true
tags: ghcr.io/vscodev/kikoeru:latest
31 changes: 31 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Created by .ignore support plugin (hsz.mobi)
### Go template
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib

# Test binary, built with `go test -c`
*.test

# Output of the go coverage tool, specifically when used with LiteIDE
*.out

# Dependency directories (remove the comment below to include it)
# vendor/
public/dist/*
!public/dist/README.md

# JetBrains
.idea/

# MacOS
.DS_Store
.AppleDouble
.LSOverride

# Kikoeru
kikoeru
kikoeru.log
93 changes: 93 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Kikoeru

一个自托管的DLsite音声作品整理和媒体播放软件,为你提供极致的音声视听体验。

![screenshot](screenshot.png)

## 功能

- 自动从DLsite爬取作品元数据,支持所有作品类型(RJ/BJ/VJ),包括已下架的作品。
- 支持多种存储,你可以从本机存储、阿里云盘、百度网盘以及OneDrive中导入作品资源。
- 强大的个性化搜索功能,支持多关键字、多标签检索,支持对搜索结果二级筛选过滤。
- 支持多种格式的字幕显示,`.lrc``.srt``.vtt` 以及 `.ass` ,支持字幕偏移。

## 购买

Kikoeru的授权方式为买断制,你可以 [点击此链接](https://afdian.com/item/91e62d426f5b11ecbd5c52540025c377) 进行购买。

## 安装

创建一个工作目录,例如 `kikoeru`

```sh
mkdir kikoeru
cd kikoeru
```

拉取Kikoeru镜像,创建容器并运行。

```sh
docker run -d --name kikoeru -p 2333:2333 -v $PWD/data:/opt/kikoeru/data -e TZ=Asia/Shanghai -e PUID=$(id -u) -e PGID=$(id -g) -e UMASK=022 --restart unless-stopped ghcr.io/vscodev/kikoeru:latest
```

首次运行Kikoeru会自动创建管理员帐号,你可通过 `docker logs` 命令查看。

```sh
docker logs kikoeru
```

忘记密码可通过 `kikoeru admin` 命令重置。

```sh
docker exec -it kikoeru ./kikoeru admin
```

## 导入作品

Kikoeru支持从多种存储导入作品资源,配置填写可参考 [AList](https://alist.nn.ci/zh/guide/)

每个作品对应一个目录,且文件夹名称必须包含一个有效的作品ID,示例:

```
RJ334212
[みやぢ屋][RJ334212]ガチ恋不可避の耳リフレ2~ぼくっこ店員ゆずるの出張サービス~
```

> [!IMPORTANT]
> 不要包含重复的作品,否则会被覆盖,而且顺序是不确定的。
> [!NOTE]
> Kikoeru支持WebDAV驱动,但仅建议在上游原生支持WebDAV协议的情况下使用,AList用户请直接使用AList驱动。
## 反向代理

你需要在NGINX网站配置文件的 `server` 字段中添加

```
location / {
proxy_pass http://127.0.0.1:2333;
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
# Proxy SSL
proxy_ssl_server_name on;
# Proxy headers
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Forwarded $proxy_add_forwarded;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
# Proxy timeouts
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
```
16 changes: 16 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: "3.6"

services:
kikoeru:
image: ghcr.io/vscodev/kikoeru:latest
container_name: kikoeru
ports:
- "2333:2333"
volumes:
- "./data/:/opt/kikoeru/data/"
environment:
- TZ=Asia/Shanghai
- PUID=0
- PGID=0
- UMASK=022
restart: unless-stopped
Binary file added screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 56ac156

Please sign in to comment.