feat: add android-docker
This commit is contained in:
@@ -17,7 +17,7 @@ These services require building custom Docker images from source.
|
|||||||
## Supported Services
|
## Supported Services
|
||||||
|
|
||||||
| Service | Version |
|
| Service | Version |
|
||||||
| -------------------------------------------------------------- | ------------------- |
|
| -------------------------------------------------------------- | -------------------- |
|
||||||
| [Apache APISIX](./src/apisix) | 3.13.0 |
|
| [Apache APISIX](./src/apisix) | 3.13.0 |
|
||||||
| [Apache Cassandra](./src/cassandra) | 5.0.2 |
|
| [Apache Cassandra](./src/cassandra) | 5.0.2 |
|
||||||
| [Apache Flink](./src/flink) | 1.20.0 |
|
| [Apache Flink](./src/flink) | 1.20.0 |
|
||||||
@@ -37,6 +37,7 @@ These services require building custom Docker images from source.
|
|||||||
| [Dify](./apps/dify) | 0.18.2 |
|
| [Dify](./apps/dify) | 0.18.2 |
|
||||||
| [DNSMasq](./src/dnsmasq) | 2.91 |
|
| [DNSMasq](./src/dnsmasq) | 2.91 |
|
||||||
| [Dockge](./src/dockge) | 1 |
|
| [Dockge](./src/dockge) | 1 |
|
||||||
|
| [Docker Android Emulator](./src/docker-android) | api-33 |
|
||||||
| [Docker Registry](./src/docker-registry) | 3.0.0 |
|
| [Docker Registry](./src/docker-registry) | 3.0.0 |
|
||||||
| [Doris](./src/doris) | 3.0.0 |
|
| [Doris](./src/doris) | 3.0.0 |
|
||||||
| [DuckDB](./src/duckdb) | v1.1.3 |
|
| [DuckDB](./src/duckdb) | v1.1.3 |
|
||||||
@@ -99,7 +100,7 @@ These services require building custom Docker images from source.
|
|||||||
| [OpenCut](./src/opencut) | latest |
|
| [OpenCut](./src/opencut) | latest |
|
||||||
| [OpenList](./src/openlist) | latest |
|
| [OpenList](./src/openlist) | latest |
|
||||||
| [OpenLIT](./apps/openlit) | latest |
|
| [OpenLIT](./apps/openlit) | latest |
|
||||||
| [OpenObserve](./apps/openobserve) | v0.50.0 |
|
| [OpenObserve](./apps/openobserve) | v0.50.0 (enterprise) |
|
||||||
| [OpenSearch](./src/opensearch) | 2.19.0 |
|
| [OpenSearch](./src/opensearch) | 2.19.0 |
|
||||||
| [OpenTelemetry Collector](./src/otel-collector) | 0.115.1 |
|
| [OpenTelemetry Collector](./src/otel-collector) | 0.115.1 |
|
||||||
| [Overleaf](./src/overleaf) | 5.2.1 |
|
| [Overleaf](./src/overleaf) | 5.2.1 |
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ Compose Anything 通过提供一组高质量的 Docker Compose 配置文件,
|
|||||||
## 已经支持的服务
|
## 已经支持的服务
|
||||||
|
|
||||||
| 服务 | 版本 |
|
| 服务 | 版本 |
|
||||||
| -------------------------------------------------------------- | ------------------- |
|
| -------------------------------------------------------------- | --------------------- |
|
||||||
| [Apache APISIX](./src/apisix) | 3.13.0 |
|
| [Apache APISIX](./src/apisix) | 3.13.0 |
|
||||||
| [Apache Cassandra](./src/cassandra) | 5.0.2 |
|
| [Apache Cassandra](./src/cassandra) | 5.0.2 |
|
||||||
| [Apache Flink](./src/flink) | 1.20.0 |
|
| [Apache Flink](./src/flink) | 1.20.0 |
|
||||||
@@ -37,6 +37,7 @@ Compose Anything 通过提供一组高质量的 Docker Compose 配置文件,
|
|||||||
| [Dify](./apps/dify) | 0.18.2 |
|
| [Dify](./apps/dify) | 0.18.2 |
|
||||||
| [DNSMasq](./src/dnsmasq) | 2.91 |
|
| [DNSMasq](./src/dnsmasq) | 2.91 |
|
||||||
| [Dockge](./src/dockge) | 1 |
|
| [Dockge](./src/dockge) | 1 |
|
||||||
|
| [Docker Android Emulator](./src/docker-android) | api-33 |
|
||||||
| [Docker Registry](./src/docker-registry) | 3.0.0 |
|
| [Docker Registry](./src/docker-registry) | 3.0.0 |
|
||||||
| [Doris](./src/doris) | 3.0.0 |
|
| [Doris](./src/doris) | 3.0.0 |
|
||||||
| [DuckDB](./src/duckdb) | v1.1.3 |
|
| [DuckDB](./src/duckdb) | v1.1.3 |
|
||||||
@@ -99,7 +100,7 @@ Compose Anything 通过提供一组高质量的 Docker Compose 配置文件,
|
|||||||
| [OpenCut](./src/opencut) | latest |
|
| [OpenCut](./src/opencut) | latest |
|
||||||
| [OpenList](./src/openlist) | latest |
|
| [OpenList](./src/openlist) | latest |
|
||||||
| [OpenLIT](./apps/openlit) | latest |
|
| [OpenLIT](./apps/openlit) | latest |
|
||||||
| [OpenObserve](./apps/openobserve) | v0.50.0 |
|
| [OpenObserve](./apps/openobserve) | v0.50.0(enterprise) |
|
||||||
| [OpenSearch](./src/opensearch) | 2.19.0 |
|
| [OpenSearch](./src/opensearch) | 2.19.0 |
|
||||||
| [OpenTelemetry Collector](./src/otel-collector) | 0.115.1 |
|
| [OpenTelemetry Collector](./src/otel-collector) | 0.115.1 |
|
||||||
| [Overleaf](./src/overleaf) | 5.2.1 |
|
| [Overleaf](./src/overleaf) | 5.2.1 |
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ ZO_DATA_DIR=/data
|
|||||||
|
|
||||||
# Root user credentials
|
# Root user credentials
|
||||||
# IMPORTANT: Change these default credentials before deploying to production
|
# IMPORTANT: Change these default credentials before deploying to production
|
||||||
ZO_ROOT_USER_EMAIL=admin@example.com
|
ZO_ROOT_USER_EMAIL="root@example.com"
|
||||||
ZO_ROOT_USER_PASSWORD=Complexpass#123
|
ZO_ROOT_USER_PASSWORD="Complexpass#123"
|
||||||
|
|
||||||
# Optional: S3 object storage configuration
|
# Optional: S3 object storage configuration
|
||||||
# Leave empty to use local disk storage
|
# Leave empty to use local disk storage
|
||||||
|
|||||||
@@ -41,10 +41,10 @@
|
|||||||
### Basic Configuration
|
### Basic Configuration
|
||||||
|
|
||||||
| Environment Variable | Description | Default |
|
| Environment Variable | Description | Default |
|
||||||
| --------------------------- | ------------------------------- | ------------------- |
|
| --------------------------- | ------------------------------- | ------------------ |
|
||||||
| `OPENOBSERVE_VERSION` | OpenObserve image version | `v0.50.0` |
|
| `OPENOBSERVE_VERSION` | OpenObserve image version | `v0.50.0` |
|
||||||
| `OPENOBSERVE_PORT_OVERRIDE` | Web UI port | `5080` |
|
| `OPENOBSERVE_PORT_OVERRIDE` | Web UI port | `5080` |
|
||||||
| `ZO_ROOT_USER_EMAIL` | Root user email | `admin@example.com` |
|
| `ZO_ROOT_USER_EMAIL` | Root user email | `root@example.com` |
|
||||||
| `ZO_ROOT_USER_PASSWORD` | Root user password | `Complexpass#123` |
|
| `ZO_ROOT_USER_PASSWORD` | Root user password | `Complexpass#123` |
|
||||||
| `ZO_DATA_DIR` | Data directory inside container | `/data` |
|
| `ZO_DATA_DIR` | Data directory inside container | `/data` |
|
||||||
|
|
||||||
@@ -83,7 +83,7 @@ Send OTLP data to `http://localhost:5080/api/default/` with authentication.
|
|||||||
### Logs via HTTP
|
### Logs via HTTP
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -u admin@example.com:Complexpass#123 \
|
curl -u root@example.com:Complexpass#123 \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
http://localhost:5080/api/default/logs/_json \
|
http://localhost:5080/api/default/logs/_json \
|
||||||
-d '[{"message": "Hello OpenObserve", "level": "info"}]'
|
-d '[{"message": "Hello OpenObserve", "level": "info"}]'
|
||||||
|
|||||||
@@ -41,10 +41,10 @@
|
|||||||
### 基础配置
|
### 基础配置
|
||||||
|
|
||||||
| 环境变量 | 说明 | 默认值 |
|
| 环境变量 | 说明 | 默认值 |
|
||||||
| --------------------------- | -------------------- | ------------------- |
|
| --------------------------- | -------------------- | ------------------ |
|
||||||
| `OPENOBSERVE_VERSION` | OpenObserve 镜像版本 | `v0.50.0` |
|
| `OPENOBSERVE_VERSION` | OpenObserve 镜像版本 | `v0.50.0` |
|
||||||
| `OPENOBSERVE_PORT_OVERRIDE` | Web UI 端口 | `5080` |
|
| `OPENOBSERVE_PORT_OVERRIDE` | Web UI 端口 | `5080` |
|
||||||
| `ZO_ROOT_USER_EMAIL` | 根用户邮箱 | `admin@example.com` |
|
| `ZO_ROOT_USER_EMAIL` | 根用户邮箱 | `root@example.com` |
|
||||||
| `ZO_ROOT_USER_PASSWORD` | 根用户密码 | `Complexpass#123` |
|
| `ZO_ROOT_USER_PASSWORD` | 根用户密码 | `Complexpass#123` |
|
||||||
| `ZO_DATA_DIR` | 容器内数据目录 | `/data` |
|
| `ZO_DATA_DIR` | 容器内数据目录 | `/data` |
|
||||||
|
|
||||||
@@ -83,7 +83,7 @@ OpenObserve 支持多种采集方式:
|
|||||||
### 通过 HTTP 采集日志
|
### 通过 HTTP 采集日志
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -u admin@example.com:Complexpass#123 \
|
curl -u root@example.com:Complexpass#123 \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
http://localhost:5080/api/default/logs/_json \
|
http://localhost:5080/api/default/logs/_json \
|
||||||
-d '[{"message": "Hello OpenObserve", "level": "info"}]'
|
-d '[{"message": "Hello OpenObserve", "level": "info"}]'
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- TZ=${TZ:-UTC}
|
- TZ=${TZ:-UTC}
|
||||||
- ZO_DATA_DIR=${ZO_DATA_DIR:-/data}
|
- ZO_DATA_DIR=${ZO_DATA_DIR:-/data}
|
||||||
- ZO_ROOT_USER_EMAIL=${ZO_ROOT_USER_EMAIL:-admin@example.com}
|
- ZO_ROOT_USER_EMAIL=${ZO_ROOT_USER_EMAIL:-root@example.com}
|
||||||
- ZO_ROOT_USER_PASSWORD=${ZO_ROOT_USER_PASSWORD:-Complexpass#123}
|
- ZO_ROOT_USER_PASSWORD=${ZO_ROOT_USER_PASSWORD:-Complexpass#123}
|
||||||
# Optional: S3 configuration for object storage
|
# Optional: S3 configuration for object storage
|
||||||
- ZO_S3_BUCKET_NAME=${ZO_S3_BUCKET_NAME:-}
|
- ZO_S3_BUCKET_NAME=${ZO_S3_BUCKET_NAME:-}
|
||||||
|
|||||||
31
src/docker-android/.env.example
Normal file
31
src/docker-android/.env.example
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# Docker Android image tag (e.g., api-33, api-33-playstore)
|
||||||
|
# DOCKER_ANDROID_VERSION=api-33
|
||||||
|
|
||||||
|
# Docker Android GPU image tag (used by the gpu profile)
|
||||||
|
# DOCKER_ANDROID_GPU_VERSION=api-33-cuda
|
||||||
|
|
||||||
|
# Host port overrides
|
||||||
|
# DOCKER_ANDROID_ADB_PORT_OVERRIDE=5555
|
||||||
|
# DOCKER_ANDROID_CONSOLE_PORT_OVERRIDE=5554
|
||||||
|
|
||||||
|
# KVM device path (Linux hosts only)
|
||||||
|
# DOCKER_ANDROID_KVM_DEVICE=/dev/kvm
|
||||||
|
|
||||||
|
# Optional ADB key directory for Play Store images
|
||||||
|
# DOCKER_ANDROID_KEYS_DIR=./keys
|
||||||
|
|
||||||
|
# Emulator settings
|
||||||
|
# DOCKER_ANDROID_DISABLE_ANIMATION=false
|
||||||
|
# DOCKER_ANDROID_DISABLE_HIDDEN_POLICY=false
|
||||||
|
# DOCKER_ANDROID_SKIP_AUTH=true
|
||||||
|
# DOCKER_ANDROID_MEMORY=8192
|
||||||
|
# DOCKER_ANDROID_CORES=4
|
||||||
|
|
||||||
|
# GPU settings
|
||||||
|
# DOCKER_ANDROID_GPU_COUNT=1
|
||||||
|
|
||||||
|
# Resource limits
|
||||||
|
# DOCKER_ANDROID_CPU_LIMIT=2
|
||||||
|
# DOCKER_ANDROID_MEMORY_LIMIT=8G
|
||||||
|
# DOCKER_ANDROID_CPU_RESERVATION=1
|
||||||
|
# DOCKER_ANDROID_MEMORY_RESERVATION=4G
|
||||||
59
src/docker-android/README.md
Normal file
59
src/docker-android/README.md
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# Docker Android Emulator
|
||||||
|
|
||||||
|
[English](./README.md) | [中文](./README.zh.md)
|
||||||
|
|
||||||
|
This service deploys the HQarroum Docker Android emulator image.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
- Start the default emulator:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
- Start with GPU acceleration:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose --profile gpu up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
- Connect with ADB:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
adb connect 127.0.0.1:5555
|
||||||
|
```
|
||||||
|
|
||||||
|
## Services
|
||||||
|
|
||||||
|
- `docker_android`: Android emulator (default).
|
||||||
|
- `docker_android_gpu`: Android emulator with CUDA support (profile: `gpu`).
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
- `DOCKER_ANDROID_VERSION`: Image tag, default is `api-33`.
|
||||||
|
- `DOCKER_ANDROID_GPU_VERSION`: GPU image tag, default is `api-33-cuda`.
|
||||||
|
- `DOCKER_ANDROID_ADB_PORT_OVERRIDE`: Host port for ADB, default is `5555`.
|
||||||
|
- `DOCKER_ANDROID_CONSOLE_PORT_OVERRIDE`: Host port for emulator console, default is `5554`.
|
||||||
|
- `DOCKER_ANDROID_KVM_DEVICE`: KVM device path, default is `/dev/kvm`.
|
||||||
|
- `DOCKER_ANDROID_KEYS_DIR`: ADB key directory for Play Store images, default is `./keys`.
|
||||||
|
- `DOCKER_ANDROID_DISABLE_ANIMATION`: Disable animations, default is `false`.
|
||||||
|
- `DOCKER_ANDROID_DISABLE_HIDDEN_POLICY`: Disable hidden API policy, default is `false`.
|
||||||
|
- `DOCKER_ANDROID_SKIP_AUTH`: Skip ADB authentication, default is `true`.
|
||||||
|
- `DOCKER_ANDROID_MEMORY`: Emulator RAM in MB, default is `8192`.
|
||||||
|
- `DOCKER_ANDROID_CORES`: Emulator CPU cores, default is `4`.
|
||||||
|
- `DOCKER_ANDROID_GPU_COUNT`: Number of GPUs, default is `1`.
|
||||||
|
- `DOCKER_ANDROID_CPU_LIMIT`: CPU limit, default is `2`.
|
||||||
|
- `DOCKER_ANDROID_MEMORY_LIMIT`: Memory limit, default is `8G`.
|
||||||
|
- `DOCKER_ANDROID_CPU_RESERVATION`: CPU reservation, default is `1`.
|
||||||
|
- `DOCKER_ANDROID_MEMORY_RESERVATION`: Memory reservation, default is `4G`.
|
||||||
|
|
||||||
|
## Volumes
|
||||||
|
|
||||||
|
- `docker_android_data`: Android AVD data stored at `/data`.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Linux with KVM is required for performance. Ensure `/dev/kvm` is available.
|
||||||
|
- For Play Store images, set `DOCKER_ANDROID_VERSION=api-33-playstore` and place `adbkey` and `adbkey.pub` in the `./keys` directory.
|
||||||
|
- The emulator is headless and can be controlled with `scrcpy` after connecting ADB.
|
||||||
59
src/docker-android/README.zh.md
Normal file
59
src/docker-android/README.zh.md
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# Docker Android Emulator
|
||||||
|
|
||||||
|
[English](./README.md) | [中文](./README.zh.md)
|
||||||
|
|
||||||
|
该服务用于部署 HQarroum 的 Docker Android Emulator 镜像。
|
||||||
|
|
||||||
|
## 使用方法
|
||||||
|
|
||||||
|
- 启动默认模拟器:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
- 启动 GPU 加速:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose --profile gpu up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
- 使用 ADB 连接:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
adb connect 127.0.0.1:5555
|
||||||
|
```
|
||||||
|
|
||||||
|
## 服务
|
||||||
|
|
||||||
|
- `docker_android`:默认 Android 模拟器。
|
||||||
|
- `docker_android_gpu`:带 CUDA 的 Android 模拟器(Profile:`gpu`)。
|
||||||
|
|
||||||
|
## 配置
|
||||||
|
|
||||||
|
- `DOCKER_ANDROID_VERSION`:镜像标签,默认 `api-33`。
|
||||||
|
- `DOCKER_ANDROID_GPU_VERSION`:GPU 镜像标签,默认 `api-33-cuda`。
|
||||||
|
- `DOCKER_ANDROID_ADB_PORT_OVERRIDE`:ADB 主机端口,默认 `5555`。
|
||||||
|
- `DOCKER_ANDROID_CONSOLE_PORT_OVERRIDE`:模拟器控制台端口,默认 `5554`。
|
||||||
|
- `DOCKER_ANDROID_KVM_DEVICE`:KVM 设备路径,默认 `/dev/kvm`。
|
||||||
|
- `DOCKER_ANDROID_KEYS_DIR`:Play Store 镜像的 ADB 密钥目录,默认 `./keys`。
|
||||||
|
- `DOCKER_ANDROID_DISABLE_ANIMATION`:禁用动画,默认 `false`。
|
||||||
|
- `DOCKER_ANDROID_DISABLE_HIDDEN_POLICY`:禁用隐藏 API 策略,默认 `false`。
|
||||||
|
- `DOCKER_ANDROID_SKIP_AUTH`:跳过 ADB 认证,默认 `true`。
|
||||||
|
- `DOCKER_ANDROID_MEMORY`:模拟器内存(MB),默认 `8192`。
|
||||||
|
- `DOCKER_ANDROID_CORES`:模拟器 CPU 核心数,默认 `4`。
|
||||||
|
- `DOCKER_ANDROID_GPU_COUNT`:GPU 数量,默认 `1`。
|
||||||
|
- `DOCKER_ANDROID_CPU_LIMIT`:CPU 限制,默认 `2`。
|
||||||
|
- `DOCKER_ANDROID_MEMORY_LIMIT`:内存限制,默认 `8G`。
|
||||||
|
- `DOCKER_ANDROID_CPU_RESERVATION`:CPU 预留,默认 `1`。
|
||||||
|
- `DOCKER_ANDROID_MEMORY_RESERVATION`:内存预留,默认 `4G`。
|
||||||
|
|
||||||
|
## 数据卷
|
||||||
|
|
||||||
|
- `docker_android_data`:Android AVD 数据目录,挂载到 `/data`。
|
||||||
|
|
||||||
|
## 说明
|
||||||
|
|
||||||
|
- 建议在支持 KVM 的 Linux 主机上运行,确保 `/dev/kvm` 可用。
|
||||||
|
- Play Store 镜像请设置 `DOCKER_ANDROID_VERSION=api-33-playstore`,并将 `adbkey` 与 `adbkey.pub` 放到 `./keys` 目录。
|
||||||
|
- 模拟器为无界面模式,ADB 连接后可使用 `scrcpy` 进行控制。
|
||||||
83
src/docker-android/docker-compose.yaml
Normal file
83
src/docker-android/docker-compose.yaml
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
x-defaults: &defaults
|
||||||
|
restart: unless-stopped
|
||||||
|
logging:
|
||||||
|
driver: json-file
|
||||||
|
options:
|
||||||
|
max-size: 100m
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
docker_android:
|
||||||
|
<<: *defaults
|
||||||
|
image: ${GLOBAL_REGISTRY:-}halimqarroum/docker-android:${DOCKER_ANDROID_VERSION:-api-33}
|
||||||
|
ports:
|
||||||
|
- "${DOCKER_ANDROID_ADB_PORT_OVERRIDE:-5555}:5555"
|
||||||
|
- "${DOCKER_ANDROID_CONSOLE_PORT_OVERRIDE:-5554}:5554"
|
||||||
|
volumes:
|
||||||
|
- docker_android_data:/data
|
||||||
|
- ${DOCKER_ANDROID_KEYS_DIR:-./keys}:/keys:ro
|
||||||
|
environment:
|
||||||
|
- TZ=${TZ:-UTC}
|
||||||
|
- DISABLE_ANIMATION=${DOCKER_ANDROID_DISABLE_ANIMATION:-false}
|
||||||
|
- DISABLE_HIDDEN_POLICY=${DOCKER_ANDROID_DISABLE_HIDDEN_POLICY:-false}
|
||||||
|
- SKIP_AUTH=${DOCKER_ANDROID_SKIP_AUTH:-true}
|
||||||
|
- MEMORY=${DOCKER_ANDROID_MEMORY:-8192}
|
||||||
|
- CORES=${DOCKER_ANDROID_CORES:-4}
|
||||||
|
devices:
|
||||||
|
- "${DOCKER_ANDROID_KVM_DEVICE:-/dev/kvm}:/dev/kvm"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "adb devices 2>/dev/null | grep -q emulator"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 5
|
||||||
|
start_period: 60s
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: ${DOCKER_ANDROID_CPU_LIMIT:-2}
|
||||||
|
memory: ${DOCKER_ANDROID_MEMORY_LIMIT:-8G}
|
||||||
|
reservations:
|
||||||
|
cpus: ${DOCKER_ANDROID_CPU_RESERVATION:-1}
|
||||||
|
memory: ${DOCKER_ANDROID_MEMORY_RESERVATION:-4G}
|
||||||
|
|
||||||
|
docker_android_gpu:
|
||||||
|
<<: *defaults
|
||||||
|
profiles:
|
||||||
|
- gpu
|
||||||
|
image: ${GLOBAL_REGISTRY:-}halimqarroum/docker-android:${DOCKER_ANDROID_GPU_VERSION:-api-33-cuda}
|
||||||
|
ports:
|
||||||
|
- "${DOCKER_ANDROID_ADB_PORT_OVERRIDE:-5555}:5555"
|
||||||
|
- "${DOCKER_ANDROID_CONSOLE_PORT_OVERRIDE:-5554}:5554"
|
||||||
|
volumes:
|
||||||
|
- docker_android_data:/data
|
||||||
|
- ${DOCKER_ANDROID_KEYS_DIR:-./keys}:/keys:ro
|
||||||
|
environment:
|
||||||
|
- TZ=${TZ:-UTC}
|
||||||
|
- DISABLE_ANIMATION=${DOCKER_ANDROID_DISABLE_ANIMATION:-false}
|
||||||
|
- DISABLE_HIDDEN_POLICY=${DOCKER_ANDROID_DISABLE_HIDDEN_POLICY:-false}
|
||||||
|
- SKIP_AUTH=${DOCKER_ANDROID_SKIP_AUTH:-true}
|
||||||
|
- MEMORY=${DOCKER_ANDROID_MEMORY:-8192}
|
||||||
|
- CORES=${DOCKER_ANDROID_CORES:-4}
|
||||||
|
devices:
|
||||||
|
- "${DOCKER_ANDROID_KVM_DEVICE:-/dev/kvm}:/dev/kvm"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "adb devices 2>/dev/null | grep -q emulator"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 5
|
||||||
|
start_period: 60s
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: ${DOCKER_ANDROID_CPU_LIMIT:-2}
|
||||||
|
memory: ${DOCKER_ANDROID_MEMORY_LIMIT:-8G}
|
||||||
|
reservations:
|
||||||
|
cpus: ${DOCKER_ANDROID_CPU_RESERVATION:-1}
|
||||||
|
memory: ${DOCKER_ANDROID_MEMORY_RESERVATION:-4G}
|
||||||
|
devices:
|
||||||
|
- driver: nvidia
|
||||||
|
count: ${DOCKER_ANDROID_GPU_COUNT:-1}
|
||||||
|
capabilities: [gpu]
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
docker_android_data:
|
||||||
@@ -14,9 +14,6 @@ x-mongo: &mongo
|
|||||||
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME:-root}
|
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME:-root}
|
||||||
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD:-password}
|
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD:-password}
|
||||||
MONGO_INITDB_DATABASE: ${MONGO_INITDB_DATABASE:-admin}
|
MONGO_INITDB_DATABASE: ${MONGO_INITDB_DATABASE:-admin}
|
||||||
volumes:
|
|
||||||
- ./secrets/rs0.key:/data/rs0.key:ro
|
|
||||||
- mongo_data:/data/db
|
|
||||||
entrypoint:
|
entrypoint:
|
||||||
- bash
|
- bash
|
||||||
- -c
|
- -c
|
||||||
@@ -49,6 +46,9 @@ services:
|
|||||||
<<: *mongo
|
<<: *mongo
|
||||||
ports:
|
ports:
|
||||||
- "${MONGO_PORT_OVERRIDE_1:-27017}:27017"
|
- "${MONGO_PORT_OVERRIDE_1:-27017}:27017"
|
||||||
|
volumes:
|
||||||
|
- mongo_data:/data/db
|
||||||
|
- ./secrets/rs0.key:/data/rs0.key:ro
|
||||||
|
|
||||||
mongo-init:
|
mongo-init:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
@@ -66,6 +66,8 @@ services:
|
|||||||
MONGO_HOST: ${MONGO_HOST:-host.docker.internal}
|
MONGO_HOST: ${MONGO_HOST:-host.docker.internal}
|
||||||
volumes:
|
volumes:
|
||||||
- ./secrets/rs0.key:/data/rs0.key:ro
|
- ./secrets/rs0.key:/data/rs0.key:ro
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
entrypoint:
|
entrypoint:
|
||||||
- bash
|
- bash
|
||||||
- -c
|
- -c
|
||||||
|
|||||||
@@ -14,8 +14,6 @@ x-mongo: &mongo
|
|||||||
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME:-root}
|
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME:-root}
|
||||||
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD:-password}
|
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD:-password}
|
||||||
MONGO_INITDB_DATABASE: ${MONGO_INITDB_DATABASE:-admin}
|
MONGO_INITDB_DATABASE: ${MONGO_INITDB_DATABASE:-admin}
|
||||||
volumes:
|
|
||||||
- ./secrets/rs0.key:/data/rs0.key:ro
|
|
||||||
entrypoint:
|
entrypoint:
|
||||||
- bash
|
- bash
|
||||||
- -c
|
- -c
|
||||||
@@ -47,16 +45,25 @@ services:
|
|||||||
<<: *mongo
|
<<: *mongo
|
||||||
ports:
|
ports:
|
||||||
- "${MONGO_PORT_OVERRIDE_1:-27017}:27017"
|
- "${MONGO_PORT_OVERRIDE_1:-27017}:27017"
|
||||||
|
volumes:
|
||||||
|
- mongo1_data:/data/db
|
||||||
|
- ./secrets/rs0.key:/data/rs0.key:ro
|
||||||
|
|
||||||
mongo2:
|
mongo2:
|
||||||
<<: *mongo
|
<<: *mongo
|
||||||
ports:
|
ports:
|
||||||
- "${MONGO_PORT_OVERRIDE_2:-27018}:27017"
|
- "${MONGO_PORT_OVERRIDE_2:-27018}:27017"
|
||||||
|
volumes:
|
||||||
|
- mongo2_data:/data/db
|
||||||
|
- ./secrets/rs0.key:/data/rs0.key:ro
|
||||||
|
|
||||||
mongo3:
|
mongo3:
|
||||||
<<: *mongo
|
<<: *mongo
|
||||||
ports:
|
ports:
|
||||||
- "${MONGO_PORT_OVERRIDE_3:-27019}:27017"
|
- "${MONGO_PORT_OVERRIDE_3:-27019}:27017"
|
||||||
|
volumes:
|
||||||
|
- mongo3_data:/data/db
|
||||||
|
- ./secrets/rs0.key:/data/rs0.key:ro
|
||||||
|
|
||||||
mongo-init:
|
mongo-init:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
@@ -78,6 +85,8 @@ services:
|
|||||||
MONGO_PORT_2: ${MONGO_PORT_OVERRIDE_2:-27018}
|
MONGO_PORT_2: ${MONGO_PORT_OVERRIDE_2:-27018}
|
||||||
MONGO_PORT_3: ${MONGO_PORT_OVERRIDE_3:-27019}
|
MONGO_PORT_3: ${MONGO_PORT_OVERRIDE_3:-27019}
|
||||||
MONGO_HOST: ${MONGO_HOST:-host.docker.internal}
|
MONGO_HOST: ${MONGO_HOST:-host.docker.internal}
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
volumes:
|
volumes:
|
||||||
- ./secrets/rs0.key:/data/rs0.key:ro
|
- ./secrets/rs0.key:/data/rs0.key:ro
|
||||||
entrypoint:
|
entrypoint:
|
||||||
@@ -122,3 +131,8 @@ services:
|
|||||||
reservations:
|
reservations:
|
||||||
cpus: ${MONGO_REPLICA_INIT_CPU_RESERVATION:-0.50}
|
cpus: ${MONGO_REPLICA_INIT_CPU_RESERVATION:-0.50}
|
||||||
memory: ${MONGO_REPLICA_INIT_MEMORY_RESERVATION:-1024M}
|
memory: ${MONGO_REPLICA_INIT_MEMORY_RESERVATION:-1024M}
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
mongo1_data:
|
||||||
|
mongo2_data:
|
||||||
|
mongo3_data:
|
||||||
|
|||||||
Reference in New Issue
Block a user