Simple Offline Captive Portal description
Run the application:
make run
And open it in the browser at http://127.0.0.1:5000/
This is built to be used with Python 3. Update Makefile
to switch to Python 2 if needed.
Some Flask dependencies are compiled during installation, so gcc
and Python header files need to be present.
For example, on Ubuntu:
apt install build-essential python3-dev
-
create virtualenv with Flask and Simple Offline Captive Portal installed into it (latter is installed in develop mode which allows modifying source code directly without a need to re-install the app):
make venv
-
run development server in debug mode:
make run
; Flask will restart if source code is modified -
run tests:
make test
(see also: Testing Flask Applications) -
create source distribution:
make sdist
(will run tests first) -
to remove virtualenv and built distributions:
make clean
-
to add more python dependencies: add to
install_requires
insetup.py
-
to modify configuration in development environment: edit file
settings.cfg
; this is a local configuration file and it is ignored by Git - make sure to put a proper configuration file to a production environment when deploying
If you are interested in an out-of-the-box deployment automation, check out accompanying
cookiecutter-flask-ansible
.
Or, check out Deploying with Fabric on one of the possible ways to automate the deployment.
In either case, generally the idea is to build a package (make sdist
), deliver it to a server (scp ...
),
install it (pip install captiveportal.tar.gz
), ensure that configuration file exists and
CAPTIVEPORTAL_SETTINGS
environment variable points to it, ensure that user has access to the
working directory to create and write log files in it, and finally run a
WSGI container with the application.
And, most likely, it will also run behind a
reverse proxy.