Sandbox Website for Testing 🚀
Site: 0xfaust.io:8000
DockerHub: 0xfaust/0xfaust.io
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Make sure you have installed all of the following prerequisites on your development machine. These instructions presume that you are working on a Linux based host but the project has been tested on OSX and it should work on Windows machines with some modifications.
- Git for pulling the repository and for any contributions to the project
- Docker Engine for for building and containerising the applications
- Docker Compose for defining and running multi-container applications
- Clone this repository to get all of the files necessary for building the project
$ git clone https://github.com/0xfaust/0xfaust.io
- Make copies of the Environment Variable files
$ cd 0xfaust.io && cp .env.template .env && cp config/datadog/.env.template config/datadog/.env && cp config/postgres/.env.template config/postgres/.env
- Configure the
.env
,config/datadog.env
andconfig/postgres/.env
files for your environment. - Build and run all of the Docker Containers in detached mode.
$ docker-compose up -d --build
- The site can then be accessed via localhost:8000 in your browser.
- Pull the 0xfaust/0xfaust.io Docker Image from Dockerhub
$ docker pull 0xfaust/0xfaust.io
- Create and run the Docker Container in detached mode, with port 8000 exposed and a Django 'Secret Key' environment variable set.
$ docker run -d -p 8000:8000 -e DJANGO_SECRET_KEY=<RANDOM KEY> 0xfaust/0xfaust.io
- The site can then be accessed via localhost:8000 in your browser.
There are a few additional considerations and modifications that need to be made in order to host the project on a live system. Some of the considerations are outlined in Django's Deployment Checklist and most of them have already been addressed using Environment Variables. Here are some additional steps to go from localhost
to your server's IP.
- In
config/nginx/nginx.conf
, changelocalhost
to the IP of your server. - In
src/faust/settings.py
changelocalhost
to the list of IP address's and domains, e.g.
ALLOWED_HOSTS = ['xxx.xxx.xxx.xxx','0xfaust.io','www.0xfaust.io']
- Django - Web Framework
- Nginx - Reverse Proxy
- Postgress - Database Management System
- GUnicorn - Web Server Gateway Interface
- Datadog - Monitoring Service
- Keras - Neural Networks
A basic SemVer system is used for versioning. For the versions available, see the tags and releases on this repository.