应用 Artalk

Signed-off-by: 萌森 <qyg2297248353@163.com>
This commit is contained in:
萌森 2024-09-02 15:36:39 +08:00
parent 6e46514f44
commit 5cdfdcfde3
9 changed files with 365 additions and 7 deletions

187
apps/artalk/2.8.7/data.yml Normal file
View File

@ -0,0 +1,187 @@
additionalProperties:
formFields:
- child:
default: ""
envKey: PANEL_DB_HOST
required: true
type: service
default: postgresql
envKey: PANEL_DB_TYPE
labelZh: 数据库服务 (前置检查)
labelEn: Database Service
required: true
type: apps
values:
- label: PostgreSQL
value: postgresql
- label: MySQL
value: mysql
- label: MariaDB
value: mariadb
- label: Percona
value: percona
- default: "/home/artalk"
edit: true
envKey: ARTALK_ROOT_PATH
labelZh: 数据持久化路径
labelEn: Data persistence path
required: true
type: text
- default: 23366
edit: true
envKey: PANEL_APP_PORT_HTTP
labelZh: API 端口
labelEn: API Port
required: true
rule: paramPort
type: number
- default: ""
edit: true
envKey: ATK_APP_KEY
labelZh: 应用密钥
labelEn: App key
required: true
type: password
- default: "admin"
edit: true
envKey: ATK_ADMIN_USERS_0_NAME
labelZh: 管理员用户名
labelEn: Admin username
required: true
type: text
- default: "admin@admin.com"
edit: true
envKey: ATK_ADMIN_USERS_0_EMAIL
labelZh: 管理员邮箱
labelEn: Admin email
required: true
type: text
- default: "(bcrypt)$2y$10$ti4vZYIrxVN8rLcYXVgXCO.GJND0dyI49r7IoF3xqIx8bBRmIBZRm"
edit: true
envKey: ATK_ADMIN_USERS_0_PASSWORD
labelZh: 管理员密码
labelEn: Admin password
required: true
type: text
- default: "管理员"
edit: true
envKey: ATK_ADMIN_USERS_0_BADGE_NAME
labelZh: 管理员徽章名称
labelEn: Admin badge name
required: true
type: text
- default: "#0083FF"
edit: true
envKey: ATK_ADMIN_USERS_0_BADGE_COLOR
labelZh: 管理员徽章颜色
labelEn: Admin badge color
required: true
type: text
- default: "Artalk 的博客"
edit: true
envKey: ATK_SITE_DEFAULT
labelZh: 站点名称
labelEn: Site name
required: true
type: text
- default: "http://127.0.0.1"
edit: true
envKey: ATK_TRUSTED_DOMAINS
labelZh: 受信任的域名 (多个域名用空格分隔)
labelEn: Trusted domains (separated by spaces)
required: true
type: text
- default: 259200
edit: true
envKey: ATK_LOGIN_TIMEOUT
labelZh: 登录超时时间 (秒)
labelEn: Login timeout (seconds)
required: true
type: nubmer
- default: "zh-CN"
edit: true
envKey: ATK_LOCALE
labelZh: 站点语言
labelEn: Site language
required: true
type: select
values:
- label: 简体中文
value: "zh-CN"
- label: English
value: "en"
- label: 繁体中文
value: "zh-TW"
- label: 日本語
value: "ja"
- label: Français
value: "fr"
- label: Deutsch
value: "ko"
- label: Русский
value: "ru"
- default: "province"
edit: true
envKey: ATK_IP_REGION_PRECISION
labelZh: IP 地址精度
labelEn: IP address precision
required: true
type: select
values:
- label: 国家
value: "country"
- label: 省份
value: "province"
- label: 城市
value: "city"
- default: "pgsql"
edit: true
envKey: ATK_DB_TYPE
labelZh: 数据库 类型
labelEn: Database Type
required: true
type: select
values:
- label: PostgreSQL
value: "pgsql"
- label: MySQL (MariaDB, Percona)
value: "mysql"
- default: "127.0.0.1"
edit: true
envKey: ATK_DB_HOST
labelZh: 数据库 主机地址
labelEn: Database Host
required: true
type: text
- default: 5432
edit: true
envKey: ATK_DB_PORT
labelZh: 数据库 端口
labelEn: Database Port
required: true
rule: paramPort
type: number
- default: "artalk"
edit: true
envKey: ATK_DB_NAME
labelZh: 数据库 名称
labelEn: Database Name
required: true
rule: paramCommon
type: text
- default: "artalk"
edit: true
envKey: ATK_DB_USER
labelZh: 数据库 用户名
labelEn: Database Username
required: true
type: text
- default: ""
edit: true
envKey: ATK_DB_PASSWORD
labelZh: 数据库 密码
labelEn: Database Password
random: true
required: true
rule: paramComplexity
type: password

View File

@ -0,0 +1,27 @@
networks:
1panel-network:
external: true
services:
artalk:
image: artalk/artalk-go:2.8.7
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- 1panel-network
ports:
- ${PANEL_APP_PORT_HTTP}:23366
env_file:
- /etc/1panel/envs/global.env
- ${ENV_FILE:-/etc/1panel/envs/default.env}
volumes:
- ${ARTALK_ROOT_PATH}/data:/data
environment:
- TZ=Asia/Shanghai
- ATK_DEBUG=false
- ATK_HOST=0.0.0.0
- ATK_PORT=23366
- ATK_IP_REGION_ENABLED=true
- ATK_DB_TABLE_PREFIX=atk_

