mirror of
https://github.com/cytopia/devilbox.git
synced 2024-12-21 05:43:08 +00:00
150 lines
6.6 KiB
ReStructuredText
150 lines
6.6 KiB
ReStructuredText
|
.. 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`
|