现代图床docker版

脚本安装:

wget -O 1keji.sh "https://www.1keji.net" && chmod +x 1keji.sh && ./1keji.sh

交互界面选16。


手动安装:

先写数据库文件与权限:

mkdir -p /root/.docker/modern-images
touch /root/.docker/modern-images/images.db
chown 1001:65533 /root/.docker/modern-images/images.db
chmod 664 /root/.docker/modern-images/images.db
touch /root/.docker/modern-images/config.json
chown 1001:65533 /root/.docker/modern-images/config.json
chmod 664 /root/.docker/modern-images/config.json

初始安装更改config.json文件内容:

{
  "auth": {
    "isConfigured": false,
    "username": "",
    "hashedPassword": "",
    "salt": ""
  },
  "api": {
    "enabled": true,
    "tokens": [],
    "defaultFormat": "original"
  },
  "storage": {
    "type": "local",
    "r2": {
      "enabled": false,
      "accessKeyId": "",
      "secretAccessKey": "",
      "endpoint": "",
      "bucket": "",
      "region": "auto",
      "customDomain": ""
    }
  }
}

运行docker

docker run -d \
  --name modern-images \
  -p 3000:3000 \
  -v /root/.docker/modern-images/uploads:/app/uploads \
  -v /root/.docker/modern-images/images.db:/app/images.db \
  -v /root/.docker/modern-images/sessions:/app/sessions \
  -v /root/.docker/modern-images/config.json:/app/config.json \
  -e NODE_ENV=production \
  -e PORT=3000 \
  --restart unless-stopped \
  --health-cmd='node -e "const http = require(\"http\"); const options = { hostname: \"localhost\", port: 3000, path: \"/\", timeout: 2000 }; http.get(options, (res) => process.exit(res.statusCode === 200 ? 0 : 1)).on(\"error\", () => process.exit(1));"' \
  --health-interval=30s \
  --health-timeout=10s \
  --health-retries=3 \
  --health-start-period=40s \
  1keji/modern-images:latest

改变宿主挂载目录的属主

执行以下命令即可:

chown -R 1001:65533 /root/.docker/modern-images

半自动安装:

#!/bin/bash

# 创建持久化目录
mkdir -p /root/.docker/modern-images

# 创建数据库文件(如不存在)
[ ! -f "/root/.docker/modern-images/images.db" ] && touch "/root/.docker/modern-images/images.db"
chown 1001:65533 "/root/.docker/modern-images/images.db"
chmod 664 "/root/.docker/modern-images/images.db"

# 创建 config.json 文件(如不存在)
[ ! -f "/root/.docker/modern-images/config.json" ] && cat > "/root/.docker/modern-images/config.json" << 'EOF'
{
  "auth": {
    "isConfigured": false,
    "username": "",
    "hashedPassword": "",
    "salt": ""
  },
  "api": {
    "enabled": true,
    "tokens": [],
    "defaultFormat": "original"
  },
  "storage": {
    "type": "local",
    "r2": {
      "enabled": false,
      "accessKeyId": "",
      "secretAccessKey": "",
      "endpoint": "",
      "bucket": "",
      "region": "auto",
      "customDomain": ""
    }
  }
}
EOF
chown 1001:65533 "/root/.docker/modern-images/config.json"
chmod 664 "/root/.docker/modern-images/config.json"

运行docker

docker run -d \
  --name modern-images \
  -p 3015:3000 \
  -v /root/.docker/modern-images/uploads:/app/uploads \
  -v /root/.docker/modern-images/images.db:/app/images.db \
  -v /root/.docker/modern-images/sessions:/app/sessions \
  -v /root/.docker/modern-images/config.json:/app/config.json \
  -e NODE_ENV=production \
  -e PORT=3000 \
  --restart unless-stopped \
  --health-cmd='node -e "const http = require(\"http\"); const options = { hostname: \"localhost\", port: 3000, path: \"/\", timeout: 2000 }; http.get(options, (res) => process.exit(res.statusCode === 200 ? 0 : 1)).on(\"error\", () => process.exit(1));"' \
  --health-interval=30s \
  --health-timeout=10s \
  --health-retries=3 \
  --health-start-period=40s \
  1keji/modern-images:latest

改变宿主挂载目录的属主

执行以下命令即可:

chown -R 1001:65533 /root/.docker/modern-images

持久化目录和端口各位可以自行修改设置

现代图床的使用问题和讨论可以在下面链接进行:

默认登录的用户名和密码是什么?

初次打开的时候,会让你设置用户名和密码吧。

好的啊


1、为啥picgo上传后在picgo能看到图片(用r2对象存储),而在网页版的[我的图片库]中看不到?反过来一样,在图床网页上传的图片在picgo看不到?不是使用同一个对象存储吗?为什么不能同步?
2、picgo上传的图片通过链接是可以打开的!


3、

在cloudflare的r2对象存储中看不到在picgo上传的

cloudflare里找到了picgo上传的,但是网页图床里找不到picgo上传的。知道了,上传的目录不同!谢谢

找到了吗


找到了。提个问题:能否在图片库中给一个新建目录的功能?或者能上传整个目标目录也行

先记下来,后面有空再增加新功能与设定。



现在怎么连删除都费劲?无论左键右键都删除不了?!!!

要点右键选了一张,再删除。而且不能删除多张

ctrl加左键先选中一张,然后用ctrl或者shift的按键功能都可以。可以一次选中多张图片