version: '3.8' services: # PHP Application app: build: . container_name: media-collector-app volumes: - ./database:/var/www/database - ./storage:/var/www/storage - ./.env:/var/www/.env environment: - APP_ENV=production depends_on: - db networks: - media-collector-network # Nginx Web Server nginx: image: nginx:alpine container_name: media-collector-nginx ports: - "8000:80" volumes: - ./public:/var/www/public:ro - ./docker/nginx.conf:/etc/nginx/conf.d/default.conf:ro depends_on: - app networks: - media-collector-network # SQLite Database (file-based, using volume for persistence) db: image: alpine:latest container_name: media-collector-db volumes: - ./database:/var/www/database command: sh -c "touch /var/www/database/database.sqlite && chown -R 1000:1000 /var/www/database" networks: - media-collector-network networks: media-collector-network: driver: bridge volumes: database: storage: