使用Golang编写的图片分享平台(图床)。
帮助我们翻译:
- 轻量级设计
- Google & GitHub OAuth 登陆
- 图片重新编码,支持 WebP, PNG, JPEG, GIF 和 AVIF
- SQLite 数据库
- 多种存储后端, 包括 S3-compatible, FTP, 本地存储 和 telegra.ph
- 内置图片编辑器
-
Clone 这个库
-
安装 Golang
-
安装必要的包
# Ubuntu
sudo apt install build-essential libglib2.0-dev libvips-dev libheif-dev libheif-plugin-* libheif1
# Arch Linux
sudo pacman -S libvips libheif pkg-config gcc openslide imagemagick poppler-glib
# Fedora
sudo dnf install gcc libheif-devel vips-devel
-
go build
-
你可能需要设置
IMGU2_DEBUG_LIBHEIF_PLUGIN_PATHS
环境变量. 阅读libvips/libvips.go
了解详细步骤.
-
下载 Docker 镜像
docker pull sduoduo233/imgu2:latest
-
启动容器
docker run --detach -p 3000:3000 -e IMGU2_SMTP_USERNAME="[email protected]" -e IMGU2_SMTP_PASSWORD="example_password" -e IMGU2_SMTP_HOST="example.com" -e IMGU2_SMTP_PORT=25 -e IMGU2_SMTP_SENDER="[email protected]" -e IMGU2_SMTP_AUTH_TLS="false" -e IMGU2_JWT_SECRET="example_secret_string" -v ./db:/app/sqlite -v ./uploads:/app/uploads sduoduo233/imgu2:latest
IMGU2_JWT_SECRET
应该是一个比较难猜到的长字符串, 在 Linux 中可以用 openssl rand -hex 8
生成。
IMGU2_SMTP_*
是SMTP设置,用以发送验证邮件。
或者你可以用 docker compose:
version: '3.8'
services:
imgu2:
image: sduoduo233/imgu2:latest
ports:
- "3000:3000"
environment:
IMGU2_SMTP_USERNAME: "[email protected]"
IMGU2_SMTP_PASSWORD: "example_password"
IMGU2_SMTP_HOST: "example.com"
IMGU2_SMTP_AUTH_TLS: "false"
IMGU2_SMTP_PORT: "25"
IMGU2_SMTP_SENDER: "[email protected]"
IMGU2_JWT_SECRET: "example_secret_string"
volumes:
- ./db:/app/sqlite
- ./uploads:/app/uploads
restart: unless-stopped
-
访问
http://你的IP地址:3000
-
配置 NGINX:
server {
listen 443 ssl;
ssl_certificate /path/to/ssl/certificate;
ssl_certificate_key /path/to/ssl/certificate/key;
server_name example.com;
root /var/www/html;
index index.php index.html;
client_max_body_size 32M;
location / {
proxy_pass http://127.0.0.1:3000;
}
}
- 默认管理员账号是
[email protected]
, 密码是admin
。部署完成后请立刻改密码。