Docker系列 使用Easyimage2.0图床并优雅地迁移chevereto图片
本文最后更新于 55 天前,如有失效请评论区留言。

前言

在《Docker系列 搭建个人图床chevereto》中,我已经向大家展示用docker安装chevereto 图床 的最佳实践。诚然,chevereto是一个经典的 图床 ;但其有几个潜在的缺陷:

  • 旧版不支持动态WebP;
  • 不支持上传图片时自动转化为WebP,需要依赖ShareX等工具
  • chevereto新版与旧版不相兼容,免费用户很难继续获得开发者的长期支持

如果你对图床的需求有下列特点:

  • 使用typora通过粘贴上传图片并希望使用webp作为第一图片格式
  • 崇尚极简风格
  • 不在意相册功能
  • 上传图片自动转webp

那么本文所介绍的Easyimage2.0图床就是你的菜了!之前在安装chevereto的时候也有所提及。Easyimage2.0相关信息:Github Repo; Docker Image。其外观为:

chrome_8JCuCvVhDa

Easyimage2.0也支持公共使用和鉴黄功能。下面让我们安装这个极简风格的图床吧!

测试环境

腾讯云上进行测试。

uname -a # Linux VM-12-8-ubuntu 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

docker --version # Docker version 20.10.5, build 55c4c88

docker-compose --version # docker-compose version 1.28.6, build 5db8d86f

准备工作

按需修改工作目录:

work=~/docker/easyimage && mkdir -p $work && cd $work

按需修改端口,开启防火墙:

sudo ufw allow 3578/tcp comment 'easyimage' && sudo ufw reload

提前拉取镜像:

docker pull ddsderek/easyimage:latest

配置yaml

新建一个文件

vim $work/docker-compose.yml

添加以下内容:

version: '3.3'
services:
  easyimage:
    image: ddsderek/easyimage
    container_name: easyimage
    ports:
      - '3578:80'
    volumes:
      - './config:/app/web/config'
      - './images:/app/web/images'
    restart: unless-stopped
    networks:
      - default
networks:
  default:
    name: easyimage

上线服务:

docker-compose up -d

NPM & ddns-go

在DDNS-GO后台或者域名托管商进行DNS解析,比如image.domain.com

NPM设置无特殊,具体如下:

初始化

根目录

设置目录权限

sudo chmod -R 777 $work/images/
sudo chmod -R 777 $work/config/

修改$work/config/config.php文件:

sudo vim $work/config/config.php

修改的项目如下:

// 设置domain和url。根据自己的地址修改。
'domain'=>'https://image.domain.com',
'imgurl'=>'https://image.domain.com',

// 支持api上传。typora使用者要打开这个
'apiStatus'=>1,

// 图片位置。根据docker-compose的要求进行改动
'path'=>'/images/'

重启一下容器

cd $work && docker-compose down && docker-compose up -d

安装软件

登陆https://image.domain.com。会出现一个环境检测的界面,直接下一步:

NVIDIA_Share_8ch9ilafMp

这一步记得将http改为https。设置好帐号和密码。点开始安装

NVIDIA_Share_a9njCBXfSi

设置8-18位的密码:

MobaXterm1_CHS_2O1KWUdLAi

然后进会进入登陆界面。登陆即可。

成功登陆后会看到一些提示,按Esc键退出即可。

MobaXterm1_CHS_tkYTc8RrZc

一般设置

在设置中有很多项目可以自定义:

NVIDIA_Share_5bEmQidhR5

值得关注的项目有上传设置,比如我改成这样:

NVIDIA_Share_hq9sIxtNkp

还有API设置,你可以设置一个有效期长点的,方便自己日常使用。这里的API调用地址Token在PicGo中可以用得上:

NVIDIA_Share_7HIFBiqIbO

其它项目自己按需要设置就行了。

这里值得一说的是,作者还贴心地提供了一些忘记密码的操作:

直接输入账号和密码即可完成修改.
更改后会立即生效并重新登录,请务必牢记账号和密码!
如果忘记账号可以打开->/config/config.php文件->找到user对应的键值->填入
如果忘记密码请将密码->转换成MD5小写->转换网址->打开/config/config.php文件->找到password对应的键值->填入

而且,也提供了一些设计信息:

chrome_35y67Ba9Qt

最后,如果你是个人使用的话,还是建议要求登陆后才可以使用。设置config.php即可:

// 要登陆才可以使用
'mustLogin'=>1,

