version: '3.8' services: # پایگاه‌داده اصلی برای ذخیره کاربران، لایسنس‌ها و تنظیمات postgres: image: postgres:15-alpine container_name: kuki_postgres restart: always environment: POSTGRES_USER: kuki_user POSTGRES_PASSWORD: kuki_secure_password POSTGRES_DB: kuki_db ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data # حافظه سریع برای Cache و ذخیره توکن‌ها/محدودیت‌ها (Rate Limiting) redis: image: redis:7-alpine container_name: kuki_redis restart: always ports: - "6379:6379" volumes: - redis_data:/data # سرویس مدیریت گیت gitea: image: gitea/gitea:latest container_name: kuki_gitea restart: always environment: - USER_UID=1000 - USER_GID=1000 - GITEA__server__ROOT_URL=http://130.61.139.162:3000 - GITEA__actions__ENABLED=true ports: - "3000:3000" - "2222:22" volumes: - gitea_data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro # سرویس مجری CI/CD gitea_runner: image: gitea/act_runner:latest container_name: kuki_runner restart: always environment: - GITEA_INSTANCE_URL=http://gitea:3000 - GITEA_RUNNER_REGISTRATION_TOKEN=380DNu6QHhznlgHs4pNh5ICKut0lI3bnEHmwIV8t volumes: - /var/run/docker.sock:/var/run/docker.sock - gitea_runner_data:/data network_mode: host depends_on: - gitea volumes: postgres_data: redis_data: gitea_data: gitea_runner_data: