Processed apps directory via GitHub Actions

This commit is contained in:
QYG2297248353
2026-04-04 04:52:39 +00:00
parent 57ac43f94c
commit 62feb172a6
88 changed files with 3263 additions and 15 deletions
+3 -3
View File
@@ -11,7 +11,7 @@ services:
condition: service_healthy
environment:
- TZ=Asia/Shanghai
image: dujiaonext/admin:v0.1.5
image: dujiaonext/admin:v0.1.8
networks:
- dujiao-net
ports:
@@ -36,7 +36,7 @@ services:
- -qO-
- http://127.0.0.1:8080/health
timeout: 3s
image: dujiaonext/api:v0.1.8
image: dujiaonext/api:v1.0.0
labels:
createdBy: Apps
networks:
@@ -56,7 +56,7 @@ services:
condition: service_healthy
environment:
- TZ=Asia/Shanghai
image: dujiaonext/user:v0.1.7
image: dujiaonext/user:v1.0.0
networks:
- dujiao-net
ports:
+36
View File
@@ -0,0 +1,36 @@
# Redis 服务 (前置检查) [必填]
PANEL_REDIS_TYPE=redis
# 数据持久化路径 [必填]
DUJIAONEXT_ROOT_PATH=/home/dujiaonext
# WebUI 端口 [必填]
PANEL_APP_PORT_HTTP=8080
# WebUI 后台端口 [必填]
PANEL_APP_PORT_ADMIN=8081
# API 端口 [必填]
PANEL_APP_PORT_API=8082
# 管理员用户名 [必填]
DJ_DEFAULT_ADMIN_USERNAME=admin
# 管理员密码 [必填]
DJ_DEFAULT_ADMIN_PASSWORD=
# JWT 密钥 [必填]
JWT_SECRET=efd8bd2b3ecdca06dba6b6213bf46e7a16b9045bda6420828eeeb8f7e36c755f
# 用户 JWT 密钥 [必填]
USER_JWT_SECRET=d13e38a2b2d582a4f5bcfda44ae5aa9c4bd93643ff308f0e5b45833aec28af20
# Redis 主机 [必填]
REDIS_HOST=127.0.0.1
# Redis 端口 [必填]
REDIS_PORT=6379
# Redis 连接密码
REDIS_PASSWORD=
+128
View File
@@ -0,0 +1,128 @@
server:
host: 0.0.0.0
port: 8080
mode: debug
log:
dir: ""
filename: app.log
max_size_mb: 100
max_backups: 7
max_age_days: 30
compress: true
database:
driver: sqlite
dsn: ./db/dujiao.db?_busy_timeout=5000&_journal_mode=WAL&_synchronous=NORMAL
pool:
max_open_conns: 1
max_idle_conns: 1
conn_max_lifetime_seconds: 0
conn_max_idle_time_seconds: 0
jwt:
secret: "dev-admin-jwt-secret-change-me-please-32chars"
expire_hours: 24
user_jwt:
secret: "dev-user-jwt-secret-change-me-please-32chars"
expire_hours: 24
remember_me_expire_hours: 168
bootstrap:
default_admin_username: ""
default_admin_password: ""
redis:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 0
prefix: "dj"
queue:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 1
concurrency: 10
queues:
default: 10
critical: 5
upload:
max_size: 10485760
allowed_types:
- image/jpeg
- image/png
- image/gif
- image/webp
allowed_extensions:
- .jpg
- .jpeg
- .png
- .gif
- .webp
max_width: 4096
max_height: 4096
cors:
allowed_origins:
- "*"
allowed_methods:
- GET
- POST
- PUT
- PATCH
- DELETE
- OPTIONS
allowed_headers:
- Content-Type
- Content-Length
- Accept-Encoding
- Authorization
- Cache-Control
- X-Requested-With
- X-CSRF-Token
allow_credentials: true
max_age: 600
security:
login_rate_limit:
window_seconds: 300
max_attempts: 5
block_seconds: 900
password_policy:
min_length: 8
require_upper: true
require_lower: true
require_number: true
require_special: false
telegram_auth:
enabled: false
bot_username: ""
bot_token: ""
login_expire_seconds: 300
replay_ttl_seconds: 300
email:
enabled: true
host: smtp.xxx.com
port: 465
username: your-username
password: your-password
from: your-email
from_name: your-name
use_tls: false
use_ssl: true
verify_code:
expire_minutes: 10
send_interval_seconds: 60
max_attempts: 5
length: 6
order:
payment_expire_minutes: 15
+64
View File
@@ -0,0 +1,64 @@
networks:
1panel-network:
external: true
dujiao-net:
driver: bridge
services:
dujiaonext-admin:
container_name: admin-0.1.5
depends_on:
dujiaonext-api:
condition: service_healthy
environment:
- TZ=Asia/Shanghai
image: dujiaonext/admin:v1.0.0
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_ADMIN}:80
restart: always
dujiaonext-api:
container_name: 0.1.5
env_file:
- ./envs/global.env
- .env
environment:
- TZ=Asia/Shanghai
- QUEUE_HOST=${REDIS_HOST:-}
- QUEUE_PORT=${REDIS_PORT:-}
- QUEUE_PASSWORD=${REDIS_PASSWORD:-}
healthcheck:
interval: 10s
retries: 10
test:
- CMD
- wget
- -qO-
- http://127.0.0.1:8080/health
timeout: 3s
image: dujiaonext/api:v1.0.0
labels:
createdBy: Apps
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_API}:8080
restart: always
volumes:
- ${DUJIAONEXT_ROOT_PATH}/config/config.yml:/app/config.yml:ro
- ${DUJIAONEXT_ROOT_PATH}/data/db:/app/db
- ${DUJIAONEXT_ROOT_PATH}/data/uploads:/app/uploads
- ${DUJIAONEXT_ROOT_PATH}/data/logs:/app/logs
dujiaonext-user:
container_name: user-0.1.5
depends_on:
dujiaonext-api:
condition: service_healthy
environment:
- TZ=Asia/Shanghai
image: dujiaonext/user:v0.1.7
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_HTTP}:80
restart: always
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai
+36
View File
@@ -0,0 +1,36 @@
# Redis 服务 (前置检查) [必填]
PANEL_REDIS_TYPE=redis
# 数据持久化路径 [必填]
DUJIAONEXT_ROOT_PATH=/home/dujiaonext
# WebUI 端口 [必填]
PANEL_APP_PORT_HTTP=8080
# WebUI 后台端口 [必填]
PANEL_APP_PORT_ADMIN=8081
# API 端口 [必填]
PANEL_APP_PORT_API=8082
# 管理员用户名 [必填]
DJ_DEFAULT_ADMIN_USERNAME=admin
# 管理员密码 [必填]
DJ_DEFAULT_ADMIN_PASSWORD=
# JWT 密钥 [必填]
JWT_SECRET=efd8bd2b3ecdca06dba6b6213bf46e7a16b9045bda6420828eeeb8f7e36c755f
# 用户 JWT 密钥 [必填]
USER_JWT_SECRET=d13e38a2b2d582a4f5bcfda44ae5aa9c4bd93643ff308f0e5b45833aec28af20
# Redis 主机 [必填]
REDIS_HOST=127.0.0.1
# Redis 端口 [必填]
REDIS_PORT=6379
# Redis 连接密码
REDIS_PASSWORD=
+128
View File
@@ -0,0 +1,128 @@
server:
host: 0.0.0.0
port: 8080
mode: debug
log:
dir: ""
filename: app.log
max_size_mb: 100
max_backups: 7
max_age_days: 30
compress: true
database:
driver: sqlite
dsn: ./db/dujiao.db?_busy_timeout=5000&_journal_mode=WAL&_synchronous=NORMAL
pool:
max_open_conns: 1
max_idle_conns: 1
conn_max_lifetime_seconds: 0
conn_max_idle_time_seconds: 0
jwt:
secret: "dev-admin-jwt-secret-change-me-please-32chars"
expire_hours: 24
user_jwt:
secret: "dev-user-jwt-secret-change-me-please-32chars"
expire_hours: 24
remember_me_expire_hours: 168
bootstrap:
default_admin_username: ""
default_admin_password: ""
redis:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 0
prefix: "dj"
queue:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 1
concurrency: 10
queues:
default: 10
critical: 5
upload:
max_size: 10485760
allowed_types:
- image/jpeg
- image/png
- image/gif
- image/webp
allowed_extensions:
- .jpg
- .jpeg
- .png
- .gif
- .webp
max_width: 4096
max_height: 4096
cors:
allowed_origins:
- "*"
allowed_methods:
- GET
- POST
- PUT
- PATCH
- DELETE
- OPTIONS
allowed_headers:
- Content-Type
- Content-Length
- Accept-Encoding
- Authorization
- Cache-Control
- X-Requested-With
- X-CSRF-Token
allow_credentials: true
max_age: 600
security:
login_rate_limit:
window_seconds: 300
max_attempts: 5
block_seconds: 900
password_policy:
min_length: 8
require_upper: true
require_lower: true
require_number: true
require_special: false
telegram_auth:
enabled: false
bot_username: ""
bot_token: ""
login_expire_seconds: 300
replay_ttl_seconds: 300
email:
enabled: true
host: smtp.xxx.com
port: 465
username: your-username
password: your-password
from: your-email
from_name: your-name
use_tls: false
use_ssl: true
verify_code:
expire_minutes: 10
send_interval_seconds: 60
max_attempts: 5
length: 6
order:
payment_expire_minutes: 15
+63
View File
@@ -0,0 +1,63 @@
networks:
1panel-network:
external: true
dujiao-net:
driver: bridge
services:
dujiaonext-api:
image: dujiaonext/api:v1.0.0
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_API}:8080
env_file:
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
- ${ENV_FILE:-/etc/1panel/envs/default.env}
volumes:
- ${DUJIAONEXT_ROOT_PATH}/config/config.yml:/app/config.yml:ro
- ${DUJIAONEXT_ROOT_PATH}/data/db:/app/db
- ${DUJIAONEXT_ROOT_PATH}/data/uploads:/app/uploads
- ${DUJIAONEXT_ROOT_PATH}/data/logs:/app/logs
environment:
- TZ=Asia/Shanghai
- QUEUE_HOST=${REDIS_HOST:-}
- QUEUE_PORT=${REDIS_PORT:-}
- QUEUE_PASSWORD=${REDIS_PASSWORD:-}
healthcheck:
test: [ "CMD", "wget", "-qO-", "http://127.0.0.1:8080/health" ]
interval: 10s
timeout: 3s
retries: 10
dujiaonext-admin:
depends_on:
dujiaonext-api:
condition: service_healthy
image: dujiaonext/admin:v0.1.8
container_name: admin-${CONTAINER_NAME}
restart: always
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_ADMIN}:80
environment:
- TZ=Asia/Shanghai
dujiaonext-user:
depends_on:
dujiaonext-api:
condition: service_healthy
image: dujiaonext/user:v1.0.0
container_name: user-${CONTAINER_NAME}
restart: always
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_HTTP}:80
environment:
- TZ=Asia/Shanghai
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai
+128
View File
@@ -0,0 +1,128 @@
server:
host: 0.0.0.0
port: 8080
mode: debug
log:
dir: ""
filename: app.log
max_size_mb: 100
max_backups: 7
max_age_days: 30
compress: true
database:
driver: sqlite
dsn: ./db/dujiao.db?_busy_timeout=5000&_journal_mode=WAL&_synchronous=NORMAL
pool:
max_open_conns: 1
max_idle_conns: 1
conn_max_lifetime_seconds: 0
conn_max_idle_time_seconds: 0
jwt:
secret: "dev-admin-jwt-secret-change-me-please-32chars"
expire_hours: 24
user_jwt:
secret: "dev-user-jwt-secret-change-me-please-32chars"
expire_hours: 24
remember_me_expire_hours: 168
bootstrap:
default_admin_username: ""
default_admin_password: ""
redis:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 0
prefix: "dj"
queue:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 1
concurrency: 10
queues:
default: 10
critical: 5
upload:
max_size: 10485760
allowed_types:
- image/jpeg
- image/png
- image/gif
- image/webp
allowed_extensions:
- .jpg
- .jpeg
- .png
- .gif
- .webp
max_width: 4096
max_height: 4096
cors:
allowed_origins:
- "*"
allowed_methods:
- GET
- POST
- PUT
- PATCH
- DELETE
- OPTIONS
allowed_headers:
- Content-Type
- Content-Length
- Accept-Encoding
- Authorization
- Cache-Control
- X-Requested-With
- X-CSRF-Token
allow_credentials: true
max_age: 600
security:
login_rate_limit:
window_seconds: 300
max_attempts: 5
block_seconds: 900
password_policy:
min_length: 8
require_upper: true
require_lower: true
require_number: true
require_special: false
telegram_auth:
enabled: false
bot_username: ""
bot_token: ""
login_expire_seconds: 300
replay_ttl_seconds: 300
email:
enabled: true
host: smtp.xxx.com
port: 465
username: your-username
password: your-password
from: your-email
from_name: your-name
use_tls: false
use_ssl: true
verify_code:
expire_minutes: 10
send_interval_seconds: 60
max_attempts: 5
length: 6
order:
payment_expire_minutes: 15
+64
View File
@@ -0,0 +1,64 @@
networks:
1panel-network:
external: true
dujiao-net:
driver: bridge
services:
dujiaonext-admin:
container_name: admin-0.1.8
depends_on:
dujiaonext-api:
condition: service_healthy
environment:
- TZ=Asia/Shanghai
image: dujiaonext/admin:v0.1.8
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_ADMIN}:80
restart: always
dujiaonext-api:
container_name: 0.1.8
env_file:
- ./envs/global.env
- .env
environment:
- TZ=Asia/Shanghai
- QUEUE_HOST=${REDIS_HOST:-}
- QUEUE_PORT=${REDIS_PORT:-}
- QUEUE_PASSWORD=${REDIS_PASSWORD:-}
healthcheck:
interval: 10s
retries: 10
test:
- CMD
- wget
- -qO-
- http://127.0.0.1:8080/health
timeout: 3s
image: dujiaonext/api:v1.0.0
labels:
createdBy: Apps
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_API}:8080
restart: always
volumes:
- ${DUJIAONEXT_ROOT_PATH}/config/config.yml:/app/config.yml:ro
- ${DUJIAONEXT_ROOT_PATH}/data/db:/app/db
- ${DUJIAONEXT_ROOT_PATH}/data/uploads:/app/uploads
- ${DUJIAONEXT_ROOT_PATH}/data/logs:/app/logs
dujiaonext-user:
container_name: user-0.1.8
depends_on:
dujiaonext-api:
condition: service_healthy
environment:
- TZ=Asia/Shanghai
image: dujiaonext/user:v1.0.0
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_HTTP}:80
restart: always
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai
+36
View File
@@ -0,0 +1,36 @@
# Redis 服务 (前置检查) [必填]
PANEL_REDIS_TYPE=redis
# 数据持久化路径 [必填]
DUJIAONEXT_ROOT_PATH=/home/dujiaonext
# WebUI 端口 [必填]
PANEL_APP_PORT_HTTP=8080
# WebUI 后台端口 [必填]
PANEL_APP_PORT_ADMIN=8081
# API 端口 [必填]
PANEL_APP_PORT_API=8082
# 管理员用户名 [必填]
DJ_DEFAULT_ADMIN_USERNAME=admin
# 管理员密码 [必填]
DJ_DEFAULT_ADMIN_PASSWORD=
# JWT 密钥 [必填]
JWT_SECRET=efd8bd2b3ecdca06dba6b6213bf46e7a16b9045bda6420828eeeb8f7e36c755f
# 用户 JWT 密钥 [必填]
USER_JWT_SECRET=d13e38a2b2d582a4f5bcfda44ae5aa9c4bd93643ff308f0e5b45833aec28af20
# Redis 主机 [必填]
REDIS_HOST=127.0.0.1
# Redis 端口 [必填]
REDIS_PORT=6379
# Redis 连接密码
REDIS_PASSWORD=
+128
View File
@@ -0,0 +1,128 @@
server:
host: 0.0.0.0
port: 8080
mode: debug
log:
dir: ""
filename: app.log
max_size_mb: 100
max_backups: 7
max_age_days: 30
compress: true
database:
driver: sqlite
dsn: ./db/dujiao.db?_busy_timeout=5000&_journal_mode=WAL&_synchronous=NORMAL
pool:
max_open_conns: 1
max_idle_conns: 1
conn_max_lifetime_seconds: 0
conn_max_idle_time_seconds: 0
jwt:
secret: "dev-admin-jwt-secret-change-me-please-32chars"
expire_hours: 24
user_jwt:
secret: "dev-user-jwt-secret-change-me-please-32chars"
expire_hours: 24
remember_me_expire_hours: 168
bootstrap:
default_admin_username: ""
default_admin_password: ""
redis:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 0
prefix: "dj"
queue:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 1
concurrency: 10
queues:
default: 10
critical: 5
upload:
max_size: 10485760
allowed_types:
- image/jpeg
- image/png
- image/gif
- image/webp
allowed_extensions:
- .jpg
- .jpeg
- .png
- .gif
- .webp
max_width: 4096
max_height: 4096
cors:
allowed_origins:
- "*"
allowed_methods:
- GET
- POST
- PUT
- PATCH
- DELETE
- OPTIONS
allowed_headers:
- Content-Type
- Content-Length
- Accept-Encoding
- Authorization
- Cache-Control
- X-Requested-With
- X-CSRF-Token
allow_credentials: true
max_age: 600
security:
login_rate_limit:
window_seconds: 300
max_attempts: 5
block_seconds: 900
password_policy:
min_length: 8
require_upper: true
require_lower: true
require_number: true
require_special: false
telegram_auth:
enabled: false
bot_username: ""
bot_token: ""
login_expire_seconds: 300
replay_ttl_seconds: 300
email:
enabled: true
host: smtp.xxx.com
port: 465
username: your-username
password: your-password
from: your-email
from_name: your-name
use_tls: false
use_ssl: true
verify_code:
expire_minutes: 10
send_interval_seconds: 60
max_attempts: 5
length: 6
order:
payment_expire_minutes: 15
+64
View File
@@ -0,0 +1,64 @@
networks:
1panel-network:
external: true
dujiao-net:
driver: bridge
services:
dujiaonext-admin:
container_name: admin-0.1.8
depends_on:
dujiaonext-api:
condition: service_healthy
environment:
- TZ=Asia/Shanghai
image: dujiaonext/admin:v1.0.0
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_ADMIN}:80
restart: always
dujiaonext-api:
container_name: 0.1.8
env_file:
- ./envs/global.env
- .env
environment:
- TZ=Asia/Shanghai
- QUEUE_HOST=${REDIS_HOST:-}
- QUEUE_PORT=${REDIS_PORT:-}
- QUEUE_PASSWORD=${REDIS_PASSWORD:-}
healthcheck:
interval: 10s
retries: 10
test:
- CMD
- wget
- -qO-
- http://127.0.0.1:8080/health
timeout: 3s
image: dujiaonext/api:v0.1.8
labels:
createdBy: Apps
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_API}:8080
restart: always
volumes:
- ${DUJIAONEXT_ROOT_PATH}/config/config.yml:/app/config.yml:ro
- ${DUJIAONEXT_ROOT_PATH}/data/db:/app/db
- ${DUJIAONEXT_ROOT_PATH}/data/uploads:/app/uploads
- ${DUJIAONEXT_ROOT_PATH}/data/logs:/app/logs
dujiaonext-user:
container_name: user-0.1.8
depends_on:
dujiaonext-api:
condition: service_healthy
environment:
- TZ=Asia/Shanghai
image: dujiaonext/user:v1.0.0
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_HTTP}:80
restart: always
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai
@@ -0,0 +1,128 @@
server:
host: 0.0.0.0
port: 8080
mode: debug
log:
dir: ""
filename: app.log
max_size_mb: 100
max_backups: 7
max_age_days: 30
compress: true
database:
driver: sqlite
dsn: ./db/dujiao.db?_busy_timeout=5000&_journal_mode=WAL&_synchronous=NORMAL
pool:
max_open_conns: 1
max_idle_conns: 1
conn_max_lifetime_seconds: 0
conn_max_idle_time_seconds: 0
jwt:
secret: "dev-admin-jwt-secret-change-me-please-32chars"
expire_hours: 24
user_jwt:
secret: "dev-user-jwt-secret-change-me-please-32chars"
expire_hours: 24
remember_me_expire_hours: 168
bootstrap:
default_admin_username: ""
default_admin_password: ""
redis:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 0
prefix: "dj"
queue:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 1
concurrency: 10
queues:
default: 10
critical: 5
upload:
max_size: 10485760
allowed_types:
- image/jpeg
- image/png
- image/gif
- image/webp
allowed_extensions:
- .jpg
- .jpeg
- .png
- .gif
- .webp
max_width: 4096
max_height: 4096
cors:
allowed_origins:
- "*"
allowed_methods:
- GET
- POST
- PUT
- PATCH
- DELETE
- OPTIONS
allowed_headers:
- Content-Type
- Content-Length
- Accept-Encoding
- Authorization
- Cache-Control
- X-Requested-With
- X-CSRF-Token
allow_credentials: true
max_age: 600
security:
login_rate_limit:
window_seconds: 300
max_attempts: 5
block_seconds: 900
password_policy:
min_length: 8
require_upper: true
require_lower: true
require_number: true
require_special: false
telegram_auth:
enabled: false
bot_username: ""
bot_token: ""
login_expire_seconds: 300
replay_ttl_seconds: 300
email:
enabled: true
host: smtp.xxx.com
port: 465
username: your-username
password: your-password
from: your-email
from_name: your-name
use_tls: false
use_ssl: true
verify_code:
expire_minutes: 10
send_interval_seconds: 60
max_attempts: 5
length: 6
order:
payment_expire_minutes: 15
@@ -0,0 +1,63 @@
networks:
1panel-network:
external: true
dujiao-net:
driver: bridge
services:
dujiaonext-api:
image: dujiaonext/api:v1.0.0
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_API}:8080
env_file:
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
- ${ENV_FILE:-/etc/1panel/envs/default.env}
volumes:
- ${DUJIAONEXT_ROOT_PATH}/config/config.yml:/app/config.yml:ro
- ${DUJIAONEXT_ROOT_PATH}/data/db:/app/db
- ${DUJIAONEXT_ROOT_PATH}/data/uploads:/app/uploads
- ${DUJIAONEXT_ROOT_PATH}/data/logs:/app/logs
environment:
- TZ=Asia/Shanghai
- QUEUE_HOST=${REDIS_HOST:-}
- QUEUE_PORT=${REDIS_PORT:-}
- QUEUE_PASSWORD=${REDIS_PASSWORD:-}
healthcheck:
test: [ "CMD", "wget", "-qO-", "http://127.0.0.1:8080/health" ]
interval: 10s
timeout: 3s
retries: 10
dujiaonext-admin:
depends_on:
dujiaonext-api:
condition: service_healthy
image: dujiaonext/admin:v0.1.8
container_name: admin-${CONTAINER_NAME}
restart: always
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_ADMIN}:80
environment:
- TZ=Asia/Shanghai
dujiaonext-user:
depends_on:
dujiaonext-api:
condition: service_healthy
image: dujiaonext/user:v1.0.0
container_name: user-${CONTAINER_NAME}
restart: always
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_HTTP}:80
environment:
- TZ=Asia/Shanghai
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai
+128
View File
@@ -0,0 +1,128 @@
server:
host: 0.0.0.0
port: 8080
mode: debug
log:
dir: ""
filename: app.log
max_size_mb: 100
max_backups: 7
max_age_days: 30
compress: true
database:
driver: sqlite
dsn: ./db/dujiao.db?_busy_timeout=5000&_journal_mode=WAL&_synchronous=NORMAL
pool:
max_open_conns: 1
max_idle_conns: 1
conn_max_lifetime_seconds: 0
conn_max_idle_time_seconds: 0
jwt:
secret: "dev-admin-jwt-secret-change-me-please-32chars"
expire_hours: 24
user_jwt:
secret: "dev-user-jwt-secret-change-me-please-32chars"
expire_hours: 24
remember_me_expire_hours: 168
bootstrap:
default_admin_username: ""
default_admin_password: ""
redis:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 0
prefix: "dj"
queue:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 1
concurrency: 10
queues:
default: 10
critical: 5
upload:
max_size: 10485760
allowed_types:
- image/jpeg
- image/png
- image/gif
- image/webp
allowed_extensions:
- .jpg
- .jpeg
- .png
- .gif
- .webp
max_width: 4096
max_height: 4096
cors:
allowed_origins:
- "*"
allowed_methods:
- GET
- POST
- PUT
- PATCH
- DELETE
- OPTIONS
allowed_headers:
- Content-Type
- Content-Length
- Accept-Encoding
- Authorization
- Cache-Control
- X-Requested-With
- X-CSRF-Token
allow_credentials: true
max_age: 600
security:
login_rate_limit:
window_seconds: 300
max_attempts: 5
block_seconds: 900
password_policy:
min_length: 8
require_upper: true
require_lower: true
require_number: true
require_special: false
telegram_auth:
enabled: false
bot_username: ""
bot_token: ""
login_expire_seconds: 300
replay_ttl_seconds: 300
email:
enabled: true
host: smtp.xxx.com
port: 465
username: your-username
password: your-password
from: your-email
from_name: your-name
use_tls: false
use_ssl: true
verify_code:
expire_minutes: 10
send_interval_seconds: 60
max_attempts: 5
length: 6
order:
payment_expire_minutes: 15
@@ -0,0 +1,63 @@
networks:
1panel-network:
external: true
dujiao-net:
driver: bridge
services:
dujiaonext-api:
image: dujiaonext/api:v1.0.0
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_API}:8080
env_file:
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
- ${ENV_FILE:-/etc/1panel/envs/default.env}
volumes:
- ${DUJIAONEXT_ROOT_PATH}/config/config.yml:/app/config.yml:ro
- ${DUJIAONEXT_ROOT_PATH}/data/db:/app/db
- ${DUJIAONEXT_ROOT_PATH}/data/uploads:/app/uploads
- ${DUJIAONEXT_ROOT_PATH}/data/logs:/app/logs
environment:
- TZ=Asia/Shanghai
- QUEUE_HOST=${REDIS_HOST:-}
- QUEUE_PORT=${REDIS_PORT:-}
- QUEUE_PASSWORD=${REDIS_PASSWORD:-}
healthcheck:
test: [ "CMD", "wget", "-qO-", "http://127.0.0.1:8080/health" ]
interval: 10s
timeout: 3s
retries: 10
dujiaonext-admin:
depends_on:
dujiaonext-api:
condition: service_healthy
image: dujiaonext/admin:v0.1.8
container_name: admin-${CONTAINER_NAME}
restart: always
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_ADMIN}:80
environment:
- TZ=Asia/Shanghai
dujiaonext-user:
depends_on:
dujiaonext-api:
condition: service_healthy
image: dujiaonext/user:v1.0.0
container_name: user-${CONTAINER_NAME}
restart: always
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_HTTP}:80
environment:
- TZ=Asia/Shanghai
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai
+2 -2
View File
@@ -38,7 +38,7 @@ services:
depends_on:
dujiaonext-api:
condition: service_healthy
image: dujiaonext/admin:v0.1.5
image: dujiaonext/admin:v1.0.0
container_name: admin-${CONTAINER_NAME}
restart: always
networks:
@@ -52,7 +52,7 @@ services:
depends_on:
dujiaonext-api:
condition: service_healthy
image: dujiaonext/user:v0.1.7
image: dujiaonext/user:v1.0.0
container_name: user-${CONTAINER_NAME}
restart: always
networks:
+2 -2
View File
@@ -11,7 +11,7 @@ services:
condition: service_healthy
environment:
- TZ=Asia/Shanghai
image: dujiaonext/admin:v0.1.6
image: dujiaonext/admin:v1.0.0
networks:
- dujiao-net
ports:
@@ -56,7 +56,7 @@ services:
condition: service_healthy
environment:
- TZ=Asia/Shanghai
image: dujiaonext/user:v0.1.5
image: dujiaonext/user:v1.0.0
networks:
- dujiao-net
ports:
+36
View File
@@ -0,0 +1,36 @@
# Redis 服务 (前置检查) [必填]
PANEL_REDIS_TYPE=redis
# 数据持久化路径 [必填]
DUJIAONEXT_ROOT_PATH=/home/dujiaonext
# WebUI 端口 [必填]
PANEL_APP_PORT_HTTP=8080
# WebUI 后台端口 [必填]
PANEL_APP_PORT_ADMIN=8081
# API 端口 [必填]
PANEL_APP_PORT_API=8082
# 管理员用户名 [必填]
DJ_DEFAULT_ADMIN_USERNAME=admin
# 管理员密码 [必填]
DJ_DEFAULT_ADMIN_PASSWORD=
# JWT 密钥 [必填]
JWT_SECRET=efd8bd2b3ecdca06dba6b6213bf46e7a16b9045bda6420828eeeb8f7e36c755f
# 用户 JWT 密钥 [必填]
USER_JWT_SECRET=d13e38a2b2d582a4f5bcfda44ae5aa9c4bd93643ff308f0e5b45833aec28af20
# Redis 主机 [必填]
REDIS_HOST=127.0.0.1
# Redis 端口 [必填]
REDIS_PORT=6379
# Redis 连接密码
REDIS_PASSWORD=
@@ -0,0 +1,128 @@
server:
host: 0.0.0.0
port: 8080
mode: debug
log:
dir: ""
filename: app.log
max_size_mb: 100
max_backups: 7
max_age_days: 30
compress: true
database:
driver: sqlite
dsn: ./db/dujiao.db?_busy_timeout=5000&_journal_mode=WAL&_synchronous=NORMAL
pool:
max_open_conns: 1
max_idle_conns: 1
conn_max_lifetime_seconds: 0
conn_max_idle_time_seconds: 0
jwt:
secret: "dev-admin-jwt-secret-change-me-please-32chars"
expire_hours: 24
user_jwt:
secret: "dev-user-jwt-secret-change-me-please-32chars"
expire_hours: 24
remember_me_expire_hours: 168
bootstrap:
default_admin_username: ""
default_admin_password: ""
redis:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 0
prefix: "dj"
queue:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 1
concurrency: 10
queues:
default: 10
critical: 5
upload:
max_size: 10485760
allowed_types:
- image/jpeg
- image/png
- image/gif
- image/webp
allowed_extensions:
- .jpg
- .jpeg
- .png
- .gif
- .webp
max_width: 4096
max_height: 4096
cors:
allowed_origins:
- "*"
allowed_methods:
- GET
- POST
- PUT
- PATCH
- DELETE
- OPTIONS
allowed_headers:
- Content-Type
- Content-Length
- Accept-Encoding
- Authorization
- Cache-Control
- X-Requested-With
- X-CSRF-Token
allow_credentials: true
max_age: 600
security:
login_rate_limit:
window_seconds: 300
max_attempts: 5
block_seconds: 900
password_policy:
min_length: 8
require_upper: true
require_lower: true
require_number: true
require_special: false
telegram_auth:
enabled: false
bot_username: ""
bot_token: ""
login_expire_seconds: 300
replay_ttl_seconds: 300
email:
enabled: true
host: smtp.xxx.com
port: 465
username: your-username
password: your-password
from: your-email
from_name: your-name
use_tls: false
use_ssl: true
verify_code:
expire_minutes: 10
send_interval_seconds: 60
max_attempts: 5
length: 6
order:
payment_expire_minutes: 15
@@ -0,0 +1,63 @@
networks:
1panel-network:
external: true
dujiao-net:
driver: bridge
services:
dujiaonext-api:
image: dujiaonext/api:v1.0.0
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_API}:8080
env_file:
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
- ${ENV_FILE:-/etc/1panel/envs/default.env}
volumes:
- ${DUJIAONEXT_ROOT_PATH}/config/config.yml:/app/config.yml:ro
- ${DUJIAONEXT_ROOT_PATH}/data/db:/app/db
- ${DUJIAONEXT_ROOT_PATH}/data/uploads:/app/uploads
- ${DUJIAONEXT_ROOT_PATH}/data/logs:/app/logs
environment:
- TZ=Asia/Shanghai
- QUEUE_HOST=${REDIS_HOST:-}
- QUEUE_PORT=${REDIS_PORT:-}
- QUEUE_PASSWORD=${REDIS_PASSWORD:-}
healthcheck:
test: [ "CMD", "wget", "-qO-", "http://127.0.0.1:8080/health" ]
interval: 10s
timeout: 3s
retries: 10
dujiaonext-admin:
depends_on:
dujiaonext-api:
condition: service_healthy
image: dujiaonext/admin:v1.0.0
container_name: admin-${CONTAINER_NAME}
restart: always
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_ADMIN}:80
environment:
- TZ=Asia/Shanghai
dujiaonext-user:
depends_on:
dujiaonext-api:
condition: service_healthy
image: dujiaonext/user:v0.1.7
container_name: user-${CONTAINER_NAME}
restart: always
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_HTTP}:80
environment:
- TZ=Asia/Shanghai
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai
+128
View File
@@ -0,0 +1,128 @@
server:
host: 0.0.0.0
port: 8080
mode: debug
log:
dir: ""
filename: app.log
max_size_mb: 100
max_backups: 7
max_age_days: 30
compress: true
database:
driver: sqlite
dsn: ./db/dujiao.db?_busy_timeout=5000&_journal_mode=WAL&_synchronous=NORMAL
pool:
max_open_conns: 1
max_idle_conns: 1
conn_max_lifetime_seconds: 0
conn_max_idle_time_seconds: 0
jwt:
secret: "dev-admin-jwt-secret-change-me-please-32chars"
expire_hours: 24
user_jwt:
secret: "dev-user-jwt-secret-change-me-please-32chars"
expire_hours: 24
remember_me_expire_hours: 168
bootstrap:
default_admin_username: ""
default_admin_password: ""
redis:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 0
prefix: "dj"
queue:
enabled: true
host: 127.0.0.1
port: 6379
password: ""
db: 1
concurrency: 10
queues:
default: 10
critical: 5
upload:
max_size: 10485760
allowed_types:
- image/jpeg
- image/png
- image/gif
- image/webp
allowed_extensions:
- .jpg
- .jpeg
- .png
- .gif
- .webp
max_width: 4096
max_height: 4096
cors:
allowed_origins:
- "*"
allowed_methods:
- GET
- POST
- PUT
- PATCH
- DELETE
- OPTIONS
allowed_headers:
- Content-Type
- Content-Length
- Accept-Encoding
- Authorization
- Cache-Control
- X-Requested-With
- X-CSRF-Token
allow_credentials: true
max_age: 600
security:
login_rate_limit:
window_seconds: 300
max_attempts: 5
block_seconds: 900
password_policy:
min_length: 8
require_upper: true
require_lower: true
require_number: true
require_special: false
telegram_auth:
enabled: false
bot_username: ""
bot_token: ""
login_expire_seconds: 300
replay_ttl_seconds: 300
email:
enabled: true
host: smtp.xxx.com
port: 465
username: your-username
password: your-password
from: your-email
from_name: your-name
use_tls: false
use_ssl: true
verify_code:
expire_minutes: 10
send_interval_seconds: 60
max_attempts: 5
length: 6
order:
payment_expire_minutes: 15
@@ -0,0 +1,64 @@
networks:
1panel-network:
external: true
dujiao-net:
driver: bridge
services:
dujiaonext-admin:
container_name: admin-dujiaonext
depends_on:
dujiaonext-api:
condition: service_healthy
environment:
- TZ=Asia/Shanghai
image: dujiaonext/admin:v1.0.0
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_ADMIN}:80
restart: always
dujiaonext-api:
container_name: dujiaonext
env_file:
- ./envs/global.env
- .env
environment:
- TZ=Asia/Shanghai
- QUEUE_HOST=${REDIS_HOST:-}
- QUEUE_PORT=${REDIS_PORT:-}
- QUEUE_PASSWORD=${REDIS_PASSWORD:-}
healthcheck:
interval: 10s
retries: 10
test:
- CMD
- wget
- -qO-
- http://127.0.0.1:8080/health
timeout: 3s
image: dujiaonext/api:v1.0.0
labels:
createdBy: Apps
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_API}:8080
restart: always
volumes:
- ${DUJIAONEXT_ROOT_PATH}/config/config.yml:/app/config.yml:ro
- ${DUJIAONEXT_ROOT_PATH}/data/db:/app/db
- ${DUJIAONEXT_ROOT_PATH}/data/uploads:/app/uploads
- ${DUJIAONEXT_ROOT_PATH}/data/logs:/app/logs
dujiaonext-user:
container_name: user-dujiaonext
depends_on:
dujiaonext-api:
condition: service_healthy
environment:
- TZ=Asia/Shanghai
image: dujiaonext/user:v0.1.5
networks:
- dujiao-net
ports:
- ${PANEL_APP_PORT_HTTP}:80
restart: always
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai
+1 -1
View File
@@ -18,7 +18,7 @@ services:
- OLLAMA_MAX_QUEUE=512
- OLLAMA_FLASH_ATTENTION=0
- OLLAMA_KV_CACHE_TYPE=f16
image: ollama/ollama:0.20.0
image: ollama/ollama:0.20.1
labels:
createdBy: Apps
networks:
+1 -1
View File
@@ -14,7 +14,7 @@ services:
- TZ=Asia/Shanghai
- BACKEND_URL=${BACKEND_URL:-http://rust-srec-backend:8080}
- COOKIE_SECURE=${COOKIE_SECURE:-}
image: ghcr.io/hua0512/rust-srec-frontend:v0.2.0
image: ghcr.io/hua0512/rust-srec-frontend:v0.2.1
labels:
createdBy: Apps
logging: