mirror of
https://github.com/cytopia/devilbox.git
synced 2025-06-21 16:49:42 +00:00
Documentation: Python Flask
This commit is contained in:
149
docs/custom-container/enable-python-flask.rst
Normal file
149
docs/custom-container/enable-python-flask.rst
Normal file
@ -0,0 +1,149 @@
|
||||
.. include:: /_includes/all.rst
|
||||
.. include:: /_includes/snippets/__ANNOUNCEMENTS__.rst
|
||||
|
||||
.. _custom_container_enable_python_flask:
|
||||
|
||||
*********************************
|
||||
Enable and configure Python Flask
|
||||
*********************************
|
||||
|
||||
This section will guide you through getting Python Flask integrated into the Devilbox.
|
||||
|
||||
.. seealso::
|
||||
* :ref:`example_setup_reverse_proxy_python_flask`
|
||||
* :ref:`custom_container_enable_all_additional_container`
|
||||
* :ref:`docker_compose_override_yml_how_does_it_work`
|
||||
|
||||
|
||||
**Table of Contents**
|
||||
|
||||
.. contents:: :local:
|
||||
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
Available overwrites
|
||||
--------------------
|
||||
|
||||
.. include:: /_includes/snippets/docker-compose-override-tree-view.rst
|
||||
|
||||
|
||||
Python Flask settings
|
||||
---------------------
|
||||
|
||||
In case of Python Flask, the file is ``compose/docker-compose.override.yml-python-flask``. This file
|
||||
must be copied into the root of the Devilbox git directory.
|
||||
|
||||
+-----------------------+----------------------------------------------------------------------------------------------------------+
|
||||
| What | How and where |
|
||||
+=======================+==========================================================================================================+
|
||||
| Example compose file | ``compose/docker-compose.override.yml-all`` or |br| ``compose/docker-compose.override.yml-python-flask`` |
|
||||
+-----------------------+----------------------------------------------------------------------------------------------------------+
|
||||
| Container IP address | ``172.16.238.250`` |
|
||||
+-----------------------+----------------------------------------------------------------------------------------------------------+
|
||||
| Container host name | ``flask1`` |
|
||||
+-----------------------+----------------------------------------------------------------------------------------------------------+
|
||||
| Container name | ``flask1`` |
|
||||
+-----------------------+----------------------------------------------------------------------------------------------------------+
|
||||
| Mount points | ``data/www``` |
|
||||
+-----------------------+----------------------------------------------------------------------------------------------------------+
|
||||
| Exposed port | none |
|
||||
+-----------------------+----------------------------------------------------------------------------------------------------------+
|
||||
| Available at | Devilbox intranet via Reverse Proxy configuration |
|
||||
+-----------------------+----------------------------------------------------------------------------------------------------------+
|
||||
| Further configuration | :ref:`example_setup_reverse_proxy_python_flask` |
|
||||
+-----------------------+----------------------------------------------------------------------------------------------------------+
|
||||
|
||||
Python Flask env variables
|
||||
--------------------------
|
||||
|
||||
Additionally the following ``.env`` variables can be created for easy configuration:
|
||||
|
||||
+------------------------------+-------------------+----------------------------------------------------------------------------+
|
||||
| Variable | Default value | Description |
|
||||
+==============================+===================+============================================================================+
|
||||
| ``FLASK_PROJECT`` | none | Specifies your Python Flask project dir in data/www. |
|
||||
+------------------------------+-------------------+----------------------------------------------------------------------------+
|
||||
| ``PYTHON_VERSION`` | ``3.8`` | Specifies the Python version to use for Flask. |
|
||||
+------------------------------+-------------------+----------------------------------------------------------------------------+
|
||||
|
||||
|
||||
Instructions
|
||||
============
|
||||
|
||||
1. Copy docker-compose.override.yml
|
||||
-----------------------------------
|
||||
|
||||
Copy the Python Flask Docker Compose overwrite file into the root of the Devilbox git directory.
|
||||
(It must be at the same level as the default ``docker-compose.yml`` file).
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
host> cp compose/docker-compose.override.yml-python-flask docker-compose.override.yml
|
||||
|
||||
.. seealso::
|
||||
* :ref:`docker_compose_override_yml`
|
||||
* :ref:`add_your_own_docker_image`
|
||||
* :ref:`overwrite_existing_docker_image`
|
||||
|
||||
|
||||
2. Adjust ``.env`` settings (optional)
|
||||
--------------------------------------
|
||||
|
||||
Python Flask is using sane defaults, which can be changed by adding variables to the ``.env`` file
|
||||
and assigning custom values.
|
||||
|
||||
Add the following variables to ``.env`` and adjust them to your needs:
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: .env
|
||||
|
||||
# Project directory in data/www
|
||||
FLASK_PROJECT=my-flask
|
||||
|
||||
# Python version to choose
|
||||
#PYTHON_VERSION=2.7
|
||||
#PYTHON_VERSION=3.5
|
||||
#PYTHON_VERSION=3.6
|
||||
#PYTHON_VERSION=3.7
|
||||
PYTHON_VERSION=3.8
|
||||
|
||||
.. seealso:: :ref:`env_file`
|
||||
|
||||
|
||||
3. Configure Reverse Proxy
|
||||
--------------------------
|
||||
|
||||
Before starting up the devilbox you will need to configure your python flask project and the
|
||||
reverse proxy settings.
|
||||
|
||||
.. seealso:: :ref:`example_setup_reverse_proxy_python_flask`
|
||||
|
||||
|
||||
TL;DR
|
||||
=====
|
||||
|
||||
For the lazy readers, here are all commands required to get you started.
|
||||
Simply copy and paste the following block into your terminal from the root of your Devilbox git
|
||||
directory:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Copy compose-override.yml into place
|
||||
cp compose/docker-compose.override.yml-flask1 docker-compose.override.yml
|
||||
|
||||
# Create .env variable
|
||||
echo "# Project directory in data/www" > .env
|
||||
echo "FLASK_PROJECT=my-flask" >> .env
|
||||
echo "# Python version to choose" >> .env
|
||||
echo "#PYTHON_VERSION=2.7" >> .env
|
||||
echo "#PYTHON_VERSION=3.5" >> .env
|
||||
echo "#PYTHON_VERSION=3.6" >> .env
|
||||
echo "#PYTHON_VERSION=3.7" >> .env
|
||||
echo "PYTHON_VERSION=3.8" >> .env
|
||||
|
||||
before starting up the devilbox you will need to configure your python flask project and the
|
||||
reverse proxy settings.
|
||||
|
||||
.. seealso:: :ref:`example_setup_reverse_proxy_python_flask`
|
Reference in New Issue
Block a user