图床这个东西,不知道怎么用就是暂时用不到,我主要配合typora、WordPress写博客或者发自媒体的时候来使用,既然有NAS,自然是自建。
用github、gitee的弊端懂的都懂,github网络不行,gitee单个图片不能超过1M,反正用的很难受
我的图床肯定是配合PicGO来实现的,PicGO支持很多常见的图床,可以当一个中间管理软件,本来我是用gitlab来做,后来发现gitlab太耗资源,简单做个图床的话不合适。nextcloud倒是一个好的选择,可惜目前我都没有成功过,无奈最后选择了cheverto来试试,简单好用的话,以后就用它了,不好用再换,比如Lsky Pro等
不废话,直接文件模板走起
version: '3' services: db: image: mariadb volumes: - database:/var/lib/mysql:rw restart: always networks: - private environment: MYSQL_ROOT_PASSWORD: chevereto_root MYSQL_DATABASE: chevereto MYSQL_USER: chevereto MYSQL_PASSWORD: chevereto chevereto: depends_on: - db image: nmtan/chevereto restart: always networks: - private environment: CHEVERETO_DB_HOST: db CHEVERETO_DB_USERNAME: chevereto CHEVERETO_DB_PASSWORD: chevereto CHEVERETO_DB_NAME: chevereto CHEVERETO_DB_PREFIX: chv_ volumes: - chevereto_images:/var/www/html/images:rw ports: - 8080:80 networks: private: volumes: database: chevereto_images:
可以看到,非常简单,一个数据库配合应用本身就行了,应该是符合我的需要的
老三样:改网络端口号,改映射文件夹路径,改参数,我打个样
1、网络端口号:8080这个端口号太多应用使用,我建议改为50000-60000之间的,例如58888
2、文件夹路径:因为我是威联通docker安装,路径是第二个硬盘路径下,这里是/share/CACHEDEV2_DATA/Container/chevereto/,它这里有两个volumes,所以要改俩,分别是:一个放数据库,一个放图片
/share/CACHEDEV2_DATA/Container/chevereto/db
/share/CACHEDEV2_DATA/Container/chevereto/img
这个路径自己找,别放错位置
3、参数:environment也是两块,分别是db的和cheverto的,自己改吧,我这就不泄密了,也可以用默认的玩
改完以后就是这样
version: '3' services: db: image: mariadb volumes: - /share/CACHEDEV2_DATA/Container/chevereto/db:/var/lib/mysql:rw restart: always networks: - private environment: MYSQL_ROOT_PASSWORD: MYSQL_DATABASE: chevereto MYSQL_USER: mura MYSQL_PASSWORD: mura123456 chevereto: depends_on: - db image: nmtan/chevereto restart: always networks: - private environment: CHEVERETO_DB_HOST: db CHEVERETO_DB_USERNAME: cunyu CHEVERETO_DB_PASSWORD: cunyu123456 CHEVERETO_DB_NAME: chevereto CHEVERETO_DB_PREFIX: chv_ volumes: - /share/CACHEDEV2_DATA/Container/chevereto/img:/var/www/html/images:rw ports: - 58888:80 networks: private: volumes: database: chevereto_images:
安装好以后就能访问,访问自然是ip+端口号,我这里就是192.168.50.11:58888
需要进行基本的一些设置
之后就可以用了
但一定要记得,自建图床就是为了上传图片方便且不受大小限制,这个cheverto默认上传图片不能高于2M,必须得改!
修改上传限制,改为允许单张图片上传大小为300M
先找到cheverto的ID
我这里是 3789e4ca8ce4
下面是用docker命令操作的,没办法,SSH登陆操作吧
思路就是:把容器力度配置文件给弄出来,方便修改参数的限制,改完以后再拖回去覆盖,重启,自然搞定
第一步:把配置文件拖出来,我这里复制到安装目录下
docker cp 3789e4ca8ce4:/var/www/html/.htaccess /share/CACHEDEV2_DATA/Container/chevereto/
然后你就能看见这个文件了——.htaccess,因为是隐藏的,要看需要一些设置,挺简单的
当然,你都用SSH连接了就直接vim修改吧
vi /root/.htaccess
然后改了参数
在文件末尾增加 php_value post_max_size 300M
和php_value upload_max_filesize 300M
你可以设置上传图片大小是30M,自己定
php_value post_max_size 300M php_value upload_max_filesize 300M
大致如图所示:
保存退出什么的不多说了
之后再复制回去,覆盖源文件
docker cp /share/CACHEDEV2_DATA/Container/chevereto/.htaccess 3789e4ca8ce4:/var/www/html/.htaccess
还有一步,进入Chevereto,单击右上角用户名弹出下拉菜单,选择 仪表盘——设置,把这俩参数也改了,并点击保存设置
点击图片上传
找到下图位置,进行修改
这时就能看到我刚刚测试上传成功的3M多的照片了
记得修改域名,否则图片自动生成URL可能是局域网地址
下面配置PicGO
首先安装插件,搜索安装就行
之后设置cheverto
key的位置在
由于cheverto是直接有图片保存路径的,那么思路就简单了
通过同步工具如:resiliosync或者nextcloud或syncthing等等,链接到本机电脑上,还记得我之前说过“通过挂载到电脑本地,电脑的一切功能都可以附加在NAS的数据上,包括图片压缩、去重、批量重命名、转码等等”
那么本机电脑只要对映射过来的文件夹内的图片批量压缩就行了,压缩后的所有图片,自然会同步回NAS,而名字不变,链接不变,之后直接从图床拿图片链接到其它各个网站,也不会出现提示图片过大无法加载的问题了