version: '3.8' services: # Сервис бота bot: build: context: . dockerfile: Dockerfile restart: always depends_on: postgres: condition: service_healthy environment: - BOT_TOKEN=${BOT_TOKEN} - OLLAMA_HOST=${OLLAMA_HOST} - OLLAMA_MODEL=${OLLAMA_MODEL} - POSTGRES_HOST=postgres - POSTGRES_PORT=5432 - POSTGRES_DB=${POSTGRES_DB} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} volumes: - ./:/app networks: - bot-network # Сервис базы данных postgres: image: postgres:15-alpine restart: always environment: - POSTGRES_DB=${POSTGRES_DB} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} volumes: - postgres_data:/var/lib/postgresql/data - ./docker/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] interval: 10s timeout: 5s retries: 5 start_period: 10s networks: - bot-network networks: bot-network: driver: bridge volumes: postgres_data: