feat: add README

This commit is contained in:
Sun-ZhenXing
2025-09-24 14:16:10 +08:00
parent 232517b58f
commit 70f39867cf
65 changed files with 1695 additions and 103 deletions

View File

View File

@@ -1,3 +1,18 @@
# Bifrost Gateway
[English](./README.md) | [中文](./README.zh.md)
Bifrost is a lightweight, high-performance LLM gateway that supports multiple models and providers.
## Services
- `bifrost`: The LLM gateway service.
## Configuration
- `BIFROST_VERSION`: The version of the Bifrost image, default is `v1.2.15`.
- `BIFROST_PORT`: The port for the Bifrost service, default is `28080`.
## Volumes
- `bifrost_data`: A volume for storing Bifrost data.

View File

@@ -0,0 +1,18 @@
# Bifrost 网关
[English](./README.md) | [中文](./README.zh.md)
Bifrost 是一个轻量级、高性能的 LLM 网关,支持多种模型和提供商。
## 服务
- `bifrost`: LLM 网关服务。
## 配置
- `BIFROST_VERSION`: Bifrost 镜像的版本,默认为 `v1.2.15`
- `BIFROST_PORT`: Bifrost 服务的端口,默认为 `28080`
## 卷
- `bifrost_data`: 用于存储 Bifrost 数据的卷。

View File

View File

@@ -0,0 +1,37 @@
# Docker Registry
[English](./README.md) | [中文](./README.zh.md)
This service sets up a private Docker registry.
## Prerequisites
1. Generate a TLS certificate for your server.
2. Place the certificate and key files (in PEM format) into the `certs/` directory.
3. Create a `.env` file and configure the following variables:
```bash
REGISTRY_HTTP_TLS_CERTIFICATE=your_cert.crt
REGISTRY_HTTP_TLS_KEY=your_key.key
```
## Services
- `registry`: The Docker registry service.
## Configuration
- `REGISTRY_VERSION`: The version of the registry image, default is `3.0.0`.
- `REGISTRY_PORT`: The port for the registry service, default is `5000`.
- `REGISTRY_AUTH`: The authentication method, default is `htpasswd`.
- `REGISTRY_AUTH_HTPASSWD_REALM`: The realm for htpasswd authentication, default is `Registry Realm`.
- `REGISTRY_AUTH_HTPASSWD_PATH`: The path to the htpasswd file, default is `/certs/passwd`.
- `REGISTRY_HTTP_TLS_CERTIFICATE`: The TLS certificate file.
- `REGISTRY_HTTP_TLS_KEY`: The TLS key file.
- `OTEL_TRACES_EXPORTER`: Set to `none` to disable tracing.
## Volumes
- `certs`: For storing TLS certificates.
- `config.yml`: The registry configuration file.
- `registry`: A volume for storing registry data.

View File

