当前位置: 首页 > news >正文

做书的封面的网站素材重庆网站seo多少钱

做书的封面的网站素材,重庆网站seo多少钱,元谋网站建设,自己做企业网站用哪个软件什么是 BookLogr ? BookLogr 是一款网络应用,旨在帮助您轻松管理个人图书馆。这项自托管服务可确保您完全控制数据,提供安全且私密的方式来跟踪您拥有、阅读或希望阅读的所有书籍。您也可以选择向公众自豪地展示您的图书馆,与您的…

在这里插入图片描述

什么是 BookLogr ?

BookLogr 是一款网络应用,旨在帮助您轻松管理个人图书馆。这项自托管服务可确保您完全控制数据,提供安全且私密的方式来跟踪您拥有、阅读或希望阅读的所有书籍。您也可以选择向公众自豪地展示您的图书馆,与您的朋友和家人分享。

官方给的重要的提示:

  • 该项目正在积极开发中。
  • 预计会出现错误和重大变化。

BookLogrCalibre 不同,并不提供书籍管理,而是类似于豆瓣的书影音档案,帮助用户收纳和归档自己的书籍,可以创建书单记录读书笔记,在阅读过程中,还可以对书籍进行打分、并写评论。这不仅有助于个人记录,也能与其他用户分享你的阅读体验。

BookLogr 跟老苏之前介绍过的 Koillection 或者 Ryot 有一定的相似之处。

构建镜像

官方没有提供镜像,但是 API 和认证服务提供了 Dockerfile,前端则没有,老苏只是为了体验一下,没有像往常采用多阶段构建,而是采用了开发模式构建

认证服务

构建镜像的基本命令如下👇

# 拉取源代码
git clone https://github.com/Mozzo1000/auth-server.git# 进入代码目录
cd auth-server# 构建镜像
docker build -t wbsu2003/auth-server:v1 .

API 服务

构建镜像的基本命令如下👇

# 拉取源代码
git clone https://github.com/Mozzo1000/booklogr.git# 进入代码目录
cd booklogr# 构建镜像
docker build -t wbsu2003/booklogr:v1 .

前端

需要准备一个 Dockerfile 文件,这是一个以开发模式运行的容器,包含了运行所需要的库

# 使用 Node.js 作为基础镜像
FROM node:20.16# 设置工作目录
WORKDIR /app# 复制项目文件到工作目录
COPY . .# 安装项目依赖
RUN npm install# 运行 Vite 开发服务器
CMD ["npm", "run", "dev", "--", "--host"]

构建镜像的基本命令如下👇

# 假设你当前在 booklogr 目录, 需要进入子目录
cd web# 将 Dockerfile 放入当前目录# 构建镜像
docker build -t wbsu2003/booklogr-web:v1 .

顺便提一句,老苏所有折腾过的 dockerfile 都上传到了 Github:https://github.com/wbsu2003/Dockerfile/

反向代理

API 服务采用了 Python Flask 开发,所以又遇到了我们熟悉的跨域问题

Access to XMLHttpRequest at 'http://192.168.0.197:5004/v1/books' from origin 'http://192.168.0.197:5173' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

没有找到相关的设置,所以还是使用 npm 来解决。由于不涉及公网访问,本文还是采用了 tailscale + npm 方案

文章传送门:用自定义域名访问tailscale节点

假设我们访问地址如下:

域名局域网地址备注
book.xxsu.cfhttp://192.168.0.197:5173前端 web 的访问地址
api.xxsu.cfhttp://192.168.0.197:5004API 服务的访问地址
auth.xxsu.cfhttp://192.168.0.197:5003认证服务的访问地址

前端在 npm 中的设置,另外两个服务除了域名和端口,其他是一样的

SSL 中照例都勾选了

API 服务和认证服务的设置到此就结束了,但是前端 Web 还有个关键的步骤,需要在 Advanced 中填入下面的内容

location /v1 {add_header 'Access-Control-Allow-Origin' 'https://book.xxsu.cf';proxy_pass http://192.168.0.197:5004;
}

这段代码的作用就是:

  • 为所有 /v1 开头的请求设置 CORS 头,允许来自 https://book.xxsu.cf 的跨域请求;
  • 将所有这些请求代理到本地的 5004 端口服务,也就是 API 服务;

所以你要根据自己的域名和 IP 进行修改

安装

因为涉及到多个容器,所以采用 docker-compose 方式安装

env.txt

首先要准备一个 env.txt 文件

FLASK_APP=api.app
FLASK_DEBUG=1
DATABASE_URL=postgresql://admin:password@booklogr-db/booklogr
AUTH_SECRET_KEY=ufmmCydg3sBhJa9zuWvgyfUoFzMXzVqjzdXzhWy9
AUTH_ALLOW_REGISTRATION=True
AUTH_REQUIRE_VERIFICATION=False
GOOGLE_CLIENT_ID=xxx.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=xxx# docker-compose
POSTGRES_USER=admin
POSTGRES_PASSWORD=password
POSTGRES_DB=booklogr# web
VITE_API_ENDPOINT="https://api.xxsu.cf/"
VITE_AUTH_API_URL="https://auth.xxsu.cf"
VITE_GOOGLE_CLIENT_ID=xxx.apps.googleusercontent.com
VITE_DISABLE_HOMEPAGE=true

做个简单说明:

  • DATABASE_URL :如果数据库的相关设置做了修改,这里也要跟着变;
  • AUTH_SECRET_KEY:随机字符串;
  • AUTH_ALLOW_REGISTRATION:是否允许未经身份验证的用户注册账户;
  • AUTH_REQUIRE_VERIFICATION:当允许注册时,是否求用户验证其电子邮件地址;
  • GOOGLE_CLIENT_ID:如果您想允许使用 Google 进行身份验证,请将其更改为您自己的 Google 客户端 ID,如果你不使用,保留默认就可以,千万别注释,会导致页面白屏;
  • GOOGLE_CLIENT_SECRETGoogle 客户端密钥;
  • POSTGRES_USER:数据库用户;
  • POSTGRES_PASSWORD:数据库用户对应的密码;
  • POSTGRES_DB:数据库库名;
  • VITE_API_ENDPOINTbooklogr API 服务的 URL
  • VITE_AUTH_API_URL:认证服务的 URL
  • VITE_GOOGLE_CLIENT_ID:需跟 GOOGLE_CLIENT_ID 一致;
  • VITE_DISABLE_HOMEPAGE:删除主页并直接重定向到登录页面或库(如果您已经登录)。

更多环境变量的说明,请参考官方的 wiki:https://github.com/Mozzo1000/booklogr/wiki/ENV-variables

docker-compose.yml

将下面的内容保存为 docker-compose.yml 文件

services:booklogr-web:image: wbsu2003/booklogr-webcontainer_name: "booklogr-web"ports:- 5173:5173env_file:- env.txtdepends_on:- auth-api- booklogr-apibooklogr-db:container_name: "booklogr-db"image: "postgres" # use latest official postgres version# ports:#    - 5432:5432  restart: alwayshealthcheck:test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]interval: 10stimeout: 5sretries: 5env_file:- env.txtvolumes:- ./bdata:/var/lib/postgresql/data/ # persist data even if container shuts downbooklogr-api:image: wbsu2003/booklogr:v1container_name: "booklogr-api"depends_on:booklogr-db:condition: service_healthyenv_file:- env.txtports:- 5004:5000auth-db:image: "postgres" # use latest official postgres versioncontainer_name: "booklogr-auth-server-db"# ports:#    - 5433:5432restart: alwayshealthcheck:test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]interval: 10stimeout: 5sretries: 5environment:POSTGRES_USER: "admin" # CHANGE THIS FOR USE IN PRODUCTION!POSTGRES_PASSWORD: "password" # CHANGE THIS FOR USE IN PRODUCTION!POSTGRES_DB: "auth-server"volumes:- ./adata:/var/lib/postgresql/data/ # persist data even if container shuts downauth-api:image: wbsu2003/auth-server:v1container_name: "booklogr-auth-server-api"depends_on:auth-db:condition: service_healthyrestart: alwaysenvironment:FLASK_APP: "api.app"DATABASE_URL: "postgresql://admin:password@auth-db/auth-server" # CHANGE THIS FOR USE IN PRODUCTION! Needs to be the same as the credentials in auth-dbenv_file:- env.txtports:- 5003:5000

然后执行下面的命令

# 新建文件夹 booklogr 和 子目录
mkdir -p /volume1/docker/booklogr/{adata,bdate}# 进入 booklogr 目录
cd /volume1/docker/booklogr# 将 docker-compose.yml 和 env.txt 放入当前目录# 一键启动
docker-compose up -d

文件结构如下

如果一切正常,应该有 5 个容器

运行

在浏览器中输入 https://book.xxsu.cf 就能看到主界面

第一次需要 Register 自己的账号

如果显示需要验证码,不用管它,直接 Login 就行

登录成功后的主界面

搜索一本书

需要将 openlibrary.org 加入到科学网的黑名单,否则是搜不到内容的

Add to list 将书加入书单

可以选择阅读状态

添加成功会有提示

My Library 中进入相应的状态,可以找到添加的书籍

Profile 中查看

Open Library 会跳转到相应的网站

Open Library 是一个开放的、可编辑的图书馆目录,旨在为每本出版过的书籍创建一个网页。截至 201810 月,该平台已经收录了超过 36 万本书籍。这个项目类似于维基百科,用户可以自由地编辑和贡献内容。

下拉可以借阅

随便翻一翻

如果看书完了,可以 Set as finished,然后可以打分,并分享到 Mastodon

还可以写Notes

Add note

随便写点啥

在书库里会有相应的显示

参考文档

Mozzo1000/booklogr: A simple, self-hosted service to keep track of your personal library 📚
地址:https://github.com/Mozzo1000/booklogr

BookLogr
地址:https://demo.booklogr.app

Home · Mozzo1000/booklogr Wiki
地址:https://github.com/Mozzo1000/booklogr/wiki

internetarchive/openlibrary: One webpage for every book ever published!
地址:https://github.com/internetarchive/openlibrary

http://www.mmbaike.com/news/97133.html

相关文章:

  • 上海网站建设哪家专业百度关键词排名销售
  • wordpress 备份恢复seo个人博客
  • 行业网站导航竞价推广托管多少钱
  • 中央人民政府网官网网站快速优化排名app
  • 石家庄网站建设哪里好青岛seo排名扣费
  • wordpress仿站教程百度云网站在线客服系统免费
  • 自己建网站需要备案吗长春网站制作设计
  • 网站建设详细流程长沙企业seo优化
  • DW做注册网站如何做好市场推广
  • wordpress com手机系统优化软件
  • 品牌网站什么意思百度搜索引擎投放
  • 网站会员系统源码查询网站
  • 网站 收费宁波网站seo诊断工具
  • 绿色在线网站模板网页优化包括
  • 政府网站数据开放 建设方案如何制作一个属于自己的网站
  • 国内最新新闻热点事件摘抄百度整站优化
  • 网站技术介绍品牌推广是做什么的
  • 网站建设发展现状福州seo
  • 发外链的网站都要企业注册西安优化网站公司
  • 织梦个人网站谷歌seo外链平台
  • 做瞹瞹嗳视频网站郑州今天刚刚发生的新闻
  • 免费一级做网站百度营稍
  • 旅游网站制作网站收录服务
  • 嘉兴php网站开发域名停靠网页app推广大全
  • 外企网站建设公司排名seo优化的作用
  • 做网站的软件page新网站怎么快速收录
  • 如何做网站链接分享朋友圈站内关键词排名优化软件
  • 成都网站建设 3e友链购买网
  • 做网站代理需要办什么执照google搜索优化
  • 外国人做的汉子网站网站建设公司哪家好?该如何选择