Install the following packages using your favorite package manager. Links are provided for some
- Install Elixir (check package versions below)
- For Ubuntu users you also need to install the
inotify-tools
package
- For Ubuntu users you also need to install the
- Install Postgres
- For Postgres, for the development server, we default to using postgres/postgres as the username/password. This is configurable
Glific is currently developed and hosted on the following platforms. Our goal is to always try and use the latest versions of each platform as soon as feasible (i.e. once the ecosystem of packages we used have upgraded). We do not have the bandwidth to support earlier versions of the packages.
- erlang : 23.0.2
- elixir : 1.10.4
- nodejs : 14.15.0
- postgres : v12.x or v13.x
- Copy the file:
config/dev.secret.exs.txt
toconfig/dev.secret.exs
and edit it with your credentials - Start the postgres server
- Run
mix setup
- This will setup Glific with default credentials as:
- Phone
917834811114
- Password
secret1234
- Phone
- Run
mix phx.server
Now you can visit localhost:4000
from your browser.
You cannot do much from the glific-backend unless you are an API developer. To see Glific in its glory, please install Glific Frontend
The frontend and backend are great, but you will need an account with a WhatsApp Business Provider to explore the application. The currently supported backend is Gupshup. You will need to do the following:
- Create a Gupshup Account
- Create a WhatsApp Messaging App on Gupshup
- You can name it
GlificTest
and ensure theApp Type
isAccess API
- Edit
config/dev.secret.exs
in the backend directory - Enter your API Key, which can be found by clicking on your profile in the top left corner of your gupshup dashboard
- Enter your APP name
- Start the backend server in iex session:
iex -S mix
- Update HSM templates:
Glific.Templates.update_hsms(1)
- Install ngrok
- Start ngrok to proxy port 4000:
- Start the backend server:
mix phx.server
$ ngrok http 4000 --host-header=localhost:4000
(do this in a new window))- Remember the URL it assigns you, something like:
https://9f6a7c7822d2.ngrok.io
- Start the backend server:
- Goto the Settings Page
- On that page, Search for
Manage your Template messaging settings
and enable it - On same page, Search for
Callback URL / Link your Bot
- Enter your callback URL that ngrok gave you, add:
/gupshup
to the end. Something like:https://9f6a7c7822d2.ngrok.io/gupshup/
- Click
Set
. It should give you aCallback set successfully
message. If not, check the above steps.
For v0.x releases, we will be resetting the DB and not saving existing state. Run the following commands to update your codebase from the glicic repository.
- Ensure you are in the top level directory of the glific api code.
- Get the latest code from master:
git switch master; git pull
- Ensure you have not modified any files in this directory, by running:
git status
- Run the setup command:
mix setup
- If you are using AWS codebuild for CD, use buildspec.yml.sample file content for creating and pushing docker image.
- For using and alternative repository like docker hub, you just need to make some changes in the pre_build phase (REPOSITORY_URI and authentications), the rest of the phases will remains same.