تخزين نظام الملفات

ngSurvey يخزن افتراضيًا جميع الملفات (الوسائط أو ملفات المستجيبين) داخل قاعدة بياناته. إذا رغبت في تخزين ملفات الوسائط أو المستجيبين في مجلد بدلاً من استخدام قاعدة البيانات، فستحتاج إلى إعداد Docker volume حيث سيتم تخزين بياناتك.

فيما يلي مثال لملف Docker Compose لتشغيل ngSurvey باستخدام قاعدة بيانات MySQL ويعرّف volume مخصص باسم "ngsmedia".

version: '3'
volumes:
  mysql:
    driver: local
  nginx:
    driver: local
  ngsmedia:
services:
    ngsurvey:
        image: ngsurvey/ngsurveyee:latest
        restart: always
        networks:
            - default
        ports:
        - 8088:80
        depends_on:
           - mysqlngsurveydb
        volumes:
            - ngsmedia:/ngsmedia 
        command: ["./wait-for-it.sh", "mysqlngsurveydb:3306", "--", "python", "app.py"]
        environment:
           - ConnectionStrings:NGSurveyDB=Server=mysqlngsurveydb;Database=ngsurveydb53;Uid=root;Pwd=maytheforcebewithyou;
           - NGSurvey:StorageEngine=MySQL
    mysqlngsurveydb:
        image: mysql:latest
        ports:
           - 3310:3306
        cap_add:
           - SYS_NICE
        restart: always
        volumes:
           - mysql:/var/lib/mysql
        environment:
           - MYSQL_ROOT_PASSWORD=maytheforcebewithyou
        command: ['--default-authentication-plugin=mysql_native_password']   
networks:
  frontproxy_default:
    external: true        

بمجرد تعريف volume يمكنك تهيئته في Filesystem storage الإعدادات.

Last updated

Was this helpful?