Skip to content

SMSGW is open source web-based SMS management system

License

Notifications You must be signed in to change notification settings

VojtechBartos/smsgw

Repository files navigation

SMSGW SMS management system

Circle CI

SMSGW is open source web-based SMS (Short Message Service) management system, it use gammu-smsd (part of gammu family) as SMS gateway engine to deliver and retrieve messages from your phone/modem.

NOTICE: still in active development as part of the master thesis

SMSGW Dashboard

Requirements

Getting started

# cloning repository
git clone [email protected]:VojtechBartos/smsgw.git
cd smsgw

# creating .env file with environment variables and replacing placeholders
cp .env.sample .env
vim .env

# running app
make dev # for dev environment with container output
# OR
make # for production env in background

Provisioning fresh new server

You need to have prepared fresh new machine with SSH access and IP address

# copy sample host file
cp provisioning/hosts.sample provisioning/hosts

# update host file with SSH user, IP address and domain/hostname of machine
vim provisioning/hosts

# copy sample vars file for SMSGW project
cp provisioning/groups_vars/smsgw/service.yml.sample provisioning/groups_vars/smsgw/service.yml

# update vars file for SMSGW project with your env variables for production,
# new DB and RabbitMQ will be created
vim provisioning/groups_vars/smsgw/service.yml

# run ansible provisioning which will prepare and start SMSGW project on your machine
make deploy

# open browser on hostname, if your DNS pointing to right machine you should
# see SMSGW sign in page

Issues

  • What if i am using VPS in VirtualBox?

    • Make sure that you have installed VirtualBox Quest Additions. tutorial
  • I am not able to see GSM modem in /dev

TODO's

  • Documentation
  • Better tests coverage
  • Make final JS bundle smaller
  • Packages
    • upgrade react-router
    • upgrade react-tagsinput
  • Functionality
    • verifying passwords during change in settings and admin page
  • DevOps
    • write installation steps
    • replace vojtechbartos/nginx with https://github.com/jwilder/nginx-proxy
    • add flower monitoring
    • build image on CircleCI and pushing to Docker Hub via rarous
    • after success push to Docker Hub run ansible provisioning script to deploy and update server