安装 Portainer 容器管理工具

创建网络, 以便后续使用

1
2
3
4
5
6
7
8
network_name="network"

if docker network ls | grep -q "network"; then
echo "网络已存在"
else
docker network create --driver bridge --gateway=172.18.0.1 --subnet=172.18.0.0/24 network
echo "网络创建成功"
fi

安装 Portainer 社区版

1
2
3
4
5
6
7
docker run -d \
-p 9000:9000 \
--name=Portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock
-v /home/Docker/Portainer:/data
portainer/portainer-ce

安装 Portainer Agent

1
2
3
4
5
6
7
8
9
10
11
export DEVICE_NAME=""

docker run -d \
-p 9001:9001 \
--name PortainerAgent \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
-v /:/host \
-e DEVICE_NAME="$DEVICE_NAME" \
portainer/agent

安装 Portainer Edge Agent

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
export EDGE_ID=""
export EDGE_KEY=""
export DEVICE_NAME=""

docker run -d \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
-v /:/host \
-v Portainer:/data \
--restart always \
-e EDGE=1 \
-e EDGE_ID="$EDGE_ID" \
-e EDGE_KEY="$EDGE_KEY" \
-e DEVICE_NAME="$DEVICE_NAME" \
-e EDGE_INSECURE_POLL=1 \
--name PortainerEdgeAgent \
portainer/agent

AList 云盘列表程序

仅安装 AList

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
services:  
alist:
image: 'xhofe/alist:beta-aria2'
container_name: AList
volumes:
- 'vol_1:/opt/alist/data'
- '/etc/docker/containers/alist/config.json:/opt/alist/data/config.json'
environment:
- 'PUID=0'
- 'PGID=0'
- 'TZ=Asia/Shanghai'
ports:
- '5244:5244'
restart: unless-stopped
networks:
- persist

networks:
persist:
external: true
name: network

volumes:
vol_1:
name: AList

包括 QbitTorrent 和 Aria2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
services:  
qbittorrent:
image: 'linuxserver/qbittorrent'
container_name: Qbittorrent
environment:
- 'PUID=0'
- 'PGID=0'
- 'TZ=Asia/Shanghai'
- 'TORRENTING_PORT=6881'
- 'WEBUI_PORT=6879'
volumes:
- 'vol_2:/config'
- 'vol_downloads:/downloads'
ports:
- '5244:5244'
- '6800:6800'
- '6880:6880'
- '6879:6879'
- '6881:6881'
- '6881:6881/udp'
restart: unless-stopped
networks:
- persist

alist:
image: 'xhofe/alist-aria2'
container_name: AList
volumes:
- 'vol_1:/opt/alist/data'
- 'vol_downloads:/opt/alist/data/temp/qbittorrent'
- '/mnt/share:/mnt/share'
- '/etc/docker/containers/alist/config.json:/opt/alist/data/config.json'
environment:
- 'PUID=0'
- 'PGID=0'
- 'TZ=Asia/Shanghai'
restart: unless-stopped
network_mode: "service:qbittorrent"

AriaNg:
image: 'p3terx/ariang'
container_name: AriaNg
restart: unless-stopped
network_mode: "service:qbittorrent"

networks:
persist:
external: true
name: network

volumes:
vol_1:
name: AList
vol_2:
name: Qbittorrent
vol_downloads:
name: Downloads-Qbittorrent

关系型数据库

MySQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
services:
MySQL:
image: 'mysql'
container_name: MySQL
restart: always
ports:
- '3306:3306'
volumes:
- 'vol_1:/var/lib/mysql'
environment:
- 'MYSQL_ROOT_PASSWORD='
- 'TZ=Asia/Shanghai'
networks:
- persist

networks:
persist:
external: true
name: network

volumes:
vol_1:
name: MySQL

MariaDB

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
services:
MariaDB:
image: mariadb
container_name: MariaDB
restart: always
ports:
- '3307:3306'
volumes:
- 'vol_1:/var/lib/mysql'
environment:
- 'MARIADB_ROOT_PASSWORD='
- 'TZ=Asia/Shanghai'
networks:
- persist

networks:
persist:
external: true
name: network

volumes:
vol_1:
external: true
name: MariaDB

MongoDB

在不支持AVX指令集的CPU上必须使用4.4.18版本, 不支持5.0+版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
services:
MongoDB:
image: mongo:4.4.18
container_name: MongoDB
restart: always
ports:
- '27017:27017'
volumes:
- 'vol_1:/data'
environment:
- 'MONGO_INITDB_ROOT_USERNAME=root'
- 'MONGO_INITDB_ROOT_PASSWORD='
networks:
- persist

networks:
persist:
external: true
name: network

volumes:
vol_1:
external: true
name: MongoDB

HomeAssistant

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
services:
HomeAssistant:
image: homeassistant/home-assistant
container_name: HomeAssistant
restart: always
ports:
- '8500:8123'
volumes:
- 'vol_1:/config'
networks:
- persist

networks:
persist:
external: true
name: network

volumes:
vol_1:
external: true
name: HomeAssistant