services: frps: image: w4f-demo:latest container_name: w4f-frps command: ["/app/frp/frps", "-c", "/app/frps.toml"] volumes: - ./frps.toml:/app/frps.toml:ro - /home/jianf/Program/frp/bin:/app/frp:ro ports: - "7000:7000" # frps control - "7080:7080" # vhostHTTPPort networks: - w4f frps2: image: w4f-demo:latest container_name: w4f-frps2 command: ["/app/frp/frps", "-c", "/app/frps.toml"] volumes: - ./frps2.toml:/app/frps.toml:ro - /home/jianf/Program/frp/bin:/app/frp:ro ports: - "7001:7001" # frps control - "7081:7081" # vhostHTTPPort networks: - w4f frps3: image: w4f-demo:latest container_name: w4f-frps3 command: ["/app/frp/frps", "-c", "/app/frps.toml"] volumes: - ./frps3.toml:/app/frps.toml:ro - /home/jianf/Program/frp/bin:/app/frp:ro ports: - "7002:7002" # frps control - "7082:7082" # vhostHTTPPort networks: - w4f backend: image: w4f-demo:latest container_name: w4f-backend command: ["/app/backend"] ports: - "8080:8080" networks: - w4f node-a: image: w4f-demo:latest container_name: w4f-node-a command: - "-addr=0.0.0.0:7500" - "-user=admin" - "-password=admin123" - "-workdir=/data" - "-frpc=/app/frp/frpc" volumes: - ./node-a:/data - /home/jianf/Program/frp/bin:/app/frp:ro ports: - "7501:7500" - "17401:7400" depends_on: - frps networks: - w4f node-b: image: w4f-demo:latest container_name: w4f-node-b command: - "-addr=0.0.0.0:7500" - "-user=admin" - "-password=admin123" - "-workdir=/data" - "-frpc=/app/frp/frpc" - "-peer=node-a:7500" volumes: - ./node-b:/data - /home/jianf/Program/frp/bin:/app/frp:ro ports: - "7502:7500" depends_on: - frps - node-a networks: - w4f node-c: image: w4f-demo:latest container_name: w4f-node-c command: - "-addr=0.0.0.0:7500" - "-user=admin" - "-password=admin123" - "-workdir=/data" - "-frpc=/app/frp/frpc" - "-peer=node-b:7500" volumes: - ./node-c:/data - /home/jianf/Program/frp/bin:/app/frp:ro ports: - "7503:7500" depends_on: - frps - node-b networks: - w4f networks: w4f: driver: bridge