在Ubuntu2024.04通过docker部署seafile12.0.14社区版,因是内网使用,故没有采取https。如果不改动CADDY的80:80的情况下,部署后功能都能正常使用。因为宿主机的80口被其他应用占据,因此修改CADDY的80:80为9181:80,部署后其他功能都正常,就是在知识库里的“新建页面”报500错误。习惯了一个yaml文件,我把env、yaml都整合在docker-compose.yaml文件里。贴出来,请见下。请帮忙看看,在改变caddy80:80映射后,配置哪些地方要进行相应调整。多谢!
version: “3.8”
services:
db:
image: mariadb:10.11
container_name: seafile-mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: “SeaRoot@123”
MYSQL_LOG_CONSOLE: true
MARIADB_AUTO_UPGRADE: “1”
TIME_ZONE: “Asia/Shanghai”
volumes:
- /abcd/seafile/seafile-mysql/db:/var/lib/mysql
networks:
- seafile-net
healthcheck:
test:
[
“CMD”,
“/usr/local/bin/healthcheck.sh”,
“–connect”,
“–mariadbupgrade”,
“–innodb_initialized”,
]
interval: 20s
start_period: 30s
timeout: 5s
retries: 10
memcached:
image: memcached:1.6.29
container_name: seafile-memcached
restart: unless-stopped
entrypoint: memcached -m 256
networks:
- seafile-net
caddy:
image: lucaslorentz/caddy-docker-proxy:2.9-alpine
container_name: seafile-caddy
restart: unless-stopped
ports:
- “9181:80”
environment:
CADDY_INGRESS_NETWORKS: “seafile-net”
labels:
caddy.auto_https: “off”
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /abcd/seafile/seafile-caddy:/data/caddy
networks:
- seafile-net
healthcheck:
test: [“CMD-SHELL”, “curl --fail http://localhost:2019/metrics || exit 1”]
start_period: 20s
interval: 20s
timeout: 5s
retries: 3
seafile:
image: seafileltd/seafile-mc:12.0-latest
container_name: seafile
restart: unless-stopped
volumes:
- /abcd/seafile/seafile-data:/shared
environment:
- DB_HOST=db
- DB_PORT=3306
- DB_USER=seafile
- DB_ROOT_PASSWD=SeaRoot@123
- DB_PASSWORD=SeaRoot@1234
- SEAFILE_MYSQL_DB_CCNET_DB_NAME=ccnet_db
- SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=seafile_db
- SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=seahub_db
- TIME_ZONE=Asia/Shanghai
- INIT_SEAFILE_ADMIN_EMAIL=me12@abcd.com
- INIT_SEAFILE_ADMIN_PASSWORD=SeaRoot@12345
- SEAFILE_SERVER_HOSTNAME=192.168.43.48:9181
- SEAFILE_SERVER_PROTOCOL=http
- NON_ROOT=false
- JWT_PRIVATE_KEY=e7a2f5d1c8b3e6a9f4d7c2b5e8a3f6d9c
- SEAFILE_LOG_TO_STDOUT=true
- ENABLE_SEADOC=true
- SEADOC_SERVER_URL=http://192.168.43.48:9181/sdoc-server
- SEAHUB_SERVICE_URL=http://192.168.43.48:9181
labels:
caddy: http://192.168.43.48
caddy.reverse_proxy: “{{upstreams 80}}”
depends_on:
db:
condition: service_healthy
memcached:
condition: service_started
networks:
- seafile-net
seadoc:
image: seafileltd/sdoc-server:1.0-latest
container_name: seadoc
restart: unless-stopped
volumes:
- /abcd/seafile/seadoc-data:/shared
environment:
- DB_HOST=db
- DB_PORT=3306
- DB_USER=seafile
- DB_PASSWORD=SeaRoot@1234
- DB_NAME=seahub_db
- TIME_ZONE=Asia/Shanghai
- JWT_PRIVATE_KEY=e7a2f5d1c8b3e6a9f4d7c2b5e8a3f6d9c
- NON_ROOT=false
- SEAHUB_SERVICE_URL=http://192.168.43.48:9181
labels:
caddy: http://192.168.43.48
caddy.@ws.0_header: “Connection Upgrade”
caddy.@ws.1_header: “Upgrade websocket”
caddy.0_reverse_proxy: “@ws {{upstreams 80}}”
caddy.1_handle_path: “/socket.io/"
caddy.1_handle_path.0_rewrite: " /socket.io{uri}”
caddy.1_handle_path.1_reverse_proxy: “{{upstreams 80}}”
caddy.2_handle_path: “/sdoc-server/"
caddy.2_handle_path.0_rewrite: " {uri}”
caddy.2_handle_path.1_reverse_proxy: “{{upstreams 80}}”
depends_on:
db:
condition: service_healthy
networks:
- seafile-net
networks:
seafile-net:
name: seafile-net