Compare commits
19 Commits
f8412fcb56
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 44356e5bd2 | |||
| 31249322ec | |||
| 7b7ca65cb4 | |||
| cb28f93bb4 | |||
| 59520afad5 | |||
| 1e588d06cf | |||
| 1e1c0a520c | |||
| e149fba24f | |||
| e3ab1a20c7 | |||
| e71cb3b8a3 | |||
| f62802936e | |||
| a42d76eca7 | |||
| 11b8fdd226 | |||
| be0042fe91 | |||
| d6112931be | |||
| 599fb9e2f7 | |||
| c2d3cae73f | |||
| 52668f795a | |||
| 6f19ecdaf7 |
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# 开源软件Docker部署脚本大全
|
||||||
|
|
||||||
|
本仓库保存经过测试的开源软件Docker部署脚本,确保一次就可以部署成功,所有密码均为工具生成。
|
||||||
@@ -5,13 +5,13 @@ services:
|
|||||||
- db
|
- db
|
||||||
- redis
|
- redis
|
||||||
environment:
|
environment:
|
||||||
APP_URL: 'http://192.168.1.99:3000' #修改IP
|
APP_URL: 'http://192.168.1.99:3000' # 修改为自己的IP
|
||||||
APP_SECRET: 'REPLACE_WITH_LONG_SECRET' #替换为openssl rand -hex 32运行后的结果
|
APP_SECRET: 'f6114f81edd6f00c3fe330b44f601e683f9ba9c7179f632faa4bb43c828dd68f' # 替换为openssl rand -hex 32运行后的结果
|
||||||
DATABASE_URL: 'postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost?schema=public' #修改密码,此处为工具生成
|
DATABASE_URL: 'postgresql://docmost:Pw7BZq5DsoBo@db:5432/docmost?schema=public' # 修改密码,此处为工具生成
|
||||||
REDIS_URL: 'redis://redis:6379'
|
REDIS_URL: 'redis://redis:6379'
|
||||||
ports:
|
ports:
|
||||||
- "3000:3000" #修改端口
|
- "3000:3000" # 根据需要修改端口
|
||||||
user: "0:0" #获取运行docker的用户的UID和GID,使用id命令查询
|
user: "0:0" # 此行是为了规避目录权限问题,获取运行docker的用户的UID和GID,使用id命令查询
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- ./docmost:/app/data/storage
|
- ./docmost:/app/data/storage
|
||||||
@@ -21,7 +21,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
POSTGRES_DB: docmost
|
POSTGRES_DB: docmost
|
||||||
POSTGRES_USER: docmost
|
POSTGRES_USER: docmost
|
||||||
POSTGRES_PASSWORD: STRONG_DB_PASSWORD #修改密码,此处为工具生成,同第10行密码
|
POSTGRES_PASSWORD: Pw7BZq5DsoBo # 修改密码,此处为工具生成,同第10行密码
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- ./db_data:/var/lib/postgresql/data
|
- ./db_data:/var/lib/postgresql/data
|
||||||
|
|||||||
28
hedgedoc/docker-compose.yml
Normal file
28
hedgedoc/docker-compose.yml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
services:
|
||||||
|
database:
|
||||||
|
image: postgres:17.7-alpine
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=hedgedoc
|
||||||
|
- POSTGRES_PASSWORD=a4qd7bwok1s5
|
||||||
|
- POSTGRES_DB=hedgedoc
|
||||||
|
volumes:
|
||||||
|
- ./database:/var/lib/postgresql/data
|
||||||
|
restart: always
|
||||||
|
app:
|
||||||
|
image: quay.io/hedgedoc/hedgedoc:1.10.5
|
||||||
|
environment:
|
||||||
|
- CMD_DB_URL=postgres://hedgedoc:a4qd7bwok1s5@database:5432/hedgedoc
|
||||||
|
- CMD_DOMAIN=localhost
|
||||||
|
- CMD_URL_ADDPORT=true
|
||||||
|
- UPLOADS_MODE=0755
|
||||||
|
volumes:
|
||||||
|
- ./uploads:/hedgedoc/public/uploads
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
- database
|
||||||
|
|
||||||
|
# volumes:
|
||||||
|
# database:
|
||||||
|
# uploads:
|
||||||
43
next-terminal/config.yaml
Normal file
43
next-terminal/config.yaml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
Database:
|
||||||
|
Enabled: true
|
||||||
|
Type: postgres
|
||||||
|
Postgres:
|
||||||
|
Hostname: postgresql
|
||||||
|
Port: 5432
|
||||||
|
Username: next-terminal
|
||||||
|
Password: 6j3q0hbku7e5
|
||||||
|
Database: next-terminal
|
||||||
|
ShowSql: false
|
||||||
|
log:
|
||||||
|
Level: debug # 日志等级 debug,info,waring,error
|
||||||
|
Filename: ./logs/nt.log
|
||||||
|
|
||||||
|
Server:
|
||||||
|
Addr: "0.0.0.0:8088"
|
||||||
|
|
||||||
|
App:
|
||||||
|
Website:
|
||||||
|
AccessLog: "./logs/access.log" # web 资产的访问日志路径
|
||||||
|
Recording:
|
||||||
|
Type: "local" # 录屏文件存储位置,可选 local, s3
|
||||||
|
Path: "/usr/local/next-terminal/data/recordings"
|
||||||
|
Guacd:
|
||||||
|
Drive: "/usr/local/next-terminal/data/drive"
|
||||||
|
Hosts:
|
||||||
|
- Hostname: guacd
|
||||||
|
Port: 4822
|
||||||
|
Weight: 1
|
||||||
|
# 反向代理配置,详情参考 https://docs.next-terminal.typesafe.cn/install/config-desc.html
|
||||||
|
ReverseProxy:
|
||||||
|
Enabled: false # 是否启用反向代理
|
||||||
|
HttpEnabled: true # 是否启用 http 反向代理
|
||||||
|
HttpAddr: ":80" # http 监听地址
|
||||||
|
HttpRedirectToHttps: false # 是否强制 http 访问转为 https
|
||||||
|
HttpsEnabled: true # 是否启用 https 反向代理
|
||||||
|
HttpsAddr: ":443" # https 监听地址
|
||||||
|
SelfProxyEnabled: true # 是否启用自代理
|
||||||
|
SelfDomain: "nt.yourdomain.com" # 自代理域名,SelfProxyEnabled 为 true 时生效
|
||||||
|
Root: "" # 系统根路径,SelfProxyEnabled 为 flase 时生效。示例:https://nt.yourdomain.com
|
||||||
|
IpExtractor: "direct" # ip 提取方式,可选 direct, x-forwarded-for, x-real-ip
|
||||||
|
IpTrustList: # 信任的IP地址列表
|
||||||
|
- "0.0.0.0/0"
|
||||||
32
next-terminal/docker-compose.yml
Normal file
32
next-terminal/docker-compose.yml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
services:
|
||||||
|
guacd:
|
||||||
|
container_name: guacd
|
||||||
|
image: registry.cn-beijing.aliyuncs.com/dushixiang/guacd:latest
|
||||||
|
volumes:
|
||||||
|
- ./data:/usr/local/next-terminal/data
|
||||||
|
restart: always
|
||||||
|
postgresql:
|
||||||
|
container_name: postgresql
|
||||||
|
image: registry.cn-beijing.aliyuncs.com/dushixiang/postgres:16.4
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: next-terminal
|
||||||
|
POSTGRES_USER: next-terminal
|
||||||
|
POSTGRES_PASSWORD: next-terminal
|
||||||
|
volumes:
|
||||||
|
- ./data/postgresql:/var/lib/postgresql/data
|
||||||
|
restart: always
|
||||||
|
next-terminal:
|
||||||
|
container_name: next-terminal
|
||||||
|
image: registry.cn-beijing.aliyuncs.com/dushixiang/next-terminal:latest
|
||||||
|
ports:
|
||||||
|
- "8088:8088" # Web管理界面
|
||||||
|
- "2022:2022" # SSH Server 端口 (可选)
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- ./data:/usr/local/next-terminal/data
|
||||||
|
- ./logs:/usr/local/next-terminal/logs
|
||||||
|
- ./config.yaml:/etc/next-terminal/config.yaml
|
||||||
|
depends_on:
|
||||||
|
- postgresql
|
||||||
|
- guacd
|
||||||
|
restart: always
|
||||||
9
nocobase/README.md
Normal file
9
nocobase/README.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# NocoBase配置
|
||||||
|
|
||||||
|
下载:`wget https://git.ossdate.com/fivemoons/oss-scripts/raw/branch/main/nocobase/docker-compose.yml`
|
||||||
|
|
||||||
|
启动:`docker compose up -d`
|
||||||
|
|
||||||
|
启动后使用浏览器打开:`http://IP:13000`
|
||||||
|
|
||||||
|
默认用户名和密码为`admin@nocobase.com`和`admin123`
|
||||||
53
nocobase/docker-compose.yml
Normal file
53
nocobase/docker-compose.yml
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
networks:
|
||||||
|
nocobase:
|
||||||
|
driver: bridge
|
||||||
|
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
# Latest为稳定版,Beta为测试版,Alpha为开发版
|
||||||
|
image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:latest-full
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- nocobase
|
||||||
|
depends_on:
|
||||||
|
- mariadb
|
||||||
|
environment:
|
||||||
|
# 应用的密钥,用于生成用户 token 等
|
||||||
|
# 如果 APP_KEY 修改了,旧的 token 也会随之失效
|
||||||
|
# 可以是任意随机字符串,并确保不对外泄露
|
||||||
|
- APP_KEY=your-secret-key
|
||||||
|
# 数据库类型,支持 postgres, mysql, mariadb
|
||||||
|
- DB_DIALECT=mariadb
|
||||||
|
# 数据库主机,可以替换为已有的数据库服务器 IP
|
||||||
|
- DB_HOST=mariadb
|
||||||
|
# Database port
|
||||||
|
- DB_PORT=3306
|
||||||
|
# 数据库名
|
||||||
|
- DB_DATABASE=nocobase
|
||||||
|
# 数据库用户
|
||||||
|
- DB_USER=root
|
||||||
|
# 数据库密码
|
||||||
|
- DB_PASSWORD=ggo4fnk1748e
|
||||||
|
# 数据库表名、字段名是否转为 snake case 风格
|
||||||
|
- DB_UNDERSCORED=true
|
||||||
|
# 时区
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
volumes:
|
||||||
|
- ./storage:/app/nocobase/storage
|
||||||
|
ports:
|
||||||
|
- '13000:80'
|
||||||
|
# init: true
|
||||||
|
|
||||||
|
# 如果使用已有数据库服务,可以不启动 mariadb
|
||||||
|
mariadb:
|
||||||
|
image: registry.cn-shanghai.aliyuncs.com/nocobase/mariadb:11
|
||||||
|
environment:
|
||||||
|
MYSQL_DATABASE: nocobase
|
||||||
|
MYSQL_USER: nocobase
|
||||||
|
MYSQL_PASSWORD: m3d1c6eea8uw
|
||||||
|
MYSQL_ROOT_PASSWORD: ggo4fnk1748e
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./storage/db/mariadb:/var/lib/mysql
|
||||||
|
networks:
|
||||||
|
- nocobase
|
||||||
50
planka/docker-compose-v1.yml
Normal file
50
planka/docker-compose-v1.yml
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
services:
|
||||||
|
planka:
|
||||||
|
image: ghcr.io/plankanban/planka:1.26.3
|
||||||
|
restart: on-failure
|
||||||
|
volumes:
|
||||||
|
- ./user-avatars:/app/public/user-avatars
|
||||||
|
- ./project-background-images:/app/public/project-background-images
|
||||||
|
- ./attachments:/app/private/attachments
|
||||||
|
ports:
|
||||||
|
- 3000:1337
|
||||||
|
environment:
|
||||||
|
- BASE_URL=http://localhost:3000
|
||||||
|
- DATABASE_URL=postgresql://postgres@postgres/planka
|
||||||
|
- SECRET_KEY=fcd418de1fcc0fd57d06971659f8d2d087148edf2d740f00e50a6f25ec8b2cbfa5dbb73ed51a24eb84ea4fcb0a0188552ba301fd6372cf045d9cc0fb7d8e2c11
|
||||||
|
|
||||||
|
# - LOG_LEVEL=warn
|
||||||
|
|
||||||
|
# - TRUST_PROXY=0
|
||||||
|
# - TOKEN_EXPIRES_IN=365 # In days
|
||||||
|
|
||||||
|
# related: https://github.com/knex/knex/issues/2354
|
||||||
|
# As knex does not pass query parameters from the connection string we
|
||||||
|
# have to use environment variables in order to pass the desired values, e.g.
|
||||||
|
# - PGSSLMODE=<value>
|
||||||
|
|
||||||
|
# Configure knex to accept SSL certificates
|
||||||
|
# - KNEX_REJECT_UNAUTHORIZED_SSL_CERTIFICATE=false
|
||||||
|
|
||||||
|
- DEFAULT_ADMIN_EMAIL=demo@demo.demo # 修改管理员邮箱
|
||||||
|
- DEFAULT_ADMIN_PASSWORD=demo # 修改管理员密码
|
||||||
|
- DEFAULT_ADMIN_NAME=Demo Demo
|
||||||
|
- DEFAULT_ADMIN_USERNAME=demo # 修改管理员用户名
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: postgres:16-alpine
|
||||||
|
restart: on-failure
|
||||||
|
volumes:
|
||||||
|
- ./db-data:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
- POSTGRES_DB=planka
|
||||||
|
- POSTGRES_HOST_AUTH_METHOD=trust
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U postgres -d planka"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
127
planka/docker-compose-v2.yml
Normal file
127
planka/docker-compose-v2.yml
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
services:
|
||||||
|
planka:
|
||||||
|
image: ghcr.io/plankanban/planka:2.0.0-rc.4
|
||||||
|
restart: on-failure
|
||||||
|
# 需对文件夹授权chown -R 1000:1000 /home/planka/
|
||||||
|
volumes:
|
||||||
|
- ./favicons:/app/public/favicons
|
||||||
|
- ./user-avatars:/app/public/user-avatars
|
||||||
|
- ./background-images:/app/public/background-images
|
||||||
|
- ./attachments:/app/private/attachments
|
||||||
|
ports:
|
||||||
|
- 3000:1337
|
||||||
|
environment:
|
||||||
|
- BASE_URL=http://localhost:3000
|
||||||
|
- DATABASE_URL=postgresql://postgres@postgres/planka
|
||||||
|
|
||||||
|
# Optionally store the database password in secrets:
|
||||||
|
# - DATABASE_URL=postgresql://postgres:$${DATABASE_PASSWORD}@postgres/planka
|
||||||
|
# - DATABASE_PASSWORD__FILE=/run/secrets/database_password
|
||||||
|
# And add the following to the service:
|
||||||
|
# secrets:
|
||||||
|
# - database_password
|
||||||
|
|
||||||
|
- SECRET_KEY=notsecretkey # 执行openssl rand -hex 64
|
||||||
|
# Optionally store in secrets - then SECRET_KEY should not be set
|
||||||
|
# - SECRET_KEY__FILE=/run/secrets/secret_key
|
||||||
|
|
||||||
|
# - LOG_LEVEL=warn
|
||||||
|
|
||||||
|
# - TRUST_PROXY=true
|
||||||
|
# - MAX_UPLOAD_FILE_SIZE=
|
||||||
|
# - TOKEN_EXPIRES_IN=365 # In days
|
||||||
|
|
||||||
|
# related: https://github.com/knex/knex/issues/2354
|
||||||
|
# As knex does not pass query parameters from the connection string,
|
||||||
|
# we have to use environment variables in order to pass the desired values, e.g.
|
||||||
|
# - PGSSLMODE=<value>
|
||||||
|
|
||||||
|
# Configure knex to accept SSL certificates
|
||||||
|
# - KNEX_REJECT_UNAUTHORIZED_SSL_CERTIFICATE=false
|
||||||
|
|
||||||
|
# The default application language used as a fallback when a user's language is not set.
|
||||||
|
# This language is also used for per-board notifications.
|
||||||
|
# - DEFAULT_LANGUAGE=en-US
|
||||||
|
|
||||||
|
# Do not comment out DEFAULT_ADMIN_EMAIL if you want to prevent this user from being edited/deleted
|
||||||
|
# - DEFAULT_ADMIN_EMAIL=demo@demo.demo
|
||||||
|
# - DEFAULT_ADMIN_PASSWORD=demo
|
||||||
|
# Optionally store in secrets - then DEFAULT_ADMIN_PASSWORD should not be set
|
||||||
|
# - DEFAULT_ADMIN_PASSWORD__FILE=/run/secrets/default_admin_password
|
||||||
|
# - DEFAULT_ADMIN_NAME=Demo Demo
|
||||||
|
# - DEFAULT_ADMIN_USERNAME=demo
|
||||||
|
|
||||||
|
# - INTERNAL_ACCESS_TOKEN=
|
||||||
|
# - STORAGE_LIMIT=
|
||||||
|
# - ACTIVE_USERS_LIMIT=
|
||||||
|
# - CUSTOMER_PANEL_URL=
|
||||||
|
|
||||||
|
# Set to true to show more detailed authentication error messages.
|
||||||
|
# It should not be enabled without a rate limiter for security reasons.
|
||||||
|
# - SHOW_DETAILED_AUTH_ERRORS=false
|
||||||
|
|
||||||
|
# - S3_ENDPOINT=
|
||||||
|
# - S3_REGION=
|
||||||
|
# - S3_ACCESS_KEY_ID=
|
||||||
|
# - S3_SECRET_ACCESS_KEY=
|
||||||
|
# Optionally store in secrets - then S3_SECRET_ACCESS_KEY should not be set
|
||||||
|
# - S3_SECRET_ACCESS_KEY__FILE=/run/secrets/s3_secret_access_key
|
||||||
|
# - S3_BUCKET=
|
||||||
|
# - S3_FORCE_PATH_STYLE=true
|
||||||
|
|
||||||
|
# - OIDC_ISSUER=
|
||||||
|
# - OIDC_CLIENT_ID=
|
||||||
|
# - OIDC_CLIENT_SECRET=
|
||||||
|
# Optionally store in secrets - then OIDC_CLIENT_SECRET should not be set
|
||||||
|
# - OIDC_CLIENT_SECRET__FILE=/run/secrets/oidc_client_secret
|
||||||
|
# - OIDC_USE_OAUTH_CALLBACK=true
|
||||||
|
# - OIDC_ID_TOKEN_SIGNED_RESPONSE_ALG=
|
||||||
|
# - OIDC_USERINFO_SIGNED_RESPONSE_ALG=
|
||||||
|
# - OIDC_SCOPES=openid email profile
|
||||||
|
# - OIDC_RESPONSE_MODE=fragment
|
||||||
|
# - OIDC_USE_DEFAULT_RESPONSE_MODE=true
|
||||||
|
# - OIDC_ADMIN_ROLES=admin
|
||||||
|
# - OIDC_PROJECT_OWNER_ROLES=project_owner
|
||||||
|
# - OIDC_BOARD_USER_ROLES=board_user
|
||||||
|
# - OIDC_CLAIMS_SOURCE=userinfo
|
||||||
|
# - OIDC_EMAIL_ATTRIBUTE=email
|
||||||
|
# - OIDC_NAME_ATTRIBUTE=name
|
||||||
|
# - OIDC_USERNAME_ATTRIBUTE=preferred_username
|
||||||
|
# - OIDC_ROLES_ATTRIBUTE=groups
|
||||||
|
# - OIDC_IGNORE_USERNAME=true
|
||||||
|
# - OIDC_IGNORE_ROLES=true
|
||||||
|
# - OIDC_ENFORCED=true
|
||||||
|
|
||||||
|
# Email Notifications (https://nodemailer.com/smtp/)
|
||||||
|
# These values override and disable configuration in the UI if set.
|
||||||
|
# - SMTP_HOST=
|
||||||
|
# - SMTP_PORT=587
|
||||||
|
# - SMTP_NAME=
|
||||||
|
# - SMTP_SECURE=true
|
||||||
|
# - SMTP_TLS_REJECT_UNAUTHORIZED=false
|
||||||
|
# - SMTP_USER=
|
||||||
|
# - SMTP_PASSWORD=
|
||||||
|
# Optionally store in secrets - then SMTP_PASSWORD should not be set
|
||||||
|
# - SMTP_PASSWORD__FILE=/run/secrets/smtp_password
|
||||||
|
# - SMTP_FROM="Demo Demo" <demo@demo.demo>
|
||||||
|
|
||||||
|
# Using Gravatar directly exposes user IPs and hashed emails to a third party (GDPR risk).
|
||||||
|
# Use a proxy you control for privacy, or leave commented out or empty to disable.
|
||||||
|
# - GRAVATAR_BASE_URL=https://www.gravatar.com/avatar/
|
||||||
|
depends_on:
|
||||||
|
postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: postgres:16-alpine
|
||||||
|
restart: on-failure
|
||||||
|
volumes:
|
||||||
|
- ./db-data:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
- POSTGRES_DB=planka
|
||||||
|
- POSTGRES_HOST_AUTH_METHOD=trust
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U postgres -d planka"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
6
rustdesk/README.md
Normal file
6
rustdesk/README.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# Rustdesk
|
||||||
|
|
||||||
|
防火墙需要开放:
|
||||||
|
|
||||||
|
- TCP协议的21114-21119端口
|
||||||
|
- UDP协议的21116端口
|
||||||
20
rustdesk/docker-compose.yml
Normal file
20
rustdesk/docker-compose.yml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
services:
|
||||||
|
hbbs:
|
||||||
|
container_name: hbbs
|
||||||
|
image: rustdesk/rustdesk-server:1.1.14
|
||||||
|
command: hbbs
|
||||||
|
volumes:
|
||||||
|
- ./data:/root
|
||||||
|
network_mode: "host"
|
||||||
|
depends_on:
|
||||||
|
- hbbr
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
hbbr:
|
||||||
|
container_name: hbbr
|
||||||
|
image: rustdesk/rustdesk-server:1.1.14
|
||||||
|
command: hbbr
|
||||||
|
volumes:
|
||||||
|
- ./data:/root
|
||||||
|
network_mode: "host"
|
||||||
|
restart: unless-stopped
|
||||||
26
seatable/.env
Normal file
26
seatable/.env
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
COMPOSE_FILE='docker-compose.yml'
|
||||||
|
COMPOSE_PATH_SEPARATOR=','
|
||||||
|
|
||||||
|
|
||||||
|
SEATABLE_IMAGE=seatable/seatable-developer:5.3.0
|
||||||
|
|
||||||
|
SEATABLE_VOLUMES=/home/seatable/seatable-data
|
||||||
|
SEATABLE_MYSQL_VOLUMES=/home/seatable/mysql-data
|
||||||
|
|
||||||
|
INIT_SEATABLE_MYSQL_ROOT_PASSWORD=vezcr4bb4l
|
||||||
|
SEATABLE_MYSQL_DB_HOST=db
|
||||||
|
SEATABLE_MYSQL_DB_PORT=3306
|
||||||
|
SEATABLE_MYSQL_DB_USER=seatable
|
||||||
|
SEATABLE_MYSQL_DB_PASSWORD=rinzcjxd2d
|
||||||
|
|
||||||
|
TIME_ZONE='Asia/Shanghai'
|
||||||
|
|
||||||
|
JWT_PRIVATE_KEY=
|
||||||
|
|
||||||
|
SEATABLE_SERVER_HOSTNAME=demo.example.com
|
||||||
|
SEATABLE_SERVER_PROTOCOL=http
|
||||||
|
SEATABLE_SERVER_LETSENCRYPT=False
|
||||||
|
SEATABLE_SSL_PORT=
|
||||||
|
|
||||||
|
INIT_SEATABLE_ADMIN_EMAIL=a@a.com
|
||||||
|
INIT_SEATABLE_ADMIN_PASSWORD=Password123
|
||||||
84
seatable/docker-compose.yml
Normal file
84
seatable/docker-compose.yml
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
services:
|
||||||
|
seatable-server:
|
||||||
|
image: ${SEATABLE_IMAGE:-seatable/seatable-developer:latest}
|
||||||
|
restart: unless-stopped
|
||||||
|
container_name: seatable
|
||||||
|
ports:
|
||||||
|
- 80:80
|
||||||
|
- ${SEATABLE_SSL_PORT:-}:443
|
||||||
|
volumes:
|
||||||
|
- "${SEATABLE_VOLUMES:-/opt/seatable/seatable-data}:/shared"
|
||||||
|
environment:
|
||||||
|
- SEATABLE_MYSQL_DB_HOST=${SEATABLE_MYSQL_DB_HOST:-db}
|
||||||
|
- SEATABLE_MYSQL_DB_PORT=${SEATABLE_MYSQL_DB_PORT:-3306}
|
||||||
|
- INIT_SEATABLE_MYSQL_ROOT_PASSWORD=${INIT_SEATABLE_MYSQL_ROOT_PASSWORD:-}
|
||||||
|
- SEATABLE_MYSQL_DB_USER=${SEATABLE_MYSQL_DB_USER:-seatable}
|
||||||
|
- SEATABLE_MYSQL_DB_PASSWORD=${SEATABLE_MYSQL_DB_PASSWORD:?Variable is not set or empty}
|
||||||
|
- SEATABLE_MYSQL_DB_DTABLE_DB_NAME=${SEATABLE_MYSQL_DB_DTABLE_DB_NAME:-dtable_db}
|
||||||
|
- SEATABLE_MYSQL_DB_CCNET_DB_NAME=${SEATABLE_MYSQL_DB_CCNET_DB_NAME:-ccnet_db}
|
||||||
|
- SEATABLE_MYSQL_DB_SEAFILE_DB_NAME=${SEATABLE_MYSQL_DB_SEAFILE_DB_NAME:-seafile_db}
|
||||||
|
- SEATABLE_SERVER_HOSTNAME=${SEATABLE_SERVER_HOSTNAME:?Variable is not set or empty}
|
||||||
|
- SEATABLE_SERVER_PROTOCOL=${SEATABLE_SERVER_PROTOCOL:-http}
|
||||||
|
- SEATABLE_SERVER_LETSENCRYPT=${SEATABLE_SERVER_LETSENCRYPT:-False}
|
||||||
|
- SEATABLE_ADMIN_EMAIL=${INIT_SEATABLE_ADMIN_EMAIL:-}
|
||||||
|
- SEATABLE_ADMIN_PASSWORD=${INIT_SEATABLE_ADMIN_PASSWORD:-}
|
||||||
|
- TIME_ZONE=${TIME_ZONE}
|
||||||
|
- REDIS_HOST=${REDIS_HOST:-redis}
|
||||||
|
- REDIS_PORT=${REDIS_PORT:-6379}
|
||||||
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-}
|
||||||
|
- JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty}
|
||||||
|
- ENABLE_PYTHON_SCRIPT=${ENABLE_PYTHON_SCRIPT:-false}
|
||||||
|
- PYTHON_SCHEDULER_URL=${PYTHON_SCHEDULER_URL:-http://python-scheduler}
|
||||||
|
- PYTHON_SCHEDULER_AUTH_TOKEN=${PYTHON_SCHEDULER_AUTH_TOKEN:-}
|
||||||
|
- REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
|
||||||
|
- ENABLE_SEADOC=${ENABLE_SEADOC:-false}
|
||||||
|
- SEADOC_SERVER_URL=${SEATABLE_SERVER_PROTOCOL:-}://${SEATABLE_SERVER_HOSTNAME:-}/sdoc-server
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
||||||
|
redis:
|
||||||
|
condition: service_started
|
||||||
|
networks:
|
||||||
|
- frontend-net
|
||||||
|
- backend-seatable-net
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: ${SEATABLE_DB_IMAGE:-mariadb:10.11}
|
||||||
|
restart: unless-stopped
|
||||||
|
container_name: seatable-mysql
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=${INIT_SEATABLE_MYSQL_ROOT_PASSWORD:-}
|
||||||
|
- MYSQL_LOG_CONSOLE=true
|
||||||
|
- MARIADB_MYSQL_LOCALHOST_USER=1
|
||||||
|
- MARIADB_MYSQL_LOCALHOST_GRANTS=USAGE
|
||||||
|
- MARIADB_AUTO_UPGRADE=1
|
||||||
|
volumes:
|
||||||
|
- "${SEATABLE_MYSQL_VOLUMES:-/opt/seatable/mysql-data}:/var/lib/mysql"
|
||||||
|
networks:
|
||||||
|
- backend-seatable-net
|
||||||
|
healthcheck:
|
||||||
|
test:
|
||||||
|
[
|
||||||
|
"CMD",
|
||||||
|
"/usr/local/bin/healthcheck.sh",
|
||||||
|
"--connect",
|
||||||
|
"--mariadbupgrade",
|
||||||
|
"--innodb_initialized",
|
||||||
|
]
|
||||||
|
interval: 20s
|
||||||
|
start_period: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 10
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: ${SEATABLE_REDIS_IMAGE:-redis:5.0.7}
|
||||||
|
restart: unless-stopped
|
||||||
|
container_name: seatable-redis
|
||||||
|
networks:
|
||||||
|
- backend-seatable-net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
frontend-net:
|
||||||
|
name: frontend-net
|
||||||
|
backend-seatable-net:
|
||||||
|
name: backend-seatable-net
|
||||||
12
sentryshot/docker-compose.yml
Normal file
12
sentryshot/docker-compose.yml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
services:
|
||||||
|
sentryshot:
|
||||||
|
restart: unless-stopped
|
||||||
|
#shm_size: 500m
|
||||||
|
image: codeberg.org/sentryshot/sentryshot:v0.3.8
|
||||||
|
ports:
|
||||||
|
- 2020:2020
|
||||||
|
environment:
|
||||||
|
- TZ=Asia/Shanghai # Timezone.
|
||||||
|
volumes:
|
||||||
|
- ./configs:/app/configs
|
||||||
|
- ./storage:/app/storage
|
||||||
41
stirling-pdf/docker-compose.yml
Normal file
41
stirling-pdf/docker-compose.yml
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
services:
|
||||||
|
stirling-pdf:
|
||||||
|
image: stirlingtools/stirling-pdf:latest
|
||||||
|
container_name: stirling-pdf
|
||||||
|
ports:
|
||||||
|
- '8080:8080'
|
||||||
|
volumes:
|
||||||
|
# Persistent data storage
|
||||||
|
- ./stirling-data/tessdata:/usr/share/tessdata # OCR language files
|
||||||
|
- ./stirling-data/configs:/configs # Settings & database
|
||||||
|
- ./stirling-data/logs:/logs # Application logs
|
||||||
|
- ./stirling-data/customFiles:/customFiles:rw # Custom branding files
|
||||||
|
- ./stirling-data/pipeline:/pipeline # Automation configs
|
||||||
|
environment:
|
||||||
|
# Core Settings
|
||||||
|
- SECURITY_ENABLELOGIN=true # Enable user authentication
|
||||||
|
|
||||||
|
# Language & Localization
|
||||||
|
- LANGS=en_GB # Change to your locale
|
||||||
|
|
||||||
|
# System Configuration
|
||||||
|
- SYSTEM_DEFAULTLOCALE=en-GB # Default locale
|
||||||
|
- SYSTEM_GOOGLEVISIBILITY=false # Hide from search engines
|
||||||
|
- SYSTEM_ROOTURIPATH=/ # Base URL path
|
||||||
|
- SYSTEM_CONNECTIONTIMEOUTMINUTES=5 # Connection timeout
|
||||||
|
- SYSTEM_MAXFILESIZE=2000 # Max file size in MB
|
||||||
|
|
||||||
|
# Optional: Logging
|
||||||
|
- SYSTEM_CUSTOMSTATICFILEPATH=/customFiles/static/ # Custom files path
|
||||||
|
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
# Optional: Resource limits
|
||||||
|
# deploy:
|
||||||
|
# resources:
|
||||||
|
# limits:
|
||||||
|
# memory: 4G
|
||||||
|
# cpus: '2.0'
|
||||||
|
# reservations:
|
||||||
|
# memory: 2G
|
||||||
|
# cpus: '1.0'
|
||||||
25
teable/.env
Normal file
25
teable/.env
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# 替换下面默认密码, 推荐使用 8 位以上的强密码。此处为工具生成
|
||||||
|
POSTGRES_PASSWORD=dr5yvq71iq
|
||||||
|
REDIS_PASSWORD=lu4r6oxmzn
|
||||||
|
SECRET_KEY=eng1or7lpn
|
||||||
|
|
||||||
|
# 请将下面替换为可公开访问的地址
|
||||||
|
PUBLIC_ORIGIN=http://127.0.0.1:3000
|
||||||
|
|
||||||
|
# ---------------------
|
||||||
|
|
||||||
|
# Postgres
|
||||||
|
POSTGRES_HOST=teable-db
|
||||||
|
POSTGRES_PORT=5432
|
||||||
|
POSTGRES_DB=teable
|
||||||
|
POSTGRES_USER=teable
|
||||||
|
|
||||||
|
# Redis
|
||||||
|
REDIS_HOST=teable-cache
|
||||||
|
REDIS_PORT=6379
|
||||||
|
REDIS_DB=0
|
||||||
|
|
||||||
|
# App
|
||||||
|
PRISMA_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}
|
||||||
|
BACKEND_CACHE_PROVIDER=redis
|
||||||
|
BACKEND_CACHE_REDIS_URI=redis://default:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}/${REDIS_DB}
|
||||||
64
teable/docker-compose.yml
Normal file
64
teable/docker-compose.yml
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
services:
|
||||||
|
teable:
|
||||||
|
image: registry.cn-shenzhen.aliyuncs.com/teable/teable:latest
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- '3000:3000'
|
||||||
|
volumes:
|
||||||
|
- ./teable-data:/app/.assets:rw
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
environment:
|
||||||
|
- NEXT_ENV_IMAGES_ALL_REMOTE=true
|
||||||
|
networks:
|
||||||
|
- teable
|
||||||
|
depends_on:
|
||||||
|
teable-db:
|
||||||
|
condition: service_healthy
|
||||||
|
teable-cache:
|
||||||
|
condition: service_healthy
|
||||||
|
healthcheck:
|
||||||
|
test: ['CMD', 'curl', '-f', 'http://localhost:3000/health']
|
||||||
|
start_period: 5s
|
||||||
|
interval: 5s
|
||||||
|
timeout: 3s
|
||||||
|
retries: 3
|
||||||
|
|
||||||
|
teable-db:
|
||||||
|
image: registry.cn-shenzhen.aliyuncs.com/teable/postgres:15.4
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- '42345:5432'
|
||||||
|
volumes:
|
||||||
|
- ./teable-db:/var/lib/postgresql/data:rw
|
||||||
|
environment:
|
||||||
|
- POSTGRES_DB=${POSTGRES_DB}
|
||||||
|
- POSTGRES_USER=${POSTGRES_USER}
|
||||||
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||||
|
networks:
|
||||||
|
- teable
|
||||||
|
healthcheck:
|
||||||
|
test: ['CMD-SHELL', "sh -c 'pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}'"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 3s
|
||||||
|
retries: 3
|
||||||
|
|
||||||
|
teable-cache:
|
||||||
|
image: registry.cn-shenzhen.aliyuncs.com/teable/redis:7.2.4
|
||||||
|
restart: always
|
||||||
|
expose:
|
||||||
|
- '6379'
|
||||||
|
volumes:
|
||||||
|
- ./teable-cache:/data:rw
|
||||||
|
networks:
|
||||||
|
- teable
|
||||||
|
command: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD}
|
||||||
|
healthcheck:
|
||||||
|
test: ['CMD', 'redis-cli', '--raw', 'incr', 'ping']
|
||||||
|
interval: 10s
|
||||||
|
timeout: 3s
|
||||||
|
retries: 3
|
||||||
|
|
||||||
|
networks:
|
||||||
|
teable:
|
||||||
|
name: teable-network
|
||||||
12
trilium/docker-compose.yml
Normal file
12
trilium/docker-compose.yml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
services:
|
||||||
|
trilium:
|
||||||
|
image: triliumnext/trilium:v0.100.0
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- TRILIUM_DATA_DIR=/home/trilium/trilium-data
|
||||||
|
ports:
|
||||||
|
- '8080:8080'
|
||||||
|
volumes:
|
||||||
|
- ${TRILIUM_DATA_DIR:-~/trilium-data}:/home/node/trilium-data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
34
umami/docker-compose.yml
Normal file
34
umami/docker-compose.yml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
services:
|
||||||
|
umami:
|
||||||
|
image: umami-software/umami:3.0.3
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
environment:
|
||||||
|
DATABASE_URL: postgresql://umami:umami@db:5432/umami # 修改密码
|
||||||
|
APP_SECRET: replace-me-with-a-random-string
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
||||||
|
init: true
|
||||||
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
db:
|
||||||
|
image: postgres:15-alpine
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: umami
|
||||||
|
POSTGRES_USER: umami
|
||||||
|
POSTGRES_PASSWORD: umami # 修改密码
|
||||||
|
volumes:
|
||||||
|
- umami-db-data:/var/lib/postgresql/data
|
||||||
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
volumes:
|
||||||
|
umami-db-data:
|
||||||
28
wikijs/docker-compose.yml
Normal file
28
wikijs/docker-compose.yml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
services:
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: postgres:15-alpine
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: wiki
|
||||||
|
POSTGRES_PASSWORD: 6vmoedxq9c # 修改密码,此处为工具生成
|
||||||
|
POSTGRES_USER: wikijs
|
||||||
|
logging:
|
||||||
|
driver: none
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./db-data:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
wiki:
|
||||||
|
image: ghcr.io/requarks/wiki:2.5.308
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
environment:
|
||||||
|
DB_TYPE: postgres
|
||||||
|
DB_HOST: db
|
||||||
|
DB_PORT: 5432
|
||||||
|
DB_USER: wikijs
|
||||||
|
DB_PASS: 6vmoedxq9c # 修改密码,同第7行
|
||||||
|
DB_NAME: wiki
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
Reference in New Issue
Block a user