version: "3.8" services: portainer: image: portainer/portainer-ce:${POETAINER_VERSION} restart: always container_name: portainer ports: - ${PORTAINER_PORT}:9000 volumes: - /var/run/docker.sock:/var/run/docker.sock - ./data/portainer:/data mysql: container_name: mysql restart: always image: mysql:${MYSQL_VERSION} environment: - TZ=Asia/Shanghai - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} volumes: - /etc/localtime:/etc/localtime:ro - ./data/mysql:/var/lib/mysql command: --default-authentication-plugin=mysql_native_password zentao: container_name: zentao restart: always image: easysoft/zentao:${ZENTAO_VERSION} privileged: true environment: - TZ=Asia/Shanghai ports: - ${ZENTAO_PORT}:80 volumes: - /etc/localtime:/etc/localtime:ro - ./data/zentao:/www/zentaopms depends_on: - mysql minio: container_name: minio restart: always image: minio/minio:${MINIO_VERSION} environment: MINIO_ROOT_USER: "admin" MINIO_ROOT_PASSWORD: "aA123456!" command: server /data --console-address ":9001" ports: - 3007:9001 - 3008:9000 volumes: - ./data/minio:/data #https://docs.drone.io/server/provider/gitea/ https://github.com/drone/drone drone: image: drone/drone:${DRONE_VERSION} restart: always container_name: drone privileged: true environment: - DRONE_GITEA_SERVER=http://${GITEA_SERVER_DOMAIN} - DRONE_GITEA_CLIENT_ID=${DRONE_GITEA_CLIENT_ID} - DRONE_GITEA_CLIENT_SECRET=${DRONE_GITEA_CLIENT_SECRET} - DRONE_RPC_SECRET=${DRONE_RPC_SECRET} - DRONE_SERVER_HOST=${DRONE_SERVER_HOST} - DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO} - DRONE_GIT_ALWAYS_AUTH=true - DRONE_USER_CREATE=username:wanggang,admin:true ports: - 3001:80 volumes: - ./data/drone:/data drone-runner-docker: image: drone/drone-runner-docker:${DRONE_RUNNER_DOCKER_VERSION} restart: always container_name: drone-runner-docker privileged: true environment: - DRONE_RPC_PROTO=${DRONE_SERVER_PROTO} - DRONE_RPC_HOST=${DRONE_SERVER_HOST} - DRONE_RPC_SECRET=${DRONE_RPC_SECRET} - DRONE_RUNNER_CAPACITY=2 - DRONE_RUNNER_NAME=drone-runner-docker - DRONE_DEBUG=true - DRONE_TRACE=true volumes: - ${DOCKER_SOCK}:/var/run/docker.sock depends_on: - drone sonarqube: image: sonarqube:10.2-community container_name: sonarqube depends_on: - pg environment: SONAR_JDBC_URL: jdbc:postgresql://pg:5432/sonar SONAR_JDBC_USERNAME: sonar SONAR_JDBC_PASSWORD: sonar SONAR_ES_BOOTSTRAP_CHECKS_DISABLE: true volumes: - ./data/sonarqube/data:/opt/sonarqube/data - ./data/sonarqube/extensions:/opt/sonarqube/extensions - ./logs/sonarqube:/opt/sonarqube/logs ports: - 3005:9000 #command: tail -f /dev/null pg: image: postgres:12 container_name: pg environment: POSTGRES_USER: sonar POSTGRES_PASSWORD: sonar volumes: - ./data/postgresql/postgresql:/var/lib/postgresql - ./data/postgresql/data:/var/lib/postgresql/data