57 lines
2.5 KiB
Text
57 lines
2.5 KiB
Text
|
Introduction
|
||
|
===========
|
||
|
|
||
|
TellForm is a powerful, open-source form/survey tool that allows you to get data from your users quickly and easily while collecting powerful analytics to improve your surveys. TellForm offers a field by field analytics, custom subdomains per-user, an extendable API, logic-based field jumping, per-device visitor analytics and 11 types of form fields.
|
||
|
|
||
|
By default, TellForm is setup to serve custom subdomains, but you can also configure it to work on a single domain, for those using it in more restricted environments.
|
||
|
|
||
|
Exporters—both the official ones that the Prometheus team maintains as well as the community-contributed ones—provide information about everything from infrastructure, databases, and web servers to messaging systems, APIs, and more.
|
||
|
|
||
|
In this tutorial, you'll install, configure, and secure TellForm to selfhost forms that will make it easy for you and your users to use.
|
||
|
|
||
|
Prerequisites
|
||
|
Before following this tutorial make sure you have:
|
||
|
|
||
|
One Ubuntu 16.x or 14.x Droplet, set up by following the [Initial Server Setup with Ubuntu 16.04 tutorial](https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-16-04), including a sudo non-root user and a firewall.
|
||
|
Nginx installed by following the first two steps of the [How To Install Nginx on Ubuntu 16.04 tutorial](https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-16-04).
|
||
|
Docker installed by following the steps of the [How To Install and Use Docker on Ubuntu 16.04 tutorial](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04)
|
||
|
|
||
|
|
||
|
## Step 1 - Fetch Docker-Compose Files
|
||
|
|
||
|
```
|
||
|
$ curl -L github.com/tellform/tellform/stable/blob/docker-compose.yml
|
||
|
$ curl -L github.com/tellform/tellform/stable/blob/.env
|
||
|
```
|
||
|
|
||
|
### Prepare .env file:
|
||
|
Create `.env` file at project root folder. Fill in `MAILER_SERVICE_PROVIDER`, `MAILER_EMAIL_ID`, `MAILER_PASSWORD` and `MAILER_FROM`.
|
||
|
```
|
||
|
APP_NAME=TellForm
|
||
|
BASE_URL=localhost:3000
|
||
|
PORT=3000
|
||
|
DB_PORT_27017_TCP_ADDR=tellform-mongo
|
||
|
REDIS_DB_PORT_6379_TCP_ADDR=tellform-redis
|
||
|
MAILER_SERVICE_PROVIDER=<TO-FILL-IN>
|
||
|
MAILER_EMAIL_ID=<TO-FILL-IN>
|
||
|
MAILER_PASSWORD=<TO-FILL-IN>
|
||
|
MAILER_FROM=<TO-FILL-IN>
|
||
|
SIGNUP_DISABLED=false
|
||
|
SUBDOMAINS_DISABLED=true
|
||
|
DISABLE_CLUSTER_MODE=true
|
||
|
```
|
||
|
|
||
|
### Build docker image
|
||
|
|
||
|
```
|
||
|
$ docker-compose build
|
||
|
```
|
||
|
|
||
|
### Run docker containers with docker-compose
|
||
|
|
||
|
Create and start mongo & redis docker container:
|
||
|
```
|
||
|
$ docker-compose up -d
|
||
|
```
|
||
|
|
||
|
Your application should run at the BASE_URL you specified on port 443.
|