Compare commits

...

3 Commits

Author SHA1 Message Date
c2d3cae73f add seatable 5.3.0 2025-11-17 18:34:37 +08:00
52668f795a add teable 2025-11-17 18:34:27 +08:00
6f19ecdaf7 update docmost 2025-11-17 18:34:18 +08:00
4 changed files with 185 additions and 6 deletions

View File

@@ -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

26
seatable/.env Normal file
View 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

View 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

69
teable/docker-compose.yml Normal file
View File

@@ -0,0 +1,69 @@
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
volumes:
teable-db: {}
teable-data: {}
teable-cache: {}