Filesystem Storage

ngSurvey stores by default all the files (medias or respondents) inside its database. If you would like to store your medias or respondents files in a folder instead of using the database you will need to setup a Docker volume where your data will be stored.

Here is an example of a Docker compose to run ngSurvey using a MySQL database and which defines a custom "ngsmedia" volume.

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        

Once you have defined the volume you can set it up in your Fileystem storage settings.

Last updated

(c) 2024 Data Illusion Zumbrunn. All rights reserved. Reproduction strictly forbidden.