修改后,要登陆才可以使用图床。登陆地址是:https://image.domain.com/admin

如果你要备份图床,用duplicati备份整个根目录即可。

PicGo+Easyimage2.0

和使用chevereto类似的,你可以直接通过picgo来支持Easyimage2.0,这样在typora写作中可以获得完美的体验。PicGo-app安装我就不重复了,可以看我之前的博文《Docker系列 深度使用nextcloud(三)Typora图床》。用PicGo-Core也是类似的原理,自己探索一下。

在PicGo软件中的具体设置类似于:

NVIDIA_Share_1zWVc4OdJF

这个API地址和token可以在API设置获取。也很容易!

迁移chevereto图床

Easyimage2.0的docker版安装是蛮简单的。如果你是第一次使用图床,直接正常使用即可。如果你以前是chevereto的用户,那么很幸运的,也有一些方法可以将chevereto的图片迁移至Easyimage2.0!不过呢,一些额外的信息,比如相册、评论等,是无法迁移的。

基本的原理很简单。如果你按我的教程安装chevereto的话,根目录下会有一个images文件夹,将它里面的内容直接copy至images文件夹即可:

drwxr-xr-x 2 www-data www-data 4.0K May 22 16:46 cache
drwxr-xr-x 3 www-data www-data 4.0K Apr 20 10:01 content
drwxr-xr-x 5 www-data www-data 4.0K Apr 20 09:13 images (就是这个)
-rw-r--r-- 1 www-data www-data   93 Apr 20 10:01 php.ini
drwxr-xr-x 3 www-data www-data 4.0K Apr 20 10:01 routes

比如,我现在的easyimage的根目录内容如下:

├── config
│   ├── api_key.php
│   ├── config.guest.php
│   ├── config.manager.php
│   └── config.php
├── docker-compose.yml
└── images
    ├── 2020
    ├── 2021
    └── 2022

这个images的文件就是我copy过来的。copy完后,我们改一下文件夹的权限:

sudo chmod -R 777 $work/images

这时刷新一下图床的界面就可以看到广场里有图片了:

NVIDIA_Share_7rtuD8gKrt

这时图片链接会类似于:https://image.domain.com/images/2022/05/24/XXX.jpg。如果你使用的image.domain.com就是你原本chevereto图床的域名,那么你原本在markdown或者在网页中存放的图片链接均不会失效。很简单、很强大有木有呀?

当然,可能有一些图片的缩略图会显示错误(比如某些webp图片),但不影响实际的图片的正常显示的。这只能算是一个小小的trick!(我在腾讯云测试时,容器内的php不知为何未安装webp扩展;大部分用户说是正常的)

小结

Easyimage2.0确实是使用很简单,对于使用场景比较简单的童鞋来说非常友好,也不像chevereto的安装那么复杂。如果上传啥的有报错,多数是权限问题,灵活运用chownchmod命令即可。

参考

版权声明:除特殊说明,博客文章均为Bensz原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。 如有需要,请至学习地图系统学习本博客的教程。加Telegram群可获得更多帮助喔! | 博客订阅:RSS | 广告招租:留言板 | 博客VPS |

评论

  1. cye
    置顶
    Macintosh Chrome 102.0.0.0
    3月前
    2022-6-21 10:09:28

    我遇到一个问题。sudo chmod -R 755 $work/images/之后点击上传图片,总是收到报错“JSONpath不对”。受到你最后一段的启发,我检查了一下文件夹的权限,把images改成777之后就好了。是不是因为我的images owner是我自己,你的是一个别的用户呀?

    • 博主
      cye
      Windows Chrome 102.0.0.0
      3月前
      2022-6-21 10:11:46

      有可能 不过我用的是Chevereto图床,Easyimage2.0只是玩了一下,没有非常深入。感觉Chevereto比较对我的口味ヾ(≧∇≦*)ゝ

      • cye
        Bensz
        Macintosh Chrome 102.0.0.0
        3月前
        2022-6-21 10:15:08

        感觉Chevereto功能更多一点,比如它会自动生成好几个大小的图片。Easytimage的优点是它很easy,可以自动转换格式。你的文章也提到,Chevereto的一个问题是新版本不兼容,主要是没有中文,不知道还有没有别的问题,相当于就被卡死在了1.4.2上,不好再更新了。

      • 博主
        cye
        Windows Chrome 102.0.0.0
        3月前
        2022-6-21 10:41:43

        之后准备想办法搞定chevereto的升级问题。目前还在测试中(☆ω☆)

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