For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

Was this helpful?