Skip to content

devpride/flex-spa-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlexSPA - dockerized single page application stack

Table of Contents

Getting started

Just make few simple steps below:

git clone https://github.com/devpride/flex-spa-stack project_name
cd project_name
make install

Installation step will trigger some interactive prompt questions on which you must to answer for installation complete.

Some of them:

Your choice: [Install phpMemAdmin]:
#>> [PUSH ENTER] <<

Install to /var/www/phpmemadmin ? [Y/n]
#>> [PUSH ENTER] <<

Enter pass phrase for config/jwt/private.pem:
#>> [PASTE 'API_JWT_PASSPHRASE' VALUE FROM .env FILE] <<

Verifying - Enter pass phrase for config/jwt/private.pem:
#>> [PASTE 'API_JWT_PASSPHRASE' VALUE FROM .env FILE] <<

Enter pass phrase for config/jwt/private.pem:
#>> [PASTE 'API_JWT_PASSPHRASE' VALUE FROM .env FILE] <<

Would you like to create a user account now? [Y/n]: #y
Email: #example@mail.com
Password: #*****
Repeat for confirmation: #***** 
Should this user be a superuser? [y/N]: #y

Now go to http://sentry.flex-spa.dev:1940/ and on welcome screen put http://sentry.flex-spa.dev:9000 as Root URL. Other fields and checkboxes are up to you.

Go to http://sentry.flex-spa.dev:1940/sentry/internal/settings/keys/, copy DSN and put it to your .env as SENTRY_DSN value.

Now update backend with:

make re C=backend && make re C=backend_web && make re C=backend_worker && make re C=backend_cron

That's all! Now you are able to use all stack features for developing and support needs of your SPA.

Lifecycle

You should remember that FlexSPA run all containers in detach mode by default so you must shut it down manually by running:

make down

If you want make it up again, just run:

make up

Service list

Services available out of the box:

Main services

Internal service endpoints

  • mysql.flex-spa.dev:3306 - MySQL
  • redis.flex-spa.dev:6379 - Redis (port from .env:REDIS_PORT)
  • memcached.flex-spa.dev:11211 - Memcached (port from .env:MEMCACHED_PORT)
  • statsd.flex-spa.dev:8125 - StatsD (port from .env:STATSD_PORT, on udp://)
  • elasticsearch.flex-spa.dev:9200 - ElasticSearch (port from .env:ELASTICSEARCH_PORT)
  • rabbitmq.flex-spa.dev:5672 - RabbitMQ (port from .env:RABBITMQ_PORT)
  • memcached.sentry.flex-spa.dev:11211 - Memcached for Sentry
  • redis.sentry.flex-spa.dev:6379 - Redis for Sentry
  • postgres.sentry.flex-spa.dev:5432 - PostgreSQL for Sentry
  • smtp.sentry.flex-spa.dev:25 - SMTP server for Sentry

Roadmap

  • Make demo SPA that use every service and feature for making all stack capabilities clear to understand.
  • Update project documentation for all tools and services and make it more detail.
  • General stability of builds
  • Cover all services with functional tests
  • Add healthcheck tools for stack features
  • Add code coverage and auto-build check features

Docs

Contributing

Yes, please ;) A lot of different work here. Together we could do it better. Feel free to make pull requests.