feat:添加slink到列表

This commit is contained in:
okxlin 2024-05-11 02:44:45 +08:00
parent bb6c4e11c0
commit a03b08e767
9 changed files with 402 additions and 0 deletions

View File

@ -0,0 +1,15 @@
CONTAINER_NAME="slink"
DATA_PATH="./data"
IMAGE_MAX_SIZE="15M"
IMAGE_STRIP_EXIF_METADATA="true"
ORIGIN="https://your-domain.com"
PANEL_APP_PORT_HTTP="40236"
SMB_HOST=""
SMB_PASSWORD=""
SMB_SHARE=""
SMB_USERNAME=""
STORAGE_PROVIDER="local"
USER_ALLOW_UNAUTHENTICATED_ACCESS="true"
USER_APPROVAL_REQUIRED="true"
USER_PASSWORD_MIN_LENGTH="6"
USER_PASSWORD_REQUIREMENTS="15"

121
apps/slink/1.1.0/data.yml Normal file
View File

@ -0,0 +1,121 @@
additionalProperties:
formFields:
- default: 40236
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: 端口
required: true
rule: paramPort
type: number
- default: ./data
edit: true
envKey: DATA_PATH
labelEn: Data folder path
labelZh: 数据文件夹路径
required: true
type: text
- default: "https://your-domain.com"
envKey: ORIGIN
labelEn: External URL (Only https environments can register and login, reverse proxy is required)
labelZh: 外部访问地址 (只有 https 环境才能注册登录,需要反向代理)
required: true
type: text
edit: true
- default: "true"
envKey: USER_APPROVAL_REQUIRED
labelEn: Whether to require user approval before they can upload images
labelZh: 是否需要用户批准才能上传图像
required: true
type: select
values:
- label: "True"
value: "true"
- label: "False"
value: "false"
edit: true
- default: "true"
envKey: USER_ALLOW_UNAUTHENTICATED_ACCESS
labelEn: Allow Unauthenticated Access
labelZh: 允许未认证访问
required: true
type: select
values:
- label: "True"
value: "true"
- label: "False"
value: "false"
edit: true
- default: "6"
envKey: USER_PASSWORD_MIN_LENGTH
labelEn: User Password Minimum Length
labelZh: 用户密码最小长度
required: true
type: number
edit: true
- default: "15"
envKey: USER_PASSWORD_REQUIREMENTS
labelEn: User Password Requirements (Sum of the following options:1-numbers, 2-lowercase, 4-uppercase, 8-special characters)
labelZh: 用户密码要求 (以下选项的总和1-数字、2-小写、4-大写、8-特殊字符)
required: true
type: number
edit: true
- default: "15M"
envKey: IMAGE_MAX_SIZE
labelEn: Image Maximum Size (no more than 50M)
labelZh: 图片最大尺寸(不超过50M)
required: true
type: text
edit: true
- default: "true"
envKey: IMAGE_STRIP_EXIF_METADATA
labelEn: Strip EXIF Metadata
labelZh: 剥离 EXIF 元数据
required: true
type: select
values:
- label: "True"
value: "true"
- label: "False"
value: "false"
edit: true
- default: "local"
envKey: STORAGE_PROVIDER
labelEn: Storage Provider
labelZh: 存储提供商
required: true
type: select
values:
- label: Local
value: "local"
- label: SMB
value: "smb"
edit: true
- default: ""
envKey: SMB_HOST
labelEn: SMB Host
labelZh: SMB 主机
required: false
type: text
edit: true
- default: ""
envKey: SMB_USERNAME
labelEn: SMB Username
labelZh: SMB 用户名
required: false
type: text
edit: true
- default: ""
envKey: SMB_PASSWORD
labelEn: SMB Password
labelZh: SMB 密码
required: false
type: password
edit: true
- default: ""
envKey: SMB_SHARE
labelEn: SMB Share
labelZh: SMB 共享
required: false
type: text
edit: true

View File

@ -0,0 +1,32 @@
version: '3'
services:
slink:
image: anirdev/slink:v1.1.0
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:3000"
volumes:
- ${DATA_PATH}/var/data:/app/var/data
- ${DATA_PATH}/images:/app/slink/images
environment:
- ORIGIN=${ORIGIN}
- USER_APPROVAL_REQUIRED=${USER_APPROVAL_REQUIRED}
- USER_ALLOW_UNAUTHENTICATED_ACCESS=${USER_ALLOW_UNAUTHENTICATED_ACCESS}
- USER_PASSWORD_MIN_LENGTH=${USER_PASSWORD_MIN_LENGTH}
- USER_PASSWORD_REQUIREMENTS=${USER_PASSWORD_REQUIREMENTS}
- IMAGE_MAX_SIZE=${IMAGE_MAX_SIZE}
- IMAGE_STRIP_EXIF_METADATA=${IMAGE_STRIP_EXIF_METADATA}
- STORAGE_PROVIDER=${STORAGE_PROVIDER}
- SMB_HOST=${SMB_HOST}
- SMB_USERNAME=${SMB_USERNAME}
- SMB_PASSWORD=${SMB_PASSWORD}
- SMB_SHARE=${SMB_SHARE}
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true

47
apps/slink/README.md Normal file
View File

