version: '3.8' services: web: build: ./backend command: gunicorn backend.wsgi:application --bind 0.0.0.0:8000 volumes: - ./backend:/app - media_volume:/app/storage - static_volume:/app/staticfiles env_file: - .env ports: - "8000:8000" depends_on: - db restart: unless-stopped networks: - catlink-network db: image: postgres:14 volumes: - postgres_data:/var/lib/postgresql/data/ env_file: - .env environment: - POSTGRES_INITDB_ARGS=--auth-host=scram-sha-256 restart: unless-stopped networks: - catlink-network frontend: build: ./frontend/linktree-frontend ports: - "3000:3000" environment: - NEXT_PUBLIC_API_URL=https://links.shareon.kr env_file: - .env restart: unless-stopped depends_on: - web networks: - catlink-network # Создаем изолированную сеть для безопасности networks: catlink-network: driver: bridge ipam: config: - subnet: 172.20.0.0/16 volumes: postgres_data: media_volume: static_volume: