You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iot/publish/projects/nmwh/docker-compose.yml

192 lines
5.4 KiB

version: "3.8"
networks:
default:
driver: bridge
ipam:
config:
- subnet: 172.172.0.0/24
services:
#monitor
netdata:
image: netdata/netdata:latest-amd64
hostname: localhost
ports:
- 9999:19999
cap_add:
- SYS_PTRACE
security_opt:
- apparmor:unconfined
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
default:
ipv4_address: 172.172.0.100
#container management
portainer:
image: portainer/portainer:1.24.1
restart: always
ports:
- 9002:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./docker/data/portainer:/data
networks:
default:
ipv4_address: 172.172.0.101
#web site
website:
image: nginx:1.18.0
restart: always
environment:
TZ: "Asia/Shanghai"
ports:
- 80:80
- 443:443
volumes:
- ./docker/conf/website/nginx.conf:/etc/nginx/nginx.conf
- ./docker/conf/website/edusoa.pem:/etc/nginx/edusoa.pem
- ./docker/conf/website/edusoa.key:/etc/nginx/edusoa.key
- ./docker/log/website:/var/log/nginx
- ./apps/WebMVC/wwwroot:/root/nginx/html/desktop
- ./apps/WebSPA/wwwroot:/root/nginx/html/mobile
networks:
default:
ipv4_address: 172.172.0.10
#gateway
gateway:
image: nginx:1.18.0
restart: always
environment:
TZ: "Asia/Shanghai"
ports:
- 8000:80
volumes:
- ./docker/conf/gateway/nginx.conf:/etc/nginx/nginx.conf
- ./docker/log/gateway:/var/log/nginx
networks:
default:
ipv4_address: 172.172.0.12
#file server
minio:
image: minio/minio:RELEASE.2020-08-08T04-50-06Z
restart: always
environment:
MINIO_ACCESS_KEY: "admin"
MINIO_SECRET_KEY: "12345678"
command: server /data
ports:
- 9000:9000
volumes:
- ./docker/data/minio:/data
networks:
default:
ipv4_address: 172.172.0.20
#database server
mysql:
image: mysql:8.0.21
restart: always
environment:
- MYSQL_ROOT_PASSWORD=aA123456!
- MYSQL_DATABASE=jobserver
command: --default-authentication-plugin=mysql_native_password
ports:
- 3306:3306
volumes:
- ./docker/conf/mysql/my.cnf:/etc/my.cnf
- ./docker/data/mysql:/var/lib/mysql
healthcheck:
test: mysqladmin ping -h localhost -u $$MYSQL_USER --password=$$MYSQL_PASSWORD
timeout: 10s
retries: 30
networks:
default:
ipv4_address: 172.172.0.30
#mysql web manager
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
restart: always
environment:
- PMA_HOST=mysql
- PMA_PORT=3306
ports:
- 9003:80
networks:
default:
ipv4_address: 172.172.0.102
influxdb:
image: influxdb:1.8.1
restart: always
environment:
TZ: "Asia/Shanghai"
INFLUXDB_ADMIN_ENABLED: "true"
INFLUXDB_ADMIN_USER: admin
INFLUXDB_ADMIN_PASSWORD: admin
ports:
- 8086:8086
- 8088:8088
volumes:
- ./docker/data/influxdb:/var/lib/influxdb
networks:
default:
ipv4_address: 172.172.0.50
#use old version influxdb web manager
influxdb-web:
image: influxdb:1.2.4
restart: always
environment:
TZ: "Asia/Shanghai"
INFLUXDB_ADMIN_ENABLED: "true"
INFLUXDB_ADMIN_USER: admin
INFLUXDB_ADMIN_PASSWORD: admin
ports:
- 8083:8083
networks:
default:
ipv4_address: 172.172.0.104
#cache server
redis:
image: redis:6.0.6
restart: always
ports:
- 6379:6379
volumes:
- ./docker/data/redis:/data
- ./docker/conf/redis/redis.conf:/usr/local/etc/redis/redis.conf
command: redis-server /usr/local/etc/redis/redis.conf
networks:
default:
ipv4_address: 172.172.0.40
#redis web manager
phpredisadmin:
image: erikdubbelboer/phpredisadmin
restart: always
environment:
- REDIS_1_HOST=redis
- REDIS_1_PORT=6379
- ADMIN_USER=admin
- ADMIN_PASS=123456
ports:
- 9004:80
networks:
default:
ipv4_address: 172.172.0.103
#streaming server
srs:
image: ubuntu
environment:
TZ: "Asia/Shanghai"
restart: always
ports:
- 1935:1935
- 8080:8080
- 1985:1985
working_dir: /usr/local/srs
command: bash -c "chmod +x ./objs/srs && ./objs/srs -c ./conf/srs.conf"
volumes:
- ./apps/srs:/usr/local/srs
networks:
default:
ipv4_address: 172.172.0.60