--- x-ci-defaults: &ci_defaults dns: - ${INFINITO_DNS_IP} dns_opt: - ndots:1 services: coredns: image: coredns/coredns:1.14.4 container_name: ${INFINITO_RUNNER_PREFIX:?Run 'make dotenv' to generate the .env single source of truth}-coredns command: ["-conf", "/Corefile"] volumes: - ./compose/coredns/Corefile:/Corefile:ro networks: default: ipv4_address: ${INFINITO_DNS_IP} infinito: networks: default: ipv4_address: ${INFINITO_IP4} build: context: . dockerfile: Dockerfile args: INFINITO_PARENT_IMAGE: ${INFINITO_PARENT_IMAGE:?Run 'make dotenv' to generate the .env single source of truth} INFINITO_SRC_DIR: ${INFINITO_SRC_DIR:?Run 'make dotenv' to generate the .env single source of truth} INFINITO_PACKAGE_INSTALL_SCRIPT: ${INFINITO_PACKAGE_INSTALL_SCRIPT:?Run 'make dotenv' to generate the .env single source of truth} INFINITO_PYTHON_INSTALL_SCRIPT: ${INFINITO_PYTHON_INSTALL_SCRIPT:?Run 'make dotenv' to generate the .env single source of truth} INFINITO_DOCKER_CLI_INSTALL_SCRIPT: ${INFINITO_DOCKER_CLI_INSTALL_SCRIPT:?Run 'make dotenv' to generate the .env single source of truth} INFINITO_VENV_DIR: ${INFINITO_VENV_DIR:?Run 'make dotenv' to generate the .env single source of truth} NIX_CONFIG: ${NIX_CONFIG} image: "${INFINITO_IMAGE}" pull_policy: "${INFINITO_PULL_POLICY:?Run 'make dotenv' to generate the .env single source of truth}" depends_on: coredns: condition: service_started command: - /sbin/init - systemd.log_target=console - systemd.log_level=debug - systemd.journald.forward_to_console=1 - systemd.journald.max_level_console=debug stop_signal: SIGRTMIN+3 privileged: true cgroup: host tmpfs: - /run - /run/lock tty: true stdin_open: true container_name: ${INFINITO_CONTAINER:?Run 'make dotenv' to generate the .env single source of truth} restart: "no" mem_limit: ${INFINITO_MEM_LIMIT:?Run 'make dotenv' to generate the .env single source of truth} memswap_limit: ${INFINITO_MEMSWAP_LIMIT:?Run 'make dotenv' to generate the .env single source of truth} cpus: ${INFINITO_CPUS:?Run 'make dotenv' to generate the .env single source of truth} <<: *ci_defaults volumes: - /sys/fs/cgroup:/sys/fs/cgroup:rw - .:${INFINITO_SRC_DIR} - ${INFINITO_DOCKER_VOLUME:?Run 'make dotenv' to generate the .env single source of truth}:${INFINITO_DOCKER_MOUNT:?Run 'make dotenv' to generate the .env single source of truth} - infinito:${INFINITO_DIR_VAR_LIB:?Run 'make dotenv' to generate the .env single source of truth}/ - letsencrypt:/etc/letsencrypt/ environment: INFINITO_API_ANTHROPIC_KEY: ${INFINITO_API_ANTHROPIC_KEY} INFINITO_API_OPENAI_KEY: ${INFINITO_API_OPENAI_KEY} INFINITO_API_OPENROUTER_KEY: ${INFINITO_API_OPENROUTER_KEY} INFINITO_BUILDKIT_ENABLED: ${INFINITO_BUILDKIT_ENABLED} INFINITO_CONTAINER_CA_ENABLED: ${INFINITO_CONTAINER_CA_ENABLED} INFINITO_DIR_VAR_LIB: ${INFINITO_DIR_VAR_LIB} INFINITO_DNS_IP: ${INFINITO_DNS_IP} INFINITO_DOMAIN: ${INFINITO_DOMAIN} INFINITO_DOTENV_HOST_OWNED: "true" INFINITO_GHCR_MIRROR_PREFIX: ${INFINITO_GHCR_MIRROR_PREFIX} INFINITO_IMAGE_TAG: ${INFINITO_IMAGE_TAG} INFINITO_IP4: ${INFINITO_IP4} INFINITO_IP6: ${INFINITO_IP6} INFINITO_MAIL_PRODUCTION_HOST: ${INFINITO_MAIL_PRODUCTION_HOST} INFINITO_MAIL_PRODUCTION_RESOLVER: ${INFINITO_MAIL_PRODUCTION_RESOLVER} INFINITO_PLAYWRIGHT_KEEP: ${INFINITO_PLAYWRIGHT_KEEP} INFINITO_PLAYWRIGHT_REPORTS_BASE_DIR: ${INFINITO_PLAYWRIGHT_REPORTS_BASE_DIR} INFINITO_SRC_DIR: ${INFINITO_SRC_DIR} INFINITO_SWARM_MGR_IP: ${INFINITO_SWARM_MGR_IP} INFINITO_TOR_SOCKS_PORT: ${INFINITO_TOR_SOCKS_PORT} PYTHONHTTPSVERIFY: "1" GIT_SSL_NO_VERIFY: "0" ports: - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:25:25" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:110:110" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:143:143" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:465:465" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:587:587" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:993:993" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:995:995" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:4190:4190" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:80:80" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:443:443" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:8448:8448" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:3478-3480:3478-3480/udp" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:3478-3480:3478-3480" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:1935:1935" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:2201:2201" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:2202:2202" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:2203:22" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:33552:33552" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:48081-48083:48081-48083" - "${INFINITO_BIND_IP:?Run 'make dotenv' to generate the .env single source of truth}:48087:48087" volumes: docker: infinito: letsencrypt: networks: default: driver: bridge driver_opts: com.docker.network.driver.mtu: "${INFINITO_OUTER_NETWORK_MTU:?Run 'make dotenv' to generate the .env single source of truth}" ipam: config: - subnet: ${INFINITO_SUBNET:?Run 'make dotenv' to generate the .env single source of truth} ip_range: ${INFINITO_IP_RANGE:?Run 'make dotenv' to generate the .env single source of truth} gateway: ${INFINITO_GATEWAY:?Run 'make dotenv' to generate the .env single source of truth}