version: '3.4' services: swoole: container_name: "swoole" image: "phpswoole/php:${PHP_VERSION}" volumes: - "${SWOOLE_BUILD_DIR}:/swoole-src:rw" working_dir: /swoole-src ulimits: core: -1 privileged: true depends_on: - mysql - redis - pgsql - oracle dns: - 8.8.8.8 - 1.1.1.1 environment: SWOOLE_BRANCH: "${SWOOLE_BRANCH}" TEST_SSH2_HOSTNAME: localhost TEST_SSH2_PORT: 22 TEST_SSH2_USER: swoole_ssh2_test_user TEST_SSH2_PASS: swoole_ssh2_test_pass TEST_SSH2_AUTH: password command: tail -f /etc/group mysql: container_name: "mysql" image: "mysql:latest" volumes: - ./data/mysql:/var/lib/mysql:rw - ./data/run/mysqld:/var/run/mysqld:rw environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: test MYSQL_USER: swoole MYSQL_PASSWORD: swoole pgsql: image: postgres:14 container_name: "pgsql" environment: POSTGRES_USER: root POSTGRES_DB: test POSTGRES_PASSWORD: root oracle: image: gvenzl/oracle-free:slim container_name: "oracle" environment: ORACLE_PASSWORD: oracle ports: - "1521:1521" redis: container_name: "redis" image: "redis:latest" volumes: - ./data/redis:/var/lib/redis:rw - ./data/run/redis:/var/run/redis:rw sysctls: net.core.somaxconn: 65535 httpbin: container_name: "httpbin" image: "arnaudlacour/httpbin" tinyproxy: container_name: "tinyproxy" image: "kalaksi/tinyproxy" golang-h2demo: container_name: "golang-h2demo" image: "phpswoole/golang-h2demo" socks5: container_name: "socks5" image: "serjs/go-socks5-proxy" ports: - "1080:1080" ftp: container_name: "ftp" image: "teezily/ftpd" environment: FTP_USER: admin FTP_PASSWORD: admin firebirdsql: container_name: "firebirdsql" image: "firebirdsql/firebird" environment: - FIREBIRD_ROOT_PASSWORD=root - FIREBIRD_USER=test - FIREBIRD_PASSWORD=test - FIREBIRD_DATABASE=test.fdb - FIREBIRD_DATABASE_DEFAULT_CHARSET=UTF8 volumes: - ./data:/var/lib/firebird/data ports: - "3050:3050"