View File

@ -0,0 +1,15 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@ -0,0 +1,10 @@
#!/bin/bash
if [ -f .env ]; then
source .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@ -0,0 +1,15 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

85
apps/artalk/README.md Normal file
View File

@ -0,0 +1,85 @@
# Artalk
一个自托管的评论系统
![DeepLX](https://file.lifebus.top/imgs/artalk_cover.png)
Artalk 是一款简单易用但功能丰富的评论系统你可以开箱即用地部署并置入任何博客、网站、Web 应用。
![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue)
## 亮点
🍃 前端 ~40KB纯天然 Vanilla JS
🍱 后端 Golang高效轻量跨平台
🐳 通过 Docker 一键部署,方便快捷
🌈 开源程序,自托管,隐私至上
## 特性
| 特性 | 描述 |
|:---:|:-------------------------|
| 📚 | 侧边栏: 快速管理、直观浏览 |
| 🔐 | 社交登录: 通过社交账号快速登录 |
| 💌 | 邮件通知: 多种发送方式、邮件模板 |
| 📢 | 多元推送: 多种推送方式、通知模版 |
| 🔔 | 站内通知: 红点标记、提及列表 |
| 🔒 | 验证码: 多种验证类型、频率限制 |
| 🚫 | 评论审核: 内容检测、垃圾拦截 |
| 📸 | 图片上传: 自定义上传、支持图床 |
| 📝 | Markdown: 支持 Markdown 语法 |
| 😄 | 表情包: 兼容 OwO快速集成 |
| 🌐 | 多站点: 站点隔离、集中管理 |
| 👤 | 管理员: 密码验证、徽章标识 |
| 📑 | 页面管理: 快速查看、标题一键跳转 |
| 📊 | 浏览量统计: 轻松统计网页浏览量 |
| 📖 | 层级结构: 嵌套分页列表、滚动加载 |
| 🔼 | 评论投票: 赞同或反对评论 |
| 🔄 | 评论排序: 多种排序方式,自由选择 |
| 🔍 | 评论搜索: 快速搜索评论内容 |
| 🔝 | 评论置顶: 重要消息置顶显示 |
| 👀 | 仅看作者: 仅显示作者的评论 |
| 🔗 | 评论跳转: 快速跳转到引用的评论 |
| 💾 | 自动保存: 输入内容防丢功能 |
| 🌍 | IP 属地: 用户 IP 属地展示 |
| 📦 | 数据迁移: 自由迁移、快速备份 |
| 🖼️ | 图片灯箱: 图片灯箱快速集成 |
| 📱 | 图片懒加载: 延迟加载图片,优化体验 |
| 📐 | Latex: Latex 公式解析集成 |
| 🌙 | 夜间模式: 夜间模式切换 |
| 🔧 | 扩展插件: 创造更多可能性 |
| 🌐 | 多语言: 多国语言切换 |
| 💻 | 命令行: 命令行操作管理能力 |
| 📜 | API 文档: 提供 OpenAPI 格式文档 |
| 🚀 | 程序升级: 版本检测,一键升级 |
## 安装说明
### `应用密钥` 配置
数据加密密钥,非管理员密码。
### `管理员密码` 配置
管理员密码,用于登录后台管理。
基本格式:`(加密方式)加密后的密码`
示例密码:`123456`
#### 加密方式:`md5`
填写案例:`(md5)e10adc3949ba59abbe56e057f20f883e`
#### 加密方式:`bcrypt`
填写案例:`(bcrypt)$2a$10$yS/EhHU1xqjNpboe8DWkb.AvWdBb5/.Ny3reXy8SltlVaquiSGwzu`
---
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)

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

@ -0,0 +1,19 @@
name: Artalk
title: Artalk
description: 一个自托管的评论系统
additionalProperties:
key: artalk
name: Artalk
tags:
- WebSite
- Tool
- Middleware
- Local
shortDescZh: 一个自托管的评论系统
shortDescEn: A Self-hosted Comment System
type: website
crossVersionUpdate: true
limit: 0
website: https://artalk.js.org/
github: https://github.com/ArtalkJS/Artalk
document: https://artalk.js.org/guide/intro.html

BIN
apps/artalk/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -50,13 +50,6 @@ additionalProperties:
labelEn: Remember me token validity
required: true
type: text
- default: "127.0.0.1"
edit: true
envKey: DB_HOSTNAME
labelZh: 数据库 主机地址
labelEn: Database Host
required: true
type: text
- default: "postgresql"
edit: true
envKey: DB_TYPE
@ -69,6 +62,13 @@ additionalProperties:
value: postgresql
- label: MySQL (MariaDB, Percona)
value: mysql
- default: "127.0.0.1"
edit: true
envKey: DB_HOSTNAME
labelZh: 数据库 主机地址
labelEn: Database Host
required: true
type: text
- default: 5432
edit: true
envKey: DB_PORT