@ -0,0 +1,47 @@
# 使用说明
必须要开启`https`的情况下才能正常注册登录账号。
按照要求创建账号,例如邮箱`admin@localhost.com`
如果创建账号正常,则会提示除了邮箱外还可以复制对应`uuid`
那么则需要执行相关命令激活此账号。
- 1. 宿主机执行的方式
```
# 邮箱方式
docker exec -it slink slink user:activate --email=admin@localhost.com
```
```
# uuid 方式
docker exec -it slink slink user:activate --uuid=<user-id>
```
- 2. 容器管理页面连接容器终端执行的方式
```
# 邮箱方式
slink user:activate --email=admin@localhost.com
```
```
# uuid 方式
slink user:activate --uuid=<user-id>
```
- 3. 有得到终端返回信息例如以下,则表示账号激活成功,可以正常登录了。
```
User `admin@localhost.com` has been activated ✓
```
***
# Slink: Image Sharing Platform
![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/andrii-kryvoviaz/slink/release.yml?logo=github)
![Docker Image Version (latest semver)](https://img.shields.io/docker/v/anirdev/slink?color=blue)
![Docker Pulls](https://img.shields.io/docker/pulls/anirdev/slink?logo=docker)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/andrii-kryvoviaz/slink/blob/main/LICENSE)
**Slink** is a self-hosted image sharing platform built with [Symfony](https://symfony.com/) and [SvelteKit](https://kit.svelte.dev/).
Solves the problem of sharing images with friends, family, and colleagues without relying on third-party services. It also offers a platform for artists to share their work with the community. Additionally, developers may find it useful for self-hosting screenshots of personal projects, which can then be used on GitHub, portfolios, blogs, etc.

19
apps/slink/data.yml Normal file
View File

@ -0,0 +1,19 @@
name: Slink
tags:
- 工具
title: 图像共享平台(图床)
description: 图像共享平台(图床)
additionalProperties:
key: slink
name: Slink
tags:
- Tool
shortDescZh: 图像共享平台(图床)
shortDescEn: Image Sharing Platform
type: tool
crossVersionUpdate: true
limit: 0
recommend: 0
website: https://github.com/andrii-kryvoviaz/slink
github: https://github.com/andrii-kryvoviaz/slink
document: https://github.com/andrii-kryvoviaz/slink

View File

@ -0,0 +1,15 @@
CONTAINER_NAME="slink"
DATA_PATH="./data"
IMAGE_MAX_SIZE="15M"
IMAGE_STRIP_EXIF_METADATA="true"
ORIGIN="https://your-domain.com"
PANEL_APP_PORT_HTTP="40236"
SMB_HOST=""
SMB_PASSWORD=""
SMB_SHARE=""
SMB_USERNAME=""
STORAGE_PROVIDER="local"
USER_ALLOW_UNAUTHENTICATED_ACCESS="true"
USER_APPROVAL_REQUIRED="true"
USER_PASSWORD_MIN_LENGTH="6"
USER_PASSWORD_REQUIREMENTS="15"

121
apps/slink/latest/data.yml Normal file
View File

@ -0,0 +1,121 @@
additionalProperties:
formFields:
- default: 40236
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: 端口
required: true
rule: paramPort
type: number
- default: ./data
edit: true
envKey: DATA_PATH
labelEn: Data folder path
labelZh: 数据文件夹路径
required: true
type: text
- default: "https://your-domain.com"
envKey: ORIGIN
labelEn: External URL (Only https environments can register and login, reverse proxy is required)
labelZh: 外部访问地址 (只有 https 环境才能注册登录,需要反向代理)
required: true
type: text
edit: true
- default: "true"
envKey: USER_APPROVAL_REQUIRED
labelEn: Whether to require user approval before they can upload images
labelZh: 是否需要用户批准才能上传图像
required: true
type: select
values:
- label: "True"
value: "true"
- label: "False"
value: "false"
edit: true
- default: "true"
envKey: USER_ALLOW_UNAUTHENTICATED_ACCESS
labelEn: Allow Unauthenticated Access
labelZh: 允许未认证访问
required: true
type: select
values:
- label: "True"
value: "true"
- label: "False"
value: "false"
edit: true
- default: "6"
envKey: USER_PASSWORD_MIN_LENGTH
labelEn: User Password Minimum Length
labelZh: 用户密码最小长度
required: true
type: number
edit: true
- default: "15"
envKey: USER_PASSWORD_REQUIREMENTS
labelEn: User Password Requirements (Sum of the following options:1-numbers, 2-lowercase, 4-uppercase, 8-special characters)
labelZh: 用户密码要求 (以下选项的总和1-数字、2-小写、4-大写、8-特殊字符)
required: true
type: number
edit: true
- default: "15M"
envKey: IMAGE_MAX_SIZE
labelEn: Image Maximum Size (no more than 50M)
labelZh: 图片最大尺寸(不超过50M)
required: true
type: text
edit: true
- default: "true"
envKey: IMAGE_STRIP_EXIF_METADATA
labelEn: Strip EXIF Metadata
labelZh: 剥离 EXIF 元数据
required: true
type: select
values:
- label: "True"
value: "true"
- label: "False"
value: "false"
edit: true
- default: "local"
envKey: STORAGE_PROVIDER
labelEn: Storage Provider
labelZh: 存储提供商
required: true
type: select
values:
- label: Local
value: "local"
- label: SMB
value: "smb"
edit: true
- default: ""
envKey: SMB_HOST
labelEn: SMB Host
labelZh: SMB 主机
required: false
type: text
edit: true
- default: ""
envKey: SMB_USERNAME
labelEn: SMB Username
labelZh: SMB 用户名
required: false
type: text
edit: true
- default: ""
envKey: SMB_PASSWORD
labelEn: SMB Password
labelZh: SMB 密码
required: false
type: password
edit: true
- default: ""
envKey: SMB_SHARE
labelEn: SMB Share
labelZh: SMB 共享
required: false
type: text
edit: true

View File

@ -0,0 +1,32 @@
version: '3'
services:
slink:
image: anirdev/slink:latest
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:3000"
volumes:
- ${DATA_PATH}/var/data:/app/var/data
- ${DATA_PATH}/images:/app/slink/images
environment:
- ORIGIN=${ORIGIN}
- USER_APPROVAL_REQUIRED=${USER_APPROVAL_REQUIRED}
- USER_ALLOW_UNAUTHENTICATED_ACCESS=${USER_ALLOW_UNAUTHENTICATED_ACCESS}
- USER_PASSWORD_MIN_LENGTH=${USER_PASSWORD_MIN_LENGTH}
- USER_PASSWORD_REQUIREMENTS=${USER_PASSWORD_REQUIREMENTS}
- IMAGE_MAX_SIZE=${IMAGE_MAX_SIZE}
- IMAGE_STRIP_EXIF_METADATA=${IMAGE_STRIP_EXIF_METADATA}
- STORAGE_PROVIDER=${STORAGE_PROVIDER}
- SMB_HOST=${SMB_HOST}
- SMB_USERNAME=${SMB_USERNAME}
- SMB_PASSWORD=${SMB_PASSWORD}
- SMB_SHARE=${SMB_SHARE}
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true

BIN
apps/slink/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB