恳求稍微详细连贯一些的部署方式
woOzZ2 opened this issue · 13 comments
试了许多次都失败了,数据库需要单独安装吗,是mysql嘛
部署 core 之前请先确定已经部署完 fetcher 了, 不然就算 core 运行起来也不会有数据
数据库是 MySQL, 要求 5.7 及以上
如果依然无法完成可以等待近期 Docker 编排出来使用 Docker 部署
我目前写了个Dockerfile把fetcher和core都给打包进去了 还不太完善
打算过几天整整有没有pr给你交一份
还有这边我是推荐docker-compose的不论维护还是构建都会方便很多
除此之外还可以整一个phpmyadmin进去管理数据库 这样的话我们可以制作一份初始数据库表单以便用户直接导入设置 对于我Google了半天USE SELECT SHOW的菜鸡会比较友好
# From ubuntu, we build our system
FROM ubuntu
# Depends
FROM node as node
FROM rclone/rclone as rclone
FROM linuxserver/ffmpeg as ffmpeg
FROM linuxserver/qbittorrent as qbit
# environment:
# - PUID=1000
# - PGID=1000
# - TZ=Europe/London
# - UMASK_SET=022
# - WEBUI_PORT=8080
# volumes:
# - /path/to/appdata/config:/config
# - /path/to/downloads:/downloads
# ports:
# - 6881:6881
# - 6881:6881/udp
# - 8080:8080
COPY --from=node / /
COPY --from=rclone/rclone / /
COPY --from=linuxserver/ffmpeg / /
COPY --from=linuxserver/qbittorrent / /
# just in case
RUN mkdir -p /opt &> /dev/null
# do config setup...
RUN cd /opt && git clone https://github.com/JAVClub/core.git ./core --depth=1
RUN cd /opt/core && npm i
RUN cd /opt/core && mv config defaultconfigs
RUN cd /opt && git clone https://github.com/JAVClub/fetcher.git ./fetcher --depth=1
RUN cd /opt/fetcher && npm i
# ports things
EXPOSE 3000
# boostrap scripts
RUN printf "#!/bin/bash\n" > /bootstrap.sh
RUN printf "FILE=/opt/core/config/dev.json\nif [ -f \"\$FILE\" ]; then\n echo \"$FILE already exist\"\nelse\n echo \"\$FILE does not exist\"\n mkdir -p /opt/core/config && cp /opt/core/defaultconfigs/dev.example.json /opt/core/config/dev.json\nfi\n" >> /bootstrap.sh
RUN printf "cd /opt/core && NODE_ENV=dev node src/app.js &\n" >> /bootstrap.sh
RUN printf "wait < <(jobs -p)\n" >> /bootstrap.sh
RUN chmod +x /bootstrap.sh
# Starting up....
CMD ["/bootstrap.sh"]
version: '3.2'
services:
app:
build: dockerbuild
ports:
- 3000:3000
volumes:
- ./mnt/app/config:/opt/core/config
links:
- database
pma:
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: database
PMA_PORT: 3306
MYSQL_ROOT_PASSWORD: A8635AE6-9C11-4BFF-8FC4-1A58DC105A73
ports:
- 3001:80
links:
- database:database
database:
image: linuxserver/mariadb
environment:
- MYSQL_ROOT_PASSWORD=A8635AE6-9C11-4BFF-8FC4-1A58DC105A73
- MYSQL_DATABASE=javclub
- MYSQL_USER=javclub
- MYSQL_PASSWORD=javclub-1A58DC105A73
volumes:
- ./mnt/database/config:/config
restart: unless-stopped
@LoliLin 我是把fetcher
单独放置在ubuntu 18.04
上面,另外一台克隆机,放置web
和core
还有nginx
,两台虚拟机均在本地虚拟机中,内网环境。
mysql8.0
nodejs 12.16.1
fetcher中只做了npm i
,.env
文件并没有找到
web仓库 执行到第二部npm run serve
出错,如下
ERROR Failed to compile with 1 errors 13:10:38
This relative module was not found:
* ./config in ./src/main.js
core中
config/dev.json
配置文件中
"proxy": [
"https://your.img.proxy/"
是否可以写http://127.0.0.1:3000
nginx的配置文件如下
location /api {
proxy_pass http://127.0.0.1:3000/;
}
mysql由于5.7不支持utf8mb4_0900_ai_ci
直接使用了8.0,并开启了8.0的强加密特性。最后导入了数据表
fetcher 因为以前写得太复杂最近重构了一遍, 目前仅支持 RSS 订阅, 不过很快会继续支持 onejav
Docker 的编排文件也预计近两天出炉, 所以如果不急的话可以等待一下下
除此之外还可以整一个phpmyadmin进去管理数据库 这样的话我们可以制作一份初始数据库表单以便用户直接导入设置 对于我Google了半天USE SELECT SHOW的菜鸡会比较友好
本来就是默认用户使用 PMA 的 🤣
fetcher中只做了npm i,.env 文件并没有找到
需要将 .env.example
复制为 .env
core中
config/dev.json配置文件中
这里的 proxy 是用来代理 JAVbus 中提供的图片资源的, 而下面一段的 Nginx 是用来代理 core 的 API 的, 完全是不同的两个东西
希望往后能看到详细的部署步骤,对于我们这些没有接触过nodejs的noob搞不定啊
尝试了一下实在是写不来文档, 表达能力太差了 (逃
大概加了一点点说明, 希望能有点用
可以克制住自己想把作者往死里揍心情的能力
怎么会呢
希望可以支持一键部署,如果能跑在群晖上,岂不美哉
我也希望一键部署群辉 美滋滋
更新了详细的 Docker 部署方式, 各位可以试试
This issue is closed due to not being active. Please feel free to open it again or create a new one and reference this if you have further questions.