@@ -1,14 +1,37 @@
# Docker 镜像仓库
请参考教程 [搭建私有 Docker 镜像仓库](https://docs.alexsun.top/public/ops/docker/docker-registry/)
[English](./README.md) | [中文](./README.zh.md)
需要先 [给服务器生成一张证书](https://docs.alexsun.top/public/blog/2024-06/certs-maker.html),然后将证书放到服务器上的 `certs/` 文件夹下面,请使用 PEM 格式的证书
此服务用于搭建一个私有的 Docker 镜像仓库
配置 `.env` 文件:
## 前提条件
```bash
REGISTRY_HTTP_TLS_CERTIFICATE=xxxxxx.crt
REGISTRY_HTTP_TLS_KEY=xxxxxx.key
```
1. 为您的服务器生成一张 TLS 证书。
2. 将证书和密钥文件PEM 格式)放置在 `certs/` 目录下。
3. 创建 `.env` 文件并配置以下变量:
使用 `OTEL_TRACES_EXPORTER=none` 停用观测。
```bash
REGISTRY_HTTP_TLS_CERTIFICATE=your_cert.crt
REGISTRY_HTTP_TLS_KEY=your_key.key
```
## 服务
- `registry`: Docker 镜像仓库服务。
## 配置
- `REGISTRY_VERSION`: 镜像仓库的版本,默认为 `3.0.0`。
- `REGISTRY_PORT`: 镜像仓库服务的端口,默认为 `5000`。
- `REGISTRY_AUTH`: 认证方式,默认为 `htpasswd`。
- `REGISTRY_AUTH_HTPASSWD_REALM`: htpasswd 认证的领域,默认为 `Registry Realm`。
- `REGISTRY_AUTH_HTPASSWD_PATH`: htpasswd 文件的路径,默认为 `/certs/passwd`。
- `REGISTRY_HTTP_TLS_CERTIFICATE`: TLS 证书文件。
- `REGISTRY_HTTP_TLS_KEY`: TLS 密钥文件。
- `OTEL_TRACES_EXPORTER`: 设置为 `none` 以禁用追踪。
## 卷
- `certs`: 用于存放 TLS 证书。
- `config.yml`: 镜像仓库的配置文件。
- `registry`: 用于存储镜像仓库数据的卷。

0
src/frpc/.env.example Normal file
View File

View File

@@ -1,23 +1,27 @@
# FRPC
# FRPC (Intranet Penetration Client)
内网穿透客户端。
[English](./README.md) | [中文](./README.zh.md)
以 SSH 服务穿透为例,新建 `frpc.toml` 配置文件,内容如下:
This is an FRPC (Intranet Penetration Client) service.
## Example
Taking SSH service penetration as an example, create a new `frpc.toml` configuration file with the following content:
```toml
[common]
server_addr = {{ .Envs.FRP_SERVER_ADDR }}
server_port = {{ .Envs.FRP_SERVER_PORT }}
token = {{ .Envs.FRP_SERVER_TOKEN }}
serverAddr = "{{ .Envs.FRP_SERVER_ADDR }}"
serverPort = {{ .Envs.FRP_SERVER_PORT }}
auth.token = "{{ .Envs.FRP_SERVER_TOKEN }}"
[app_22]
[[proxies]]
name = "app_22"
type = "tcp"
remote_port = 23922
local_ip = 192.168.10.100
local_port = 22
remotePort = 23922
localIP = "192.168.10.100"
localPort = 22
```
配置远程 FRPS 服务地址到 `.env` 文件中:
Configure the remote FRPS service address in the `.env` file:
```properties
FRP_SERVER_ADDR=frps.example.com
@@ -25,8 +29,23 @@ FRP_SERVER_PORT=9870
FRP_SERVER_TOKEN=password
```
启动服务,即可代理 `192.168.10.100:22` `FRP_SERVER_ADDR:23922`
Start the service to proxy `192.168.10.100:22` to `FRP_SERVER_ADDR:23922`.
```bash
docker compose up -d
```
## Services
- `frpc`: The FRPC client service.
## Configuration
- `FRPC_VERSION`: The version of the FRPC image, default is `0.64.0`.
- `FRP_SERVER_ADDR`: The remote FRPS server address.
- `FRP_SERVER_PORT`: The remote FRPS server port.
- `FRP_SERVER_TOKEN`: The token for connecting to FRPS.
## Volumes
- `frpc.toml`: The configuration file for FRPC.

51
src/frpc/README.zh.md Normal file
View File

@@ -0,0 +1,51 @@
# FRPC (内网穿透客户端)
[English](./README.md) | [中文](./README.zh.md)
这是一个 FRPC内网穿透客户端服务。
## 示例
以 SSH 服务穿透为例,新建 `frpc.toml` 配置文件,内容如下:
```toml
serverAddr = "{{ .Envs.FRP_SERVER_ADDR }}"
serverPort = {{ .Envs.FRP_SERVER_PORT }}
auth.token = "{{ .Envs.FRP_SERVER_TOKEN }}"
[[proxies]]
name = "app_22"
type = "tcp"
remotePort = 23922
localIP = "192.168.10.100"
localPort = 22
```
配置远程 FRPS 服务地址到 `.env` 文件中:
```properties
FRP_SERVER_ADDR=frps.example.com
FRP_SERVER_PORT=9870
FRP_SERVER_TOKEN=password
```
启动服务,即可代理 `192.168.10.100:22``FRP_SERVER_ADDR:23922`
```bash
docker compose up -d
```
## 服务
- `frpc`: FRPC 客户端服务。
## 配置
- `FRPC_VERSION`: FRPC 镜像的版本,默认为 `0.64.0`
- `FRP_SERVER_ADDR`: 远程 FRPS 服务器地址。
- `FRP_SERVER_PORT`: 远程 FRPS 服务器端口。
- `FRP_SERVER_TOKEN`: 用于连接 FRPS 的令牌。
## 卷
- `frpc.toml`: FRPC 的配置文件。

0
src/frps/.env.example Normal file
View File

57
src/frps/README.md Normal file
View File

@@ -0,0 +1,57 @@
# FRPS (Intranet Penetration Server)
[English](./README.md) | [中文](./README.zh.md)
This is an FRPS (Intranet Penetration Server) service.
## Example
Create a new `frps.toml` configuration file with the following content:
```toml
bindPort = {{ .Envs.FRP_SERVER_PORT }}
auth.token = "{{ .Envs.FRP_SERVER_TOKEN }}"
webServer.addr = "0.0.0.0"
webServer.port = {{ .Envs.FRP_ADMIN_PORT }}
webServer.user = "{{ .Envs.FRP_ADMIN_USER }}"
webServer.password = "{{ .Envs.FRP_ADMIN_PASS }}"
```
Configure secrets and other information in the `.env` file:
```properties
FRP_SERVER_TOKEN=token
FRP_ADMIN_USER=admin
FRP_ADMIN_PASS=password
```
Start the service to proxy client requests. Note that you need to map the client's port. You can share the service through HOST network or shared network.
To enable HOST mode, use the following method:
```yaml
services:
frps:
# ...
network_mode: host
```
## Services
- `frps`: The FRPS server service.
## Configuration
- `FRPS_VERSION`: The version of the FRPS image, default is `0.64.0`.
- `FRP_SERVER_PORT`: The port for the FRPS server, default is `9870`.
- `FRP_ADMIN_PORT`: The port for the FRPS admin dashboard, default is `7890`.
- `FRP_PORT_OVERRIDE_SERVER`: The host port to map to the FRPS server port.
- `FRP_PORT_OVERRIDE_ADMIN`: The host port to map to the FRPS admin port.
- `FRP_SERVER_TOKEN`: The token for authenticating clients.
- `FRP_ADMIN_USER`: The username for the admin dashboard, default is `admin`.
- `FRP_ADMIN_PASS`: The password for the admin dashboard, default is `password`.
## Volumes
- `frps.toml`: The configuration file for FRPS.

View File

@@ -1,18 +1,21 @@
# FRPS
# FRPS (内网穿透服务端)
内网穿透服务端。
[English](./README.md) | [中文](./README.zh.md)
这是一个 FRPS内网穿透服务端服务。
## 示例
新建 `frps.toml` 配置文件,内容如下:
```toml
[common]
bind_port = {{ .Envs.FRP_SERVER_PORT }}
token = {{ .Envs.FRP_SERVER_TOKEN }}
bindPort = {{ .Envs.FRP_SERVER_PORT }}
auth.token = "{{ .Envs.FRP_SERVER_TOKEN }}"
dashboard_addr = 0.0.0.0
dashboard_port = {{ .Envs.FRP_ADMIN_PORT }}
dashboard_user = {{ .Envs.FRP_ADMIN_USER }}
dashboard_pwd = {{ .Envs.FRP_ADMIN_PASS }}
webServer.addr = "0.0.0.0"
webServer.port = {{ .Envs.FRP_ADMIN_PORT }}
webServer.user = "{{ .Envs.FRP_ADMIN_USER }}"
webServer.password = "{{ .Envs.FRP_ADMIN_PASS }}"
```
配置密钥等信息到 `.env` 文件中:
@@ -33,3 +36,22 @@ services:
# ...
network_mode: host
```
## 服务
- `frps`: FRPS 服务端服务。
## 配置
- `FRPS_VERSION`: FRPS 镜像的版本,默认为 `0.64.0`
- `FRP_SERVER_PORT`: FRPS 服务端口,默认为 `9870`
- `FRP_ADMIN_PORT`: FRPS 管理面板端口,默认为 `7890`
- `FRP_PORT_OVERRIDE_SERVER`: 映射到 FRPS 服务端口的主机端口。
- `FRP_PORT_OVERRIDE_ADMIN`: 映射到 FRPS 管理面板端口的主机端口。
- `FRP_SERVER_TOKEN`: 用于认证客户端的令牌。
- `FRP_ADMIN_USER`: 管理面板的用户名,默认为 `admin`
- `FRP_ADMIN_PASS`: 管理面板的密码,默认为 `password`
## 卷
- `frps.toml`: FRPS 的配置文件。

View File

View File

@@ -0,0 +1,57 @@
# Gitea Runner
[English](./README.md) | [中文](./README.zh.md)
This service sets up a Gitea Runner.
## Prerequisites
1. Generate the `config.yaml` file:
```bash
docker run --entrypoint="" --rm -it gitea/act_runner:0.2.12 act_runner generate-config > config.yaml
```
2. Configure `config.yaml`, for example:
```yaml
cache:
enabled: true
dir: ""
host: "192.168.8.17"
port: 8088
```
3. Configure environment variables:
```properties
INSTANCE_URL=http://xxx:3000
REGISTRATION_TOKEN=xxxxxx
RUNNER_NAME=runner-1
RUNNER_LABELS=xxxxxx
```
## Start the Runner
```bash
docker compose up -d
```
## Services
- `runner`: The Gitea Runner service.
## Configuration
### Environment Variables
- `INSTANCE_URL`: The URL of the Gitea instance.
- `REGISTRATION_TOKEN`: The registration token for the Gitea Runner.
- `RUNNER_NAME`: The name of the runner.
- `RUNNER_LABELS`: The labels for the runner.
## Volumes
- `config.yaml`: The configuration file for the Gitea Runner.
- `data`: A volume for storing runner data.
- `/var/run/docker.sock`: For communicating with the Docker daemon.

View File

@@ -0,0 +1,57 @@
# Gitea Runner
[English](./README.md) | [中文](./README.zh.md)
此服务用于搭建一个 Gitea Runner。
## 前提条件
1. 生成 `config.yaml` 文件:
```bash
docker run --entrypoint="" --rm -it gitea/act_runner:0.2.12 act_runner generate-config > config.yaml
```
2. 配置 `config.yaml`,例如:
```yaml
cache:
enabled: true
dir: ""
host: "192.168.8.17"
port: 8088
```
3. 配置环境变量:
```properties
INSTANCE_URL=http://xxx:3000
REGISTRATION_TOKEN=xxxxxx
RUNNER_NAME=runner-1
RUNNER_LABELS=xxxxxx
```
## 启动 Runner
```bash
docker compose up -d
```
## 服务
- `runner`: Gitea Runner 服务。
## 配置
### 环境变量
- `INSTANCE_URL`: Gitea 实例的 URL。
- `REGISTRATION_TOKEN`: Gitea Runner 的注册令牌。
- `RUNNER_NAME`: Runner 的名称。
- `RUNNER_LABELS`: Runner 的标签。
## 卷
- `config.yaml`: Gitea Runner 的配置文件。
- `data`: 用于存储 Runner 数据的卷。
- `/var/run/docker.sock`: 用于与 Docker守护进程通信。

View File

@@ -0,0 +1,101 @@
# Example configuration file, it's safe to copy this as the default config file without any modification.
# You don't have to copy this file to your instance,
# just run `./act_runner generate-config > config.yaml` to generate a config file.
log:
# The level of logging, can be trace, debug, info, warn, error, fatal
level: info
runner:
# Where to store the registration result.
file: .runner
# Execute how many tasks concurrently at the same time.
capacity: 1
# Extra environment variables to run jobs.
envs:
A_TEST_ENV_NAME_1: a_test_env_value_1
A_TEST_ENV_NAME_2: a_test_env_value_2
# Extra environment variables to run jobs from a file.
# It will be ignored if it's empty or the file doesn't exist.
env_file: .env
# The timeout for a job to be finished.
# Please note that the Gitea instance also has a timeout (3h by default) for the job.
# So the job could be stopped by the Gitea instance if it's timeout is shorter than this.
timeout: 3h
# The timeout for the runner to wait for running jobs to finish when shutting down.
# Any running jobs that haven't finished after this timeout will be cancelled.
shutdown_timeout: 0s
# Whether skip verifying the TLS certificate of the Gitea instance.
insecure: false
# The timeout for fetching the job from the Gitea instance.
fetch_timeout: 5s
# The interval for fetching the job from the Gitea instance.
fetch_interval: 2s
# The labels of a runner are used to determine which jobs the runner can run, and how to run them.
# Like: "macos-arm64:host" or "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
# Find more images provided by Gitea at https://gitea.com/docker.gitea.com/runner-images .
# If it's empty when registering, it will ask for inputting labels.
# If it's empty when execute `daemon`, will use labels in `.runner` file.
labels:
- "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
- "ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04"
- "ubuntu-20.04:docker://docker.gitea.com/runner-images:ubuntu-20.04"
cache:
# Enable cache server to use actions/cache.
enabled: true
# The directory to store the cache data.
# If it's empty, the cache data will be stored in $HOME/.cache/actcache.
dir: ""
# The host of the cache server.
# It's not for the address to listen, but the address to connect from job containers.
# So 0.0.0.0 is a bad choice, leave it empty to detect automatically.
host: ""
# The port of the cache server.
# 0 means to use a random available port.
port: 0
# The external cache server URL. Valid only when enable is true.
# If it's specified, act_runner will use this URL as the ACTIONS_CACHE_URL rather than start a server by itself.
# The URL should generally end with "/".
external_server: ""
container:
# Specifies the network to which the container will connect.
# Could be host, bridge or the name of a custom network.
# If it's empty, act_runner will create a network automatically.
network: ""
# Whether to use privileged mode or not when launching task containers (privileged mode is required for Docker-in-Docker).
privileged: true #! #####CHANGED#####
# And other options to be used when the container is started (eg, --add-host=my.gitea.url:host-gateway).
options:
# The parent directory of a job's working directory.
# NOTE: There is no need to add the first '/' of the path as act_runner will add it automatically.
# If the path starts with '/', the '/' will be trimmed.
# For example, if the parent directory is /path/to/my/dir, workdir_parent should be path/to/my/dir
# If it's empty, /workspace will be used.
workdir_parent:
# Volumes (including bind mounts) can be mounted to containers. Glob syntax is supported, see https://github.com/gobwas/glob
# You can specify multiple volumes. If the sequence is empty, no volumes can be mounted.
# For example, if you only allow containers to mount the `data` volume and all the json files in `/src`, you should change the config to:
# valid_volumes:
# - data
# - /src/*.json
# If you want to allow any volume, please use the following configuration:
# valid_volumes:
# - '**'
valid_volumes: []
# overrides the docker client host with the specified one.
# If it's empty, act_runner will find an available docker host automatically.
# If it's "-", act_runner will find an available docker host automatically, but the docker host won't be mounted to the job containers and service containers.
# If it's not empty or "-", the specified docker host will be used. An error will be returned if it doesn't work.
docker_host: ""
# Pull docker image(s) even if already present
force_pull: false #! #####CHANGED#####
# Rebuild docker image(s) even if already present
force_rebuild: false
host:
# The parent directory of a job's working directory.
# If it's empty, $HOME/.cache/act/ will be used.
workdir_parent:

View File

@@ -0,0 +1,32 @@
x-default: &default
restart: unless-stopped
volumes:
- &localtime /etc/localtime:/etc/localtime:ro
- &timezone /etc/timezone:/etc/timezone:ro
logging:
driver: json-file
options:
max-size: 100m
services:
gitea_runner:
<<: *default
image: gitea/act_runner:0.2.12
environment:
CONFIG_FILE: /config.yaml
GITEA_INSTANCE_URL: ${INSTANCE_URL:-http://localhost:3000}
GITEA_RUNNER_REGISTRATION_TOKEN: ${REGISTRATION_TOKEN}
GITEA_RUNNER_NAME: ${RUNNER_NAME:-Gitea-Runner}
GITEA_RUNNER_LABELS: ${RUNNER_LABELS:-DockerRunner}
volumes:
- *localtime
- *timezone
- ./config.yaml:/config.yaml:ro
- gitea_runner_data:/data
- /var/run/docker.sock:/var/run/docker.sock
extra_hosts:
- host.docker.internal:host-gateway
volumes:
gitea_runner_data:

0
src/gitea/.env.example Normal file
View File

43
src/gitea/README.md Normal file
View File

@@ -0,0 +1,43 @@
# Gitea
[English](./README.md) | [中文](./README.zh.md)
This service sets up a Gitea service.
## Services
- `server`: The Gitea application service.
- `db`: The PostgreSQL database service.
## Initial Setup
On the initial setup page, you need to fill in the database information:
- Database Type: `PostgreSQL`
- Host: `db:5432`
- User: `gitea`
- Password: `gitea` (default)
- Database Name: `gitea`
The first registered user will have administrator privileges.
## Configuration
You can configure the basic information of Gitea through the `./config/app.ini` file. For example, you can disable the registration function with the following configuration:
```ini
[service]
DISABLE_REGISTRATION = true
```
### Environment Variables
- `POSTGRES_USER`: The username for the PostgreSQL database, default is `gitea`.
- `POSTGRES_PASSWORD`: The password for the PostgreSQL database, default is `gitea`.
- `POSTGRES_DB`: The name of the PostgreSQL database, default is `gitea`.
## Volumes
- `data`: A volume for storing Gitea data.
- `config`: A volume for storing Gitea configuration.
- `postgres`: A volume for storing PostgreSQL data.

43
src/gitea/README.zh.md Normal file
View File

@@ -0,0 +1,43 @@
# Gitea
[English](./README.md) | [中文](./README.zh.md)
此服务用于搭建一个 Gitea 服务。
## 服务
- `server`: Gitea 应用服务。
- `db`: PostgreSQL 数据库服务。
## 初始设置
在初始页面需要填入数据库信息:
- 数据库类型:`PostgreSQL`
- 主机:`db:5432`
- 用户名:`gitea`
- 密码:`gitea`(默认值)
- 数据库名称:`gitea`
第一个注册的用户将拥有管理员权限。
## 配置
可以通过 `./config/app.ini` 文件配置 Gitea 的基本信息。例如,通过以下配置可以关闭注册功能:
```ini
[service]
DISABLE_REGISTRATION = true
```
### 环境变量
- `POSTGRES_USER`: PostgreSQL 数据库的用户名,默认为 `gitea`
- `POSTGRES_PASSWORD`: PostgreSQL 数据库的密码,默认为 `gitea`
- `POSTGRES_DB`: PostgreSQL 数据库的名称,默认为 `gitea`
## 卷
- `data`: 用于存储 Gitea 数据的卷。
- `config`: 用于存储 Gitea 配置的卷。
- `postgres`: 用于存储 PostgreSQL 数据的卷。

View File

@@ -0,0 +1,62 @@
x-default: &default
restart: unless-stopped
volumes:
- &localtime /etc/localtime:/etc/localtime:ro
- &timezone /etc/timezone:/etc/timezone:ro
logging:
driver: json-file
options:
max-size: 100m
services:
gitea:
<<: *default
image: gitea/gitea:${GITEA_VERSION:-1.24.6-rootless}
environment:
- GITEA__database__DB_TYPE=${GITEA_DB_TYPE:-postgres}
- GITEA__database__HOST=${GITEA_POSTGRES_HOST:-db:5432}
- GITEA__database__USER=${POSTGRES_USER:-gitea}
- GITEA__database__NAME=${POSTGRES_DB:-gitea}
- GITEA__database__PASSWD=${POSTGRES_PASSWORD:-gitea}
volumes:
- *localtime
- *timezone
- gitea_data:/var/lib/gitea
- ./config:/etc/gitea
ports:
- "${GITEA_HTTP_PORT:-3000}:3000"
- "${GITEA_SSH_PORT:-3022}:22"
depends_on:
- db
deploy:
resources:
limits:
cpus: '1.0'
memory: 1G
reservations:
cpus: '0.5'
memory: 512M
db:
<<: *default
image: postgres:${POSTGRES_VERSION:-17.6}
environment:
- POSTGRES_USER=${POSTGRES_USER:-gitea}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-gitea}
- POSTGRES_DB=${POSTGRES_DB:-gitea}
volumes:
- *localtime
- *timezone
- postgres:/var/lib/postgresql/data
deploy:
resources:
limits:
cpus: '1.0'
memory: 1G
reservations:
cpus: '0.5'
memory: 512M
volumes:
gitea_data:
postgres:

View File

View File

@@ -0,0 +1,55 @@
# GitLab Runner
[English](./README.md) | [中文](./README.zh.md)
This service deploys a GitLab Runner.
## Deploy GitLab Runner
1. Create a new runner instance in GitLab, and check *Run untagged jobs*.
2. Create the runner instance:
```bash
docker compose up -d
```
3. Configure the runner:
```bash
docker exec -it gitlab-runner gitlab-runner register
```
## Configuration
You can edit the `config.toml` file to modify the configuration:
```toml
[[runners]]
[runners.docker]
tls_verify = false
pull_policy = "if-not-present"
image = "local/docker:1.0"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = [
"/var/run/docker.sock:/var/run/docker.sock",
"/cache",
"/builds:/builds"
]
extra_hosts = [
"host.docker.internal:host-gateway",
]
shm_size = 0
network_mtu = 0
```
## Services
- `gitlab-runner`: The GitLab Runner service.
## Volumes
- `/var/run/docker.sock`: For communicating with the Docker daemon.
- `config`: A volume for storing GitLab Runner configuration.

View File

@@ -0,0 +1,55 @@
# GitLab Runner
[English](./README.md) | [中文](./README.zh.md)
此服务用于部署一个 GitLab Runner。
## 部署 GitLab Runner
1. 在 GitLab 中新建 Runner 实例,勾选 *运行未打标签的作业*
2. 创建 Runner 实例:
```bash
docker compose up -d
```
3. 配置 Runner
```bash
docker exec -it gitlab-runner gitlab-runner register
```
## 配置
可编辑配置文件 `config.toml` 来修改配置:
```toml
[[runners]]
[runners.docker]
tls_verify = false
pull_policy = "if-not-present"
image = "local/docker:1.0"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = [
"/var/run/docker.sock:/var/run/docker.sock",
"/cache",
"/builds:/builds"
]
extra_hosts = [
"host.docker.internal:host-gateway",
]
shm_size = 0
network_mtu = 0
```
## 服务
- `gitlab-runner`: GitLab Runner 服务。
## 卷
- `/var/run/docker.sock`: 用于与 Docker 守护进程通信。
- `config`: 用于存储 GitLab Runner 配置的卷。

View File

@@ -0,0 +1,14 @@
services:
gitlab-runner:
image: gitlab/gitlab-runner:alpine3.21-v17.10.1
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /var/run/docker.sock:/var/run/docker.sock
- ./config:/etc/gitlab-runner
network_mode: host
networks:
host:
name: host
external: true

0
src/gitlab/.env.example Normal file
View File

32
src/gitlab/README.md Normal file
View File

@@ -0,0 +1,32 @@
# GitLab
[English](./README.md) | [中文](./README.zh.md)
This service sets up a GitLab service.
## Configuration
Edit the `config/gitlab.rb` file and add the following content:
```ruby
external_url 'http://my-server.local:5080'
nginx['listen_port'] = 5080
gitlab_rails['gitlab_ssh_host'] = 'my-server'
gitlab_rails['gitlab_shell_ssh_port'] = 5022
```
## Services
- `gitlab`: The GitLab service.
## Ports
- `5443:443` (HTTPS)
- `5080:80` (HTTP)
- `5022:22` (SSH)
## Volumes
- `config`: A volume for storing GitLab configuration.
- `logs`: A volume for storing GitLab logs.
- `data`: A volume for storing GitLab data.

32
src/gitlab/README.zh.md Normal file
View File

@@ -0,0 +1,32 @@
# GitLab
[English](./README.md) | [中文](./README.zh.md)
此服务用于搭建一个 GitLab 服务。
## 配置
编辑 `config/gitlab.rb` 文件,添加以下内容:
```ruby
external_url 'http://my-server.local:5080'
nginx['listen_port'] = 5080
gitlab_rails['gitlab_ssh_host'] = 'my-server'
gitlab_rails['gitlab_shell_ssh_port'] = 5022
```
## 服务
- `gitlab`: GitLab 服务。
## 端口
- `5443:443` (HTTPS)
- `5080:80` (HTTP)
- `5022:22` (SSH)
## 卷
- `config`: 用于存储 GitLab 配置的卷。
- `logs`: 用于存储 GitLab 日志的卷。
- `data`: 用于存储 GitLab 数据的卷。

View File

@@ -0,0 +1,21 @@
services:
gitlab:
image: gitlab/gitlab-ce:17.10.4-ce.0
container_name: gitlab
restart: unless-stopped
ports:
- "5443:443"
- "5080:80"
- "5022:22"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./config:/etc/gitlab
- logs:/var/log/gitlab
- data:/var/opt/gitlab
extra_hosts:
- host.docker.internal:host-gateway
volumes:
logs:
data:

View File

View File

@@ -1,13 +1,38 @@
# Milvus Standalone Embed
# Milvus Standalone with Embedded Etcd
[English](./README.md) | [中文](./README.zh.md)
Run Milvus in standalone mode with embedded etcd using Docker Compose.
## Start the service
```bash
docker compose up -d
```
Start Attu dashboard:
Start the Attu dashboard:
```bash
docker compose --profile attu up -d
```
## Services
- `milvus-standalone-embed`: The Milvus standalone service with embedded etcd.
- `attu`: The web-based management tool for Milvus.
## Configuration
- `MILVUS_VERSION`: The version of the Milvus image, default is `v2.6.2`.
- `ATTU_VERSION`: The version of the Attu image, default is `v2.6.0`.
- `MILVUS_PORT_OVERRIDE_HTTP`: The host port for the Milvus HTTP service, default is `19530`.
- `MILVUS_PORT_OVERRIDE_WEBUI`: The host port for the Milvus Web UI, default is `9091`.
- `MILVUS_PORT_OVERRIDE_ETCD`: The host port for the etcd service, default is `2379`.
- `ATTU_OVERRIDE_PORT`: The host port for the Attu service, default is `8000`.
- `MILVUS_URL`: The address of the Milvus service for Attu to connect to, default is `milvus-standalone-embed:19530`.
## Volumes
- `milvus_data`: A volume for storing Milvus and embedded etcd data.
- `embed_etcd.yaml`: The configuration file for the embedded etcd.
- `user.yaml`: The user configuration file for Milvus.

View File

@@ -0,0 +1,38 @@
# Milvus 单机版 (内嵌 etcd)
[English](./README.md) | [中文](./README.zh.md)
使用 Docker Compose 以单机模式运行 Milvus并内嵌 etcd。
## 启动服务
```bash
docker compose up -d
```
启动 Attu 仪表盘:
```bash
docker compose --profile attu up -d
```
## 服务
- `milvus-standalone-embed`: Milvus 单机版服务,内嵌 etcd。
- `attu`: Milvus 的网页版管理工具。
## 配置
- `MILVUS_VERSION`: Milvus 镜像的版本,默认为 `v2.6.2`
- `ATTU_VERSION`: Attu 镜像的版本,默认为 `v2.6.0`
- `MILVUS_PORT_OVERRIDE_HTTP`: Milvus HTTP 服务的主机端口,默认为 `19530`
- `MILVUS_PORT_OVERRIDE_WEBUI`: Milvus Web UI 的主机端口,默认为 `9091`
- `MILVUS_PORT_OVERRIDE_ETCD`: etcd 服务的主机端口,默认为 `2379`
- `ATTU_OVERRIDE_PORT`: Attu 服务的主机端口,默认为 `8000`
- `MILVUS_URL`: Milvus 服务的地址,供 Attu 连接,默认为 `milvus-standalone-embed:19530`
## 卷
- `milvus_data`: 用于存储 Milvus 和内嵌 etcd 数据的卷。
- `embed_etcd.yaml`: 内嵌 etcd 的配置文件。
- `user.yaml`: Milvus 的用户配置文件。

View File

View File

@@ -0,0 +1,36 @@
# Milvus Standalone
[English](./README.md) | [中文](./README.zh.md)
Milvus is an open-source vector database designed for processing large-scale vector data. It supports efficient similarity search and analysis, and is widely used in fields such as machine learning, deep learning, and artificial intelligence.
See [Run Milvus with Docker Compose (Linux)](https://milvus.io/docs/install_standalone-docker-compose.md) for more information.
If you need authentication, please visit the [official documentation](https://milvus.io/docs/authenticate.md) to learn how to configure it.
## Services
- `etcd`: Metadata storage service.
- `minio`: Object storage service.
- `milvus-standalone`: The Milvus standalone service.
- `attu`: The web-based management tool for Milvus.
## Configuration
- `ETCD_VERSION`: The version of the etcd image, default is `v3.5.18`.
- `MINIO_VERSION`: The version of the Minio image, default is `RELEASE.2024-12-18T13-15-44Z`.
- `MILVUS_VERSION`: The version of the Milvus image, default is `v2.6.2`.
- `ATTU_VERSION`: The version of the Attu image, default is `v2.6.0`.
- `MINIO_ACCESS_KEY`: The access key for Minio, default is `minioadmin`.
- `MINIO_SECRET_KEY`: The secret key for Minio, default is `minioadmin`.
- `MINIO_PORT_OVERRIDE_API`: The host port for the Minio API, default is `9000`.
- `MINIO_PORT_OVERRIDE_WEBUI`: The host port for the Minio Web UI, default is `9001`.
- `MILVUS_PORT_OVERRIDE_HTTP`: The host port for the Milvus HTTP service, default is `19530`.
- `MILVUS_PORT_OVERRIDE_WEBUI`: The host port for the Milvus Web UI, default is `9091`.
- `ATTU_PORT`: The host port for the Attu service, default is `8000`.
## Volumes
- `etcd_data`: A volume for storing etcd data.
- `minio_data`: A volume for storing Minio data.
- `milvus_data`: A volume for storing Milvus data.

View File

@@ -1,11 +1,36 @@
# Milvus
# Milvus 单机版
[English](./README.md) | [中文](./README.zh.md)
Milvus 是一个开源的向量数据库,专为处理大规模向量数据而设计。它支持高效的相似性搜索和分析,广泛应用于机器学习、深度学习和人工智能等领域。
```bash
docker compose up -d
```
参见 [使用 Docker Compose 运行 Milvus (Linux)](https://milvus.io/docs/zh/install_standalone-docker-compose.md)。
如果需要身份验证,请访问 [官方文档](https://milvus.io/docs/zh/authenticate.md) 了解如何配置。
## 服务
- `etcd`: 元数据存储服务。
- `minio`: 对象存储服务。
- `milvus-standalone`: Milvus 单机版服务。
- `attu`: Milvus 的网页版管理工具。
## 配置
- `ETCD_VERSION`: etcd 镜像的版本,默认为 `v3.5.18`
- `MINIO_VERSION`: Minio 镜像的版本,默认为 `RELEASE.2024-12-18T13-15-44Z`
- `MILVUS_VERSION`: Milvus 镜像的版本,默认为 `v2.6.2`
- `ATTU_VERSION`: Attu 镜像的版本,默认为 `v2.6.0`
- `MINIO_ACCESS_KEY`: Minio 的访问密钥,默认为 `minioadmin`
- `MINIO_SECRET_KEY`: Minio 的秘密密钥,默认为 `minioadmin`
- `MINIO_PORT_OVERRIDE_API`: Minio API 的主机端口,默认为 `9000`
- `MINIO_PORT_OVERRIDE_WEBUI`: Minio Web UI 的主机端口,默认为 `9001`
- `MILVUS_PORT_OVERRIDE_HTTP`: Milvus HTTP 服务的主机端口,默认为 `19530`
- `MILVUS_PORT_OVERRIDE_WEBUI`: Milvus Web UI 的主机端口,默认为 `9091`
- `ATTU_PORT`: Attu 服务的主机端口,默认为 `8000`
## 卷
- `etcd_data`: 用于存储 etcd 数据的卷。
- `minio_data`: 用于存储 Minio 数据的卷。
- `milvus_data`: 用于存储 Milvus 数据的卷。

View File

View File

@@ -1,26 +1,45 @@
# MinerU SGLang
SGLang backend server:
[English](./README.md) | [中文](./README.zh.md)
```bash
docker compose --profile sglang-server up -d
```
This service runs MinerU with the SGLang backend.
Document parse API:
## Start Services
```bash
docker compose --profile api up -d
```
- **SGLang backend server**:
Gradio WebUI:
```bash
docker compose --profile sglang-server up -d
```
```bash
docker compose --profile gradio up -d
```
- **Document parse API**:
Test SGLang backend:
```bash
docker compose --profile api up -d
```
- **Gradio WebUI**:
```bash
docker compose --profile gradio up -d
```
## Test SGLang backend
```bash
pip install mineru
mineru -p demo.pdf -o ./output -b vlm-sglang-client -u http://localhost:30000
```
## Services
- `mineru-sglang-server`: The SGLang backend server.
- `mineru-api`: The document parsing API.
- `mineru-gradio`: The Gradio WebUI.
## Configuration
- `MINERU_DOCKER_IMAGE`: The Docker image for MinerU SGLang, default is `alexsuntop/mineru-sglang:2.2.2`.
- `MINERU_PORT_OVERRIDE_SGLANG`: The host port for the SGLang server, default is `30000`.
- `MINERU_PORT_OVERRIDE_API`: The host port for the API service, default is `8000`.
- `MINERU_PORT_OVERRIDE_GRADIO`: The host port for the Gradio WebUI, default is `7860`.

View File

@@ -0,0 +1,45 @@
# MinerU SGLang
[English](./README.md) | [中文](./README.zh.md)
此服务使用 SGLang 后端运行 MinerU。
## 启动服务
- **SGLang 后端服务器**:
```bash
docker compose --profile sglang-server up -d
```
- **文档解析 API**:
```bash
docker compose --profile api up -d
```
- **Gradio WebUI**:
```bash
docker compose --profile gradio up -d
```
## 测试 SGLang 后端
```bash
pip install mineru
mineru -p demo.pdf -o ./output -b vlm-sglang-client -u http://localhost:30000
```
## 服务
- `mineru-sglang-server`: SGLang 后端服务器。
- `mineru-api`: 文档解析 API。
- `mineru-gradio`: Gradio WebUI。
## 配置
- `MINERU_DOCKER_IMAGE`: MinerU SGLang 的 Docker 镜像,默认为 `alexsuntop/mineru-sglang:2.2.2`。
- `MINERU_PORT_OVERRIDE_SGLANG`: SGLang 服务器的主机端口,默认为 `30000`。
- `MINERU_PORT_OVERRIDE_API`: API 服务的主机端口,默认为 `8000`。
- `MINERU_PORT_OVERRIDE_GRADIO`: Gradio WebUI 的主机端口,默认为 `7860`。

View File

View File

@@ -1,28 +1,45 @@
# MinerU v2
[Reference Documentation](https://opendatalab.github.io/MinerU/zh/usage/quick_usage/).
[English](./README.md) | [中文](./README.zh.md)
VLM backend server:
This service runs MinerU v2. See the [Reference Documentation](https://opendatalab.github.io/MinerU/zh/usage/quick_usage/).
```bash
docker compose --profile vllm-server up -d
```
## Start Services
Document parse API:
- **VLM backend server**:
```bash
docker compose --profile api up -d
```
```bash
docker compose --profile vllm-server up -d
```
Gradio WebUI:
- **Document parse API**:
```bash
docker compose --profile gradio up -d
```
```bash
docker compose --profile api up -d
```
Test vLLM backend:
- **Gradio WebUI**:
```bash
docker compose --profile gradio up -d
```
## Test vLLM backend
```bash
pip install mineru
mineru -p demo.pdf -o ./output -b vlm-http-client -u http://localhost:30000
```
## Services
- `mineru-vllm-server`: The VLM backend server.
- `mineru-api`: The document parsing API.
- `mineru-gradio`: The Gradio WebUI.
## Configuration
- `MINERU_DOCKER_IMAGE`: The Docker image for MinerU, default is `alexsuntop/mineru:2.5.3`.
- `MINERU_PORT_OVERRIDE_VLLM`: The host port for the VLLM server, default is `30000`.
- `MINERU_PORT_OVERRIDE_API`: The host port for the API service, default is `8000`.
- `MINERU_PORT_OVERRIDE_GRADIO`: The host port for the Gradio WebUI, default is `7860`.

View File

@@ -0,0 +1,45 @@
# MinerU v2
[English](./README.md) | [中文](./README.zh.md)
此服务运行 MinerU v2。请参阅[参考文档](https://opendatalab.github.io/MinerU/zh/usage/quick_usage/)。
## 启动服务
- **VLM 后端服务器**:
```bash
docker compose --profile vllm-server up -d
```
- **文档解析 API**:
```bash
docker compose --profile api up -d
```
- **Gradio WebUI**:
```bash
docker compose --profile gradio up -d
```
## 测试 vLLM 后端
```bash
pip install mineru
mineru -p demo.pdf -o ./output -b vlm-http-client -u http://localhost:30000
```
## 服务
- `mineru-vllm-server`: VLM 后端服务器。
- `mineru-api`: 文档解析 API。
- `mineru-gradio`: Gradio WebUI。
## 配置
- `MINERU_DOCKER_IMAGE`: MinerU 的 Docker 镜像,默认为 `alexsuntop/mineru:2.5.3`。
- `MINERU_PORT_OVERRIDE_VLLM`: VLLM 服务器的主机端口,默认为 `30000`。
- `MINERU_PORT_OVERRIDE_API`: API 服务的主机端口,默认为 `8000`。
- `MINERU_PORT_OVERRIDE_GRADIO`: Gradio WebUI 的主机端口,默认为 `7860`。

26
src/minio/README.md Normal file
View File

@@ -0,0 +1,26 @@
# MinIO
[English](./README.md) | [中文](./README.zh.md)
MinIO is a high-performance, distributed object storage system that is compatible with the Amazon S3 API. It can be used to store and manage large amounts of unstructured data, such as photos, videos, log files, etc.
Open the Web UI: <http://localhost:9001>.
## Services
- `minio`: The MinIO service.
## Configuration
- `MINIO_VERSION`: The version of the MinIO image, default is `RELEASE.2025-09-07T16-13-09Z`.
- `MINIO_PORT_OVERRIDE_API`: The host port for the MinIO API, default is `9000`.
- `MINIO_PORT_OVERRIDE_WEBUI`: The host port for the MinIO Web UI, default is `9001`.
- `MINIO_ROOT_USER`: The root username for MinIO, default is `root`.
- `MINIO_ROOT_PASSWORD`: The root password for MinIO, default is `password`.
- `MINIO_ACCESS_KEY`: The access key for MinIO.
- `MINIO_SECRET_KEY`: The secret key for MinIO.
## Volumes
- `minio_data`: A volume for storing MinIO data.
- `config`: A volume for storing MinIO configuration.

View File

@@ -1,5 +1,26 @@
# MinIO
[English](./README.md) | [中文](./README.zh.md)
MinIO 是一个高性能的分布式对象存储系统,兼容 Amazon S3 API。它可以用于存储和管理大量非结构化数据如照片、视频、日志文件等。
打开 Web UI 界面:<http://localhost:9001>
## 服务
- `minio`: MinIO 服务。
## 配置
- `MINIO_VERSION`: MinIO 镜像的版本,默认为 `RELEASE.2025-09-07T16-13-09Z`
- `MINIO_PORT_OVERRIDE_API`: MinIO API 的主机端口,默认为 `9000`
- `MINIO_PORT_OVERRIDE_WEBUI`: MinIO Web UI 的主机端口,默认为 `9001`
- `MINIO_ROOT_USER`: MinIO 的 root 用户名,默认为 `root`
- `MINIO_ROOT_PASSWORD`: MinIO 的 root 密码,默认为 `password`
- `MINIO_ACCESS_KEY`: MinIO 的访问密钥。
- `MINIO_SECRET_KEY`: MinIO 的秘密密钥。
## 卷
- `minio_data`: 用于存储 MinIO 数据的卷。
- `config`: 用于存储 MinIO 配置的卷。

View File

View File

@@ -0,0 +1,62 @@
# MongoDB Replica Set
[English](./README.md) | [中文](./README.zh.md)
This service sets up a MongoDB replica set with three members.
## Prerequisites
1. Generate a key file for the replica set:
```bash
openssl rand -base64 756 > ./secrets/rs0.key
```
## Initialization
1. Start the services:
```bash
docker compose up -d
```
2. Connect to the primary node:
```bash
docker exec -it mongodb-replicaset-mongo1-1 mongosh
```
3. Initialize the replica set. **Remember to replace the host IP with your actual host IP.**
```js
config = {
_id: "rs0",
members: [
{_id: 0, host: "192.168.31.38:27017"},
{_id: 1, host: "192.168.31.38:27018"},
{_id: 2, host: "192.168.31.38:27019"},
]
}
rs.initiate(config)
```
## Services
- `mongo1`: The first member of the replica set.
- `mongo2`: The second member of the replica set.
- `mongo3`: The third member of the replica set.
## Configuration
- `MONGO_VERSION`: The version of the MongoDB image, default is `8.0.13`.
- `MONGO_INITDB_ROOT_USERNAME`: The root username for the database, default is `root`.
- `MONGO_INITDB_ROOT_PASSWORD`: The root password for the database, default is `password`.
- `MONGO_INITDB_DATABASE`: The initial database to create, default is `admin`.
- `MONGO_REPLICA_SET_NAME`: The name of the replica set, default is `rs0`.
- `MONGO_PORT_OVERRIDE_1`: The host port for the first member, default is `27017`.
- `MONGO_PORT_OVERRIDE_2`: The host port for the second member, default is `27018`.
- `MONGO_PORT_OVERRIDE_3`: The host port for the third member, default is `27019`.
## Volumes
- `secrets/rs0.key`: The key file for authenticating members of the replica set.

View File

@@ -1,22 +1,62 @@
# MongoDB
# MongoDB 副本集
```bash
docker exec -it mongodb-mongo1-1 mongosh
```
[English](./README.md) | [中文](./README.zh.md)
初始化副本集
此服务用于搭建一个包含三个成员的 MongoDB 副本集
```js
use admin
db.auth('root', '$MONGO_ROOT_PASSWORD')
config = {
_id: "rs0",
members: [
{_id: 0, host: "192.168.31.38:27017"},
{_id: 1, host: "192.168.31.38:27018"},
{_id: 2, host: "192.168.31.38:27019"},
]
}
rs.initiate(config)
exit
```
## 前提条件
1. 为副本集生成一个密钥文件:
```bash
openssl rand -base64 756 > ./secrets/rs0.key
```
## 初始化
1. 启动服务:
```bash
docker compose up -d
```
2. 连接到主节点:
```bash
docker exec -it mongodb-replicaset-mongo1-1 mongosh
```
3. 初始化副本集。**请记得将 host IP 替换为你的实际主机 IP。**
```js
config = {
_id: "rs0",
members: [
{_id: 0, host: "192.168.31.38:27017"},
{_id: 1, host: "192.168.31.38:27018"},
{_id: 2, host: "192.168.31.38:27019"},
]
}
rs.initiate(config)
```
## 服务
- `mongo1`: 副本集的第一个成员。
- `mongo2`: 副本集的第二个成员。
- `mongo3`: 副本集的第三个成员。
## 配置
- `MONGO_VERSION`: MongoDB 镜像的版本,默认为 `8.0.13`。
- `MONGO_INITDB_ROOT_USERNAME`: 数据库的 root 用户名,默认为 `root`。
- `MONGO_INITDB_ROOT_PASSWORD`: 数据库的 root 密码,默认为 `password`。
- `MONGO_INITDB_DATABASE`: 要创建的初始数据库,默认为 `admin`。
- `MONGO_REPLICA_SET_NAME`: 副本集的名称,默认为 `rs0`。
- `MONGO_PORT_OVERRIDE_1`: 第一个成员的主机端口,默认为 `27017`。
- `MONGO_PORT_OVERRIDE_2`: 第二个成员的主机端口,默认为 `27018`。
- `MONGO_PORT_OVERRIDE_3`: 第三个成员的主机端口,默认为 `27019`。
## 卷
- `secrets/rs0.key`: 用于副本集成员之间认证的密钥文件。

0
src/mysql/.env.example Normal file
View File

View File

@@ -0,0 +1,21 @@
# MySQL
[English](./README.md) | [中文](./README.zh.md)
This service deploys a MySQL database.
## Services
- `mysql`: The MySQL database service.
## Configuration
- `MYSQL_VERSION`: The version of the MySQL image, default is `9.4.0`.
- `MYSQL_PORT_OVERRIDE`: The host port for MySQL, default is `3306`.
- `MYSQL_ROOT_PASSWORD`: The root password, default is `password`.
- `MYSQL_ROOT_HOST`: The root host, default is `%`.
## Volumes
- `mysql_data`: A volume for storing MySQL data.
- `init.sql`: Optional initialization script (mount to `/docker-entrypoint-initdb.d/init.sql`).

21
src/mysql/README.zh.md Normal file
View File

@@ -0,0 +1,21 @@
# MySQL
[English](./README.md) | [中文](./README.zh.md)
此服务用于部署一个 MySQL 数据库。
## 服务
- `mysql`: MySQL 数据库服务。
## 配置
- `MYSQL_VERSION`: MySQL 镜像的版本,默认为 `9.4.0`
- `MYSQL_PORT_OVERRIDE`: MySQL 的主机端口,默认为 `3306`
- `MYSQL_ROOT_PASSWORD`: root 密码,默认为 `password`
- `MYSQL_ROOT_HOST`: root 主机,默认为 `%`
## 卷
- `mysql_data`: 用于存储 MySQL 数据的卷。
- `init.sql`: 可选的初始化脚本(挂载到 `/docker-entrypoint-initdb.d/init.sql`)。

0
src/ollama/.env.example Normal file
View File

View File

@@ -1,19 +1,38 @@
# Ollama
拉取 DeepSeek R1 7B 模型:
[English](./README.md) | [中文](./README.zh.md)
```bash
docker exec -it ollama ollama pull deepseek-r1:7b
```
This service deploys Ollama for running local LLM models.
列出本地所有模型:
## Usage
```bash
docker exec -it ollama ollama list
```
- Pull DeepSeek R1 7B model:
API 请求获取本地所有模型:
```bash
docker exec -it ollama ollama pull deepseek-r1:7b
```
```bash
curl http://localhost:11434/api/tags 2> /dev/null | jq
```
- List all local models:
```bash
docker exec -it ollama ollama list
```
- Get all local models via API:
```bash
curl http://localhost:11434/api/tags 2> /dev/null | jq
```
## Services
- `ollama`: The Ollama service.
## Configuration
- `OLLAMA_VERSION`: The version of the Ollama image, default is `0.12.0`.
- `OLLAMA_PORT_OVERRIDE`: The host port for Ollama, default is `11434`.
## Volumes
- `ollama_models`: A volume for storing Ollama models.

38
src/ollama/README.zh.md Normal file
View File

@@ -0,0 +1,38 @@
# Ollama
[English](./README.md) | [中文](./README.zh.md)
此服务用于部署 Ollama本地运行大语言模型。
## 用法
- 拉取 DeepSeek R1 7B 模型:
```bash
docker exec -it ollama ollama pull deepseek-r1:7b
```
- 列出本地所有模型:
```bash
docker exec -it ollama ollama list
```
- 通过 API 获取本地所有模型:
```bash
curl http://localhost:11434/api/tags 2> /dev/null | jq
```
## 服务
- `ollama`: Ollama 服务。
## 配置
- `OLLAMA_VERSION`: Ollama 镜像的版本,默认为 `0.12.0`。
- `OLLAMA_PORT_OVERRIDE`: Ollama 的主机端口,默认为 `11434`。
## 卷
- `ollama_models`: 用于存储 Ollama 模型的卷。

View File

@@ -1,3 +1,20 @@
# Open WebUI
[English](./README.md) | [中文](./README.zh.md)
Quick start: <https://docs.openwebui.com/getting-started/quick-start>.
This service deploys Open WebUI, a web-based interface for LLMs.
## Services
- `openwebui`: The Open WebUI service.
## Configuration
- `OPEN_WEBUI_VERSION`: The version of the Open WebUI image, default is `main`.
- `OPEN_WEBUI_PORT`: The host port for Open WebUI, default is `8080`.
## Volumes
- `open-webui`: A volume for storing Open WebUI data.

View File

@@ -0,0 +1,20 @@
# Open WebUI
[English](./README.md) | [中文](./README.zh.md)
快速开始:<https://docs.openwebui.com/getting-started/quick-start>
此服务用于部署 Open WebUI一个面向大语言模型的网页界面。
## 服务
- `openwebui`: Open WebUI 服务。
## 配置
- `OPEN_WEBUI_VERSION`: Open WebUI 镜像的版本,默认为 `main`
- `OPEN_WEBUI_PORT`: Open WebUI 的主机端口,默认为 `8080`
## 卷
- `open-webui`: 用于存储 Open WebUI 数据的卷。

View File

@@ -1,3 +1,23 @@
# PocketBase
[English](./README.md) | [中文](./README.zh.md)
PocketBase is an open source backend consisting of a realtime database, authentication, file storage and more. It can be used as a standalone app or embedded into your Go projects.
## Services
- `pocketbase`: The PocketBase service.
## Configuration
- `PB_VERSION`: The version of the PocketBase image, default is `0.30.0`.
- `PB_PORT`: The host port for PocketBase, default is `8090`.
- `PB_ADMIN_EMAIL`: The admin email, default is `admin@example.com`.
- `PB_ADMIN_PASSWORD`: The admin password, default is `supersecret123`.
- `PB_ENCRYPTION`: Optional encryption key (32 characters).
## Volumes
- `pb_data`: A volume for storing PocketBase data.
- `pb_public`: Optional public folder.
- `pb_hooks`: Optional hooks folder.

View File

@@ -0,0 +1,23 @@
# PocketBase
[English](./README.md) | [中文](./README.zh.md)
PocketBase 是一个开源后端,包含实时数据库、认证、文件存储等功能。可作为独立应用运行,也可嵌入到 Go 项目中。
## 服务
- `pocketbase`: PocketBase 服务。
## 配置
- `PB_VERSION`: PocketBase 镜像的版本,默认为 `0.30.0`
- `PB_PORT`: PocketBase 的主机端口,默认为 `8090`
- `PB_ADMIN_EMAIL`: 管理员邮箱,默认为 `admin@example.com`
- `PB_ADMIN_PASSWORD`: 管理员密码,默认为 `supersecret123`
- `PB_ENCRYPTION`: 可选加密密钥32位字符
## 卷
- `pb_data`: 用于存储 PocketBase 数据的卷。
- `pb_public`: 可选的公开文件夹。
- `pb_hooks`: 可选的钩子文件夹。

22
src/postgres/README.md Normal file
View File

@@ -0,0 +1,22 @@
# Postgres
[English](./README.md) | [中文](./README.zh.md)
This service deploys a PostgreSQL database.
## Services
- `postgres`: The PostgreSQL database service.
## Configuration
- `POSTGRES_VERSION`: The version of the PostgreSQL image, default is `17.6`.
- `POSTGRES_USER`: The database username, default is `postgres`.
- `POSTGRES_PASSWORD`: The database password, default is `postgres`.
- `POSTGRES_DB`: The database name, default is `postgres`.
- `POSTGRES_PORT`: The host port for PostgreSQL, default is `5432`.
## Volumes
- `postgres_data`: A volume for storing PostgreSQL data.
- `init.sql`: Optional initialization script (mount to `/docker-entrypoint-initdb.d/init.sql`).

22
src/postgres/README.zh.md Normal file
View File

@@ -0,0 +1,22 @@
# Postgres
[English](./README.md) | [中文](./README.zh.md)
此服务用于部署一个 PostgreSQL 数据库。
## 服务
- `postgres`: PostgreSQL 数据库服务。
## 配置
- `POSTGRES_VERSION`: PostgreSQL 镜像的版本,默认为 `17.6`
- `POSTGRES_USER`: 数据库用户名,默认为 `postgres`
- `POSTGRES_PASSWORD`: 数据库密码,默认为 `postgres`
- `POSTGRES_DB`: 数据库名称,默认为 `postgres`
- `POSTGRES_PORT`: PostgreSQL 的主机端口,默认为 `5432`
## 卷
- `postgres_data`: 用于存储 PostgreSQL 数据的卷。
- `init.sql`: 可选的初始化脚本(挂载到 `/docker-entrypoint-initdb.d/init.sql`)。

View File

@@ -1,5 +1,25 @@
# Qdrant
## 鉴权
[English](./README.md) | [中文](./README.zh.md)
Qdrant 支持 [API 密钥](https://qdrant.tech/documentation/guides/security/#read-only-api-key)和 [JWT 令牌](https://qdrant.tech/documentation/guides/security/#granular-access-control-with-jwt)两种鉴权方式。
Qdrant is a vector database for efficient similarity search and AI applications.
## Authorization
Qdrant supports [API keys](https://qdrant.tech/documentation/guides/security/#read-only-api-key) and [JWT tokens](https://qdrant.tech/documentation/guides/security/#granular-access-control-with-jwt) for access control.
## Services
- `qdrant`: The Qdrant vector database service.
## Configuration
- `QDRANT_VERSION`: The version of the Qdrant image, default is `v1.15.4`.
- `QDRANT_HTTP_PORT`: The host port for Qdrant HTTP API, default is `6333`.
- `QDRANT_GRPC_PORT`: The host port for Qdrant gRPC API, default is `6334`.
- `QDRANT_API_KEY`: API key for Qdrant.
- `QDRANT_JWT_RBAC`: Enable JWT RBAC, default is `false`.
## Volumes
- `qdrant_data`: A volume for storing Qdrant data.

25
src/qdrant/README.zh.md Normal file
View File

@@ -0,0 +1,25 @@
# Qdrant
[English](./README.md) | [中文](./README.zh.md)
Qdrant 是一个用于高效相似性搜索和 AI 应用的向量数据库。
## 鉴权
Qdrant 支持 [API 密钥](https://qdrant.tech/documentation/guides/security/#read-only-api-key) 和 [JWT 令牌](https://qdrant.tech/documentation/guides/security/#granular-access-control-with-jwt) 两种鉴权方式。
## 服务
- `qdrant`: Qdrant 向量数据库服务。
## 配置
- `QDRANT_VERSION`: Qdrant 镜像的版本,默认为 `v1.15.4`
- `QDRANT_HTTP_PORT`: Qdrant HTTP API 的主机端口,默认为 `6333`
- `QDRANT_GRPC_PORT`: Qdrant gRPC API 的主机端口,默认为 `6334`
- `QDRANT_API_KEY`: Qdrant 的 API 密钥。
- `QDRANT_JWT_RBAC`: 是否启用 JWT RBAC默认为 `false`
## 卷
- `qdrant_data`: 用于存储 Qdrant 数据的卷。

View File

View File

@@ -1 +1,21 @@
# RabbitMQ
[English](./README.md) | [中文](./README.zh.md)
This service deploys RabbitMQ, a message broker for reliable messaging between applications.
## Services
- `rabbitmq`: The RabbitMQ service.
## Configuration
- `RABBITMQ_VERSION`: The version of the RabbitMQ image, default is `4.1.4-management-alpine`.
- `RABBITMQ_PORT`: The host port for RabbitMQ, default is `5672`.
- `RABBITMQ_MANAGEMENT_PORT`: The host port for RabbitMQ Management UI, default is `15672`.
- `RABBITMQ_DEFAULT_USER`: The default username, default is `admin`.
- `RABBITMQ_DEFAULT_PASS`: The default password, default is `password`.
## Volumes
- `rabbitmq_data`: A volume for storing RabbitMQ data.

21
src/rabbitmq/README.zh.md Normal file
View File

@@ -0,0 +1,21 @@
# RabbitMQ
[English](./README.md) | [中文](./README.zh.md)
此服务用于部署 RabbitMQ一个用于应用间可靠消息传递的消息中间件。
## 服务
- `rabbitmq`: RabbitMQ 服务。
## 配置
- `RABBITMQ_VERSION`: RabbitMQ 镜像的版本,默认为 `4.1.4-management-alpine`
- `RABBITMQ_PORT`: RabbitMQ 的主机端口,默认为 `5672`
- `RABBITMQ_MANAGEMENT_PORT`: RabbitMQ 管理界面的主机端口,默认为 `15672`
- `RABBITMQ_DEFAULT_USER`: 默认用户名,默认为 `admin`
- `RABBITMQ_DEFAULT_PASS`: 默认密码,默认为 `password`
## 卷
- `rabbitmq_data`: 用于存储 RabbitMQ 数据的卷。

View File

@@ -1,12 +1,25 @@
# Redis
[English](./README.md) | [中文](./README.zh.md)
This service deploys Redis, an in-memory key-value store for caching and message brokering.
## Services
- `redis`: The Redis service.
## Environment Variables
| Variable Name | Description | Default Value |
| ------------------- | -------------------------------------------------------- | -------------------- |
| REDIS_VERSION | Redis image version | `"8.2.1-alpine3.22"` |
| SKIP_FIX_PERMS | Skip permission fixing, set to 1 to skip | `""` |
| REDIS_PASSWORD | Password for the default "default" user | `""` |
| REDIS_PORT_OVERRIDE | Host port mapping (maps to Redis port 6379 in container) | 6379 |
| Variable Name | Description | Default Value |
| ------------------- | -------------------------------------------------------- | ------------------ |
| REDIS_VERSION | Redis image version | `8.2.1-alpine3.22` |
| SKIP_FIX_PERMS | Skip permission fixing, set to 1 to skip | `""` |
| REDIS_PASSWORD | Password for the default "default" user | `""` |
| REDIS_PORT_OVERRIDE | Host port mapping (maps to Redis port 6379 in container) | 6379 |
Please modify the `.env` file as needed for your use case.
## Volumes
- `redis_data`: A volume for storing Redis data.
- `redis.conf`: Optional custom configuration file (mount to `/etc/redis/redis.conf`).

25
src/redis/README.zh.md Normal file
View File

@@ -0,0 +1,25 @@
# Redis
[English](./README.md) | [中文](./README.zh.md)
此服务用于部署 Redis一个用于缓存和消息队列的内存键值数据库。
## 服务
- `redis`: Redis 服务。
## 环境变量
| 变量名 | 说明 | 默认值 |
| ------------------- | -------------------------------------------- | ------------------ |
| REDIS_VERSION | Redis 镜像版本 | `8.2.1-alpine3.22` |
| SKIP_FIX_PERMS | 跳过权限修复,设置为 1 跳过 | `""` |
| REDIS_PASSWORD | 默认 "default" 用户的密码 | `""` |
| REDIS_PORT_OVERRIDE | 主机端口映射(映射到容器内 Redis 端口 6379 | 6379 |
请根据实际需求修改 `.env` 文件。
## 卷
- `redis_data`: 用于存储 Redis 数据的卷。
- `redis.conf`: 可选的自定义配置文件(挂载到 `/etc/redis/redis.conf`)。