name: rcf volumes: pgsql-data: redis-data: networks: rcf_network: driver: bridge enable_ipv6: false driver_opts: com.docker.network.driver.mtu: 1450 ipam: config: - subnet: 172.201.0.0/24 services: rcf-fpm: container_name: rcf-fpm user: ${MY_UID}:${MY_GID} hostname: rcf-fpm profiles: [ "web" ] networks: rcf_network: aliases: - rcf-fpm build: context: rcf/rcf-fpm dockerfile: Dockerfile args: USER_ID: ${MY_UID:-0} GROUP_ID: ${MY_GID:-0} image: rcf-fpm working_dir: /rcf/backend extra_hosts: - "host.docker.internal:host-gateway" environment: PHP_IDE_CONFIG: serverName=rcf-fpm APP_ENV: dev APP_DEBUG: 1 DB_HOST: pgsql DB_USER: ${DB_USER} DB_PASSWORD: ${DB_PASS} DB_NAME: ${DB_NAME} volumes: - $SSH_AUTH_SOCK:/ssh-agent - ~/.composer:/root/.composer - ../backend:/rcf/backend deploy: resources: limits: cpus: '2' memory: 2048M nginx: container_name: nginx profiles: [ "web" ] networks: rcf_network: aliases: - nginx - rcf.local depends_on: - rcf-fpm build: rcf/nginx ports: - "80:80" - "443:443" volumes: - ../backend/public:/rcf/backend/public deploy: resources: limits: cpus: '1' memory: 256M pgsql: container_name: pgsql profiles: [ "storages" ] networks: rcf_network: aliases: - pgsql build: rcf/pgsql environment: POSTGRES_DB: ${DB_NAME} POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASS} PGDATA: "/var/lib/postgresql/data/pgdata" ports: - "5432:5432" volumes: - ./rcf/pgsql/init-sql:/docker-entrypoint-initdb.d - pgsql-data:/var/lib/postgresql/data healthcheck: test: [ "CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_PASS}" ] timeout: 5s retries: 5 start_period: 60s deploy: resources: limits: cpus: '2' memory: 1024M redis: container_name: redis profiles: [ "storages" ] networks: rcf_network: aliases: - redis ports: - "6379:6379" build: rcf/redis volumes: - redis-data:/data