Self-Hosted Open Source Surveys (Limesurvey)

Those of us that choose to run Open Source Self Hosted applications do so because of privacy, security, and flexibility. Customer service is important for a company to thrive and build a strong reputation. Sadly, customer service is an after thought for many companies. I think a key part of customer service is to find out what customer preferences are.

Creating a survey is a good way to get feedback from your customers and so that is what we cover in this video. Take my survey at:

https://survey.scottibyte.com/index.php/291398?lang=en

You can also access the survey via QR Code.

image

We will install limesurvey which is a simple Docker application. However, I like to create a LXD container in which to nest my Docker applications for isolation and security reasons. Below, I create a LXD container and bridge it to my main LAN. Note: Bridging is covered in my other videos.

lxc launch ubuntu:22.04 Survey --profile default --profile bridgeprofile -c boot.autostart=true -c security.nesting=true  -c limits.memory=4096MB -c limits.cpu.allowance=20% 

Sign into the LXD container with the following:

lxc exec Survey bash

Perform updates on the new container.

apt update && apt upgrade

Add a user account, install docker and grant the account sudo and docker privilege.

adduser scott
curl -sSL https://get.docker.com | sh
sudo apt install docker-compose
usermod -aG sudo scott
usermod -aG docker scott

Move over to the account and create an application folder and move inside it.

su - scott
mkdir limesurvey
cd limesurvey

Edit a docker-compose file.

nano docker-compose.yml

Insert the following in the file, adjusting passwords accordingly and changing the exposed port if necessary…

version: '2'

services: 

  limesurvey:
    image: acspri/limesurvey:5.5.1
    build: .
    ports:
      - 80:80
    environment:
      LIMESURVEY_DB_PASSWORD: dbPASSwoRD1
      LIMESURVEY_ADMIN_USER: scott
      LIMESURVEY_ADMIN_PASSWORD: adminPASS
      LIMESURVEY_ADMIN_NAME: Scott Thompson
      LIMESURVEY_ADMIN_EMAIL: vmsman@scottibyte.com
    volumes:
      - ./plugins:/var/www/html/plugins
      - ./upload:/var/www/html/upload
      - ./config:/var/www/html/application/config

  mysql:
    image: mariadb:10.5
    environment:
      MYSQL_ROOT_PASSWORD: dbPASSwoRD1

Save the file and then bring the app up:

docker compose up -d

The steps to create a domain name and add the reverse proxy are covered in the video.

1 Like