commit e3c1fa87fbde4f751c32236347b3332f9e472bba Author: ntnt Date: Sun Jan 18 09:05:55 2026 +0800 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..63d85e4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +gitea/db +gitea/data +open-webui-pro/data +open-webui-pro/pgdata +open-webui-pro/redisdata diff --git a/README.md b/README.md new file mode 100644 index 0000000..b5e013e --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# docker 环境备份 + diff --git a/frpc/docker-compose.yml b/frpc/docker-compose.yml new file mode 100644 index 0000000..f747949 --- /dev/null +++ b/frpc/docker-compose.yml @@ -0,0 +1,9 @@ +services: + web: + image: snowdreamtech/frpc:latest + container_name: frpc + restart: always + network_mode: "host" + volumes: + - ./frpc.toml:/etc/frp/frpc.toml + diff --git a/frpc/frpc.toml b/frpc/frpc.toml new file mode 100644 index 0000000..517df12 --- /dev/null +++ b/frpc/frpc.toml @@ -0,0 +1,37 @@ +[common] +server_addr = 116.62.233.247 +bind_port = 7000 +authentication_method = token +authenticate_new_work_conns = true +token = 839157 + +[ssh] +type = tcp +local_ip = 127.0.0.1 +local_port = 22 +remote_port = 20022 + +[open-webui] +type = tcp +local_ip = 127.0.0.1 +local_port = 3000 +remote_port = 23000 + +[memos] +type = tcp +local_ip = 127.0.0.1 +local_port = 5230 +remote_port = 25230 + +[gitea] +type = tcp +local_ip = 127.0.0.1 +local_port = 3033 +remote_port = 23033 + +[nginx] +type = tcp +local_ip = 127.0.0.1 +local_port = 8080 +remote_port =28080 + diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml new file mode 100644 index 0000000..cf229cc --- /dev/null +++ b/gitea/docker-compose.yml @@ -0,0 +1,43 @@ +version: "3" + +networks: + gitea: + external: false + +services: + server: + image: gitea/gitea:latest + container_name: gitea + environment: + - USER_UID=1000 + - USER_GID=1000 + - GITEA__database__DB_TYPE=postgres + - GITEA__database__HOST=db:5432 + - GITEA__database__NAME=gitea + - GITEA__database__USER=gitea + - GITEA__database__PASSWD=EpVfNYbg1l1oO7ii + restart: unless-stopped + networks: + - gitea + volumes: + - ./data:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - "3033:3000" + - "2222:22" + depends_on: + - db + + db: + image: postgres:14 + container_name: gitea_db + restart: unless-stopped + environment: + - POSTGRES_USER=gitea + - POSTGRES_PASSWORD=EpVfNYbg1l1oO7ii + - POSTGRES_DB=gitea + networks: + - gitea + volumes: + - ./db:/var/lib/postgresql/data diff --git a/mcpo/docker-compose.yml b/mcpo/docker-compose.yml new file mode 100644 index 0000000..4a39abb --- /dev/null +++ b/mcpo/docker-compose.yml @@ -0,0 +1,16 @@ +services: + mcpo: + image: ghcr.io/open-webui/mcpo:main + container_name: mcpo + ports: + - "8100:8000" + volumes: + - ./config.json:/app/config.json # 挂载配置文件 + environment: + - TZ=Asia/Shanghai + # 启动命令:指定配置文件路径,并设置 API Key 保护接口 + command: --config /app/config.json --port 8000 --api-key "LsUtOyTRFXi60ahzG28FPoGCwDh9DF76" --hot-reload + restart: unless-stopped +networks: + webui-network: + external: true diff --git a/memos/docker-compose.yml b/memos/docker-compose.yml new file mode 100644 index 0000000..a716e7b --- /dev/null +++ b/memos/docker-compose.yml @@ -0,0 +1,10 @@ +services: + memos: + image: neosmemo/memos:stable + container_name: memos + restart: unless-stopped + ports: + - "5230:5230" + volumes: + - ~/.memos/:/var/opt/memos + diff --git a/nginx/docker-compose.yml b/nginx/docker-compose.yml new file mode 100644 index 0000000..41f7fb8 --- /dev/null +++ b/nginx/docker-compose.yml @@ -0,0 +1,7 @@ +services: + web: + image: nginx:latest + ports: + - "8080:80" + volumes: + - ./html:/usr/share/nginx/html # 将当前目录下的 html 文件夹映射到容器内 diff --git a/nginx/html/index.html b/nginx/html/index.html new file mode 100644 index 0000000..9b8a3c6 --- /dev/null +++ b/nginx/html/index.html @@ -0,0 +1,563 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/open-webui-pro/docker-compose.yml b/open-webui-pro/docker-compose.yml new file mode 100644 index 0000000..e4b6b5b --- /dev/null +++ b/open-webui-pro/docker-compose.yml @@ -0,0 +1,66 @@ +services: + # --- 数据库服务 (PostgreSQL) --- + db: + image: postgres:15-alpine + container_name: open-webui-db + restart: unless-stopped + environment: + - POSTGRES_USER=webui_admin + - POSTGRES_PASSWORD=VURKxKYDmKw8u1CdS6RUf5LC + - POSTGRES_DB=openwebui + volumes: + - ./pgdata:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U webui_admin -d openwebui"] + interval: 5s + timeout: 5s + retries: 5 + + # --- 缓存服务 (Redis) --- + redis: + image: redis:7-alpine + container_name: open-webui-redis + restart: unless-stopped + volumes: + - ./redisdata:/data + healthcheck: + test: ["CMD-SHELL", "redis-cli ping | grep PONG"] + interval: 5s + timeout: 5s + retries: 5 + + # --- Open WebUI 主程序 --- + open-webui: + image: open-webui/open-webui:main + container_name: open-webui + restart: unless-stopped + ports: + - "3000:8080" + depends_on: + db: + condition: service_healthy + redis: + condition: service_healthy + environment: + # 数据库连接配置 + - DATABASE_URL=postgresql://webui_admin:VURKxKYDmKw8u1CdS6RUf5LC@db:5432/openwebui + # Redis 连接配置 + - REDIS_URL=redis://redis:6379/0 + # Ollama 接口地址 (根据实际情况调整) + - OLLAMA_BASE_URL=http://host.docker.internal:11434 + # 安全密钥 + - WEBUI_SECRET_KEY=HU13YdOhfTaINvCe1PvjlhW0yHVaiaBBqsCtXCWFDAKD44zp + volumes: + - ./data:/app/backend/data + extra_hosts: + - "host.docker.internal:host-gateway" + +volumes: + # 也可以使用上述 ./data 这种本地路径形式,更加直观 + pgdata: + redisdata: + data: + +networks: + webui-network: + external: true