Merge branch 'main' of gitea.dsv.su.se:atla8167/EXTREMUM_web into main
This commit is contained in:
commit
554adbeef4
26
docker-compose-deploy.yml
Normal file
26
docker-compose-deploy.yml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
volumes:
|
||||||
|
- static_data/vol/web
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
environment:
|
||||||
|
- SECRET_KEY=${SECRET_KEY}
|
||||||
|
- ALLOWED_HOSTS=${ALLOWED_HOSTS}
|
||||||
|
|
||||||
|
proxy:
|
||||||
|
build:
|
||||||
|
context: ./proxy
|
||||||
|
volumes:
|
||||||
|
- static_data:/vol/static
|
||||||
|
ports:
|
||||||
|
- "8080:8080"
|
||||||
|
depends_on:
|
||||||
|
- extremum
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
static_data:
|
@ -20,19 +20,17 @@ BASE_DIR = Path(__file__).resolve().parent.parent
|
|||||||
# Quick-start development settings - unsuitable for production
|
# Quick-start development settings - unsuitable for production
|
||||||
# See https://docs.djangoproject.com/en/5.0/howto/deployment/checklist/
|
# See https://docs.djangoproject.com/en/5.0/howto/deployment/checklist/
|
||||||
|
|
||||||
from dotenv import load_dotenv
|
SECRET_KEY = os.environ.get('SECRET_KEY', "changeme")
|
||||||
env_path = load_dotenv(os.path.join(BASE_DIR, '.env'))
|
|
||||||
load_dotenv(env_path)
|
|
||||||
|
|
||||||
SECRET_KEY = os.getenv('SECRET_KEY', "django-insecure-0w^ybt_7vclag#rrutc_eo)m+l^@ml)t%jsg6n06siu)xyls+-")
|
|
||||||
|
|
||||||
# DEBUG setting
|
# DEBUG setting
|
||||||
DEBUG = os.getenv('DEBUG', 'False') == 'True'
|
DEBUG = bool(int(os.environ('DEBUG', 0)))
|
||||||
|
|
||||||
ALLOWED_HOSTS = ['127.0.0.1']
|
ALLOWED_HOSTS = []
|
||||||
|
ALLOWED_HOSTS_ENV = os.environ.get('ALLOWED_HOSTS')
|
||||||
|
if ALLOWED_HOSTS_ENV :
|
||||||
|
ALLOWED_HOSTS.extend(ALLOWED_HOSTS_ENV.split(','))
|
||||||
|
|
||||||
DEBUG_PROPAGATE_EXCEPTIONS = True
|
DEBUG_PROPAGATE_EXCEPTIONS = True
|
||||||
|
|
||||||
SECURE_HSTS_SECONDS = 31536000 # One year
|
SECURE_HSTS_SECONDS = 31536000 # One year
|
||||||
SECURE_HSTS_INCLUDE_SUBDOMAINS = True
|
SECURE_HSTS_INCLUDE_SUBDOMAINS = True
|
||||||
SECURE_HSTS_PRELOAD = True
|
SECURE_HSTS_PRELOAD = True
|
||||||
@ -65,7 +63,7 @@ MIDDLEWARE = [
|
|||||||
"django_htmx.middleware.HtmxMiddleware",
|
"django_htmx.middleware.HtmxMiddleware",
|
||||||
]
|
]
|
||||||
|
|
||||||
ROOT_URLCONF = "extremum_web.urls"
|
ROOT_URLCONF = "extremum.urls"
|
||||||
|
|
||||||
TEMPLATES = [
|
TEMPLATES = [
|
||||||
{
|
{
|
||||||
@ -83,7 +81,7 @@ TEMPLATES = [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
WSGI_APPLICATION = "extremum_web.wsgi.application"
|
WSGI_APPLICATION = "extremum.wsgi.application"
|
||||||
|
|
||||||
|
|
||||||
# Database
|
# Database
|
||||||
@ -123,10 +121,13 @@ AUTH_PASSWORD_VALIDATORS = [
|
|||||||
# Static files (CSS, JavaScript, Images)
|
# Static files (CSS, JavaScript, Images)
|
||||||
# https://docs.djangoproject.com/en/5.0/howto/static-files/
|
# https://docs.djangoproject.com/en/5.0/howto/static-files/
|
||||||
|
|
||||||
STATIC_URL = "/static/"
|
STATIC_URL = "/static/static"
|
||||||
STATICFILES_DIRS = [BASE_DIR / "base/static"]
|
STATICFILES_DIRS = [BASE_DIR / "base/static"]
|
||||||
|
|
||||||
STATIC_ROOT = BASE_DIR / 'staticfiles' # Define where static files are collected
|
MEDIA_URL = "/static/media"
|
||||||
|
|
||||||
|
STATIC_ROOT = BASE_DIR / 'vol/web/static' # Define where static files are collected
|
||||||
|
MEDIA_ROOT = BASE_DIR / 'vol/web/media' # Define where static files are collected
|
||||||
|
|
||||||
# Default primary key field type
|
# Default primary key field type
|
||||||
# https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field
|
# https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field
|
@ -11,6 +11,6 @@ import os
|
|||||||
|
|
||||||
from django.core.wsgi import get_wsgi_application
|
from django.core.wsgi import get_wsgi_application
|
||||||
|
|
||||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'extremum_web.settings')
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'extremum.settings')
|
||||||
|
|
||||||
application = get_wsgi_application()
|
application = get_wsgi_application()
|
12
proxy/default.conf
Normal file
12
proxy/default.conf
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
server {
|
||||||
|
listen 8080;
|
||||||
|
|
||||||
|
location /static {
|
||||||
|
alias /vol/static;
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
uwsgi_pass app:8000;
|
||||||
|
include /etc/nginx/uwsgi_params;
|
||||||
|
}
|
||||||
|
}
|
13
proxy/uwsgi_params
Normal file
13
proxy/uwsgi_params
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
uwsgi_param QUERY_STRING $query_string;
|
||||||
|
uwsgi_param REQUEST_METHOD $request_method;
|
||||||
|
uwsgi_param CONTENT_TYPE $content_type;
|
||||||
|
uwsgi_param CONTENT_LENGTH $content_length;
|
||||||
|
uwsgi_param REQUEST_URI $request_uri;
|
||||||
|
uwsgi_param PATH_INFO $document_uri;
|
||||||
|
uwsgi_param DOCUMENT_ROOT $document_root;
|
||||||
|
uwsgi_param SERVER_PROTOCOL $server_protocol;
|
||||||
|
uwsgi_param REMOTE_ADDR $remote_addr;
|
||||||
|
uwsgi_param REMOTE_PORT $remote_port;
|
||||||
|
uwsgi_param SERVER_ADDR $server_addr;
|
||||||
|
uwsgi_param SERVER_PORT $server_port;
|
||||||
|
uwsgi_param SERVER_NAME $server_name;
|
240
requirements.txt
240
requirements.txt
@ -1,3 +1,4 @@
|
|||||||
|
<<<<<<< HEAD
|
||||||
dice_ml==0.11
|
dice_ml==0.11
|
||||||
dict_and_html==1.0.11
|
dict_and_html==1.0.11
|
||||||
Django==4.2.13
|
Django==4.2.13
|
||||||
@ -15,3 +16,242 @@ stumpy==1.13.0
|
|||||||
tensorflow==2.9.1
|
tensorflow==2.9.1
|
||||||
wildboar==1.2.0
|
wildboar==1.2.0
|
||||||
xgboost==2.1.3
|
xgboost==2.1.3
|
||||||
|
=======
|
||||||
|
absl-py==2.1.0
|
||||||
|
alembic==1.13.2
|
||||||
|
anyio==4.4.0
|
||||||
|
argon2-cffi==23.1.0
|
||||||
|
argon2-cffi-bindings==21.2.0
|
||||||
|
args==0.1.0
|
||||||
|
arrow==1.3.0
|
||||||
|
asgiref==3.8.1
|
||||||
|
asttokens==2.4.1
|
||||||
|
astunparse==1.6.3
|
||||||
|
async-lru==2.0.4
|
||||||
|
async-timeout==4.0.3
|
||||||
|
attrs==23.2.0
|
||||||
|
autobahn==23.6.2
|
||||||
|
Automat==22.10.0
|
||||||
|
autopage==0.5.2
|
||||||
|
Babel==2.15.0
|
||||||
|
beautifulsoup4==4.12.3
|
||||||
|
bleach==6.1.0
|
||||||
|
blinker==1.8.2
|
||||||
|
cachetools==5.4.0
|
||||||
|
certifi==2024.6.2
|
||||||
|
cffi==1.16.0
|
||||||
|
channels==4.1.0
|
||||||
|
channels-redis==4.2.0
|
||||||
|
charset-normalizer==3.3.2
|
||||||
|
click==8.1.7
|
||||||
|
cliff==4.7.0
|
||||||
|
clint==0.5.1
|
||||||
|
cmaes==0.10.0
|
||||||
|
cmd2==2.4.3
|
||||||
|
colorlog==6.8.2
|
||||||
|
comm==0.2.2
|
||||||
|
constantly==23.10.4
|
||||||
|
contourpy==1.2.1
|
||||||
|
coverage==7.6.1
|
||||||
|
cryptography==42.0.8
|
||||||
|
cycler==0.12.1
|
||||||
|
Cython==3.0.10
|
||||||
|
daphne==4.1.2
|
||||||
|
dash==2.9.3
|
||||||
|
dash-bootstrap-components==1.6.0
|
||||||
|
dash-core-components==2.0.0
|
||||||
|
dash-html-components==2.0.0
|
||||||
|
dash-table==5.0.0
|
||||||
|
debugpy==1.8.2
|
||||||
|
decorator==5.1.1
|
||||||
|
defusedxml==0.7.1
|
||||||
|
dice-ml==0.11
|
||||||
|
dict-and-html==1.0.11
|
||||||
|
diff-match-patch==20230430
|
||||||
|
Django==4.2.13
|
||||||
|
django-bootstrap-v5==1.0.11
|
||||||
|
django-htmx==1.18.0
|
||||||
|
django-import-export==4.0.3
|
||||||
|
django-plotly-dash==2.3.1
|
||||||
|
django-redis==5.4.0
|
||||||
|
dpd_components==0.1.0
|
||||||
|
et-xmlfile==1.1.0
|
||||||
|
exceptiongroup==1.2.1
|
||||||
|
executing==2.0.1
|
||||||
|
fastdtw==0.3.4
|
||||||
|
fastjsonschema==2.20.0
|
||||||
|
Flask==3.0.3
|
||||||
|
flatbuffers==1.12
|
||||||
|
fonttools==4.51.0
|
||||||
|
fqdn==1.5.1
|
||||||
|
gast==0.4.0
|
||||||
|
google-auth==2.32.0
|
||||||
|
google-auth-oauthlib==0.4.6
|
||||||
|
google-pasta==0.2.0
|
||||||
|
greenlet==3.0.3
|
||||||
|
grpcio==1.65.1
|
||||||
|
h11==0.14.0
|
||||||
|
h5py==3.11.0
|
||||||
|
html-and-py==1.0.14
|
||||||
|
httpcore==1.0.5
|
||||||
|
httpx==0.27.0
|
||||||
|
hyperlink==21.0.0
|
||||||
|
idna==3.7
|
||||||
|
imbalanced-learn==0.12.3
|
||||||
|
incremental==22.10.0
|
||||||
|
ipykernel==6.29.5
|
||||||
|
ipython==8.25.0
|
||||||
|
ipywidgets==8.1.3
|
||||||
|
isoduration==20.11.0
|
||||||
|
itsdangerous==2.2.0
|
||||||
|
jedi==0.19.1
|
||||||
|
Jinja2==3.1.4
|
||||||
|
joblib==1.4.2
|
||||||
|
json5==0.9.25
|
||||||
|
jsonpointer==3.0.0
|
||||||
|
jsonschema==4.22.0
|
||||||
|
jsonschema-specifications==2023.12.1
|
||||||
|
jupyter==1.0.0
|
||||||
|
jupyter_client==8.6.2
|
||||||
|
jupyter-console==6.6.3
|
||||||
|
jupyter_core==5.7.2
|
||||||
|
jupyter-events==0.10.0
|
||||||
|
jupyter-lsp==2.2.5
|
||||||
|
jupyter_server==2.14.2
|
||||||
|
jupyter_server_terminals==0.5.3
|
||||||
|
jupyterlab==4.2.4
|
||||||
|
jupyterlab_pygments==0.3.0
|
||||||
|
jupyterlab_server==2.27.3
|
||||||
|
jupyterlab_widgets==3.0.11
|
||||||
|
keract==4.5.1
|
||||||
|
keras==2.9.0
|
||||||
|
Keras-Preprocessing==1.1.2
|
||||||
|
kiwisolver==1.4.5
|
||||||
|
libclang==18.1.1
|
||||||
|
llvmlite==0.43.0
|
||||||
|
Mako==1.3.5
|
||||||
|
mamba==0.11.3
|
||||||
|
Markdown==3.6
|
||||||
|
MarkupSafe==2.1.5
|
||||||
|
matplotlib==3.9.0
|
||||||
|
matplotlib-inline==0.1.7
|
||||||
|
mistune==3.0.2
|
||||||
|
ml-dtypes==0.4.0
|
||||||
|
mlxtend==0.23.1
|
||||||
|
msgpack==1.0.8
|
||||||
|
nbclient==0.10.0
|
||||||
|
nbconvert==7.16.4
|
||||||
|
nbeats-keras==1.8.0
|
||||||
|
nbformat==5.10.4
|
||||||
|
nest-asyncio==1.6.0
|
||||||
|
ngrok==1.4.0
|
||||||
|
notebook==7.2.1
|
||||||
|
notebook_shim==0.2.4
|
||||||
|
npx==0.1.6
|
||||||
|
numba==0.60.0
|
||||||
|
numpy==1.23.5
|
||||||
|
nvidia-cublas-cu11==11.11.3.6
|
||||||
|
oauthlib==3.2.2
|
||||||
|
openpyxl==3.1.2
|
||||||
|
opt-einsum==3.3.0
|
||||||
|
optuna==2.10.1
|
||||||
|
overrides==7.7.0
|
||||||
|
packaging==24.2
|
||||||
|
pandas==1.5.3
|
||||||
|
pandocfilters==1.5.1
|
||||||
|
parso==0.8.4
|
||||||
|
patsy==0.5.6
|
||||||
|
pbr==6.0.0
|
||||||
|
pexpect==4.9.0
|
||||||
|
pillow==10.3.0
|
||||||
|
pip==24.3.1
|
||||||
|
pipdeptree==2.24.0
|
||||||
|
platformdirs==4.2.2
|
||||||
|
plotly==5.22.0
|
||||||
|
prettytable==3.10.2
|
||||||
|
prometheus_client==0.20.0
|
||||||
|
prompt_toolkit==3.0.47
|
||||||
|
protobuf==3.19.6
|
||||||
|
psutil==6.0.0
|
||||||
|
ptyprocess==0.7.0
|
||||||
|
pure-eval==0.2.2
|
||||||
|
pyasn1==0.6.0
|
||||||
|
pyasn1_modules==0.4.0
|
||||||
|
pycparser==2.22
|
||||||
|
Pygments==2.18.0
|
||||||
|
pyOpenSSL==24.1.0
|
||||||
|
pyparsing==3.1.2
|
||||||
|
pyperclip==1.9.0
|
||||||
|
python-dateutil==2.9.0.post0
|
||||||
|
python-dotenv==1.0.1
|
||||||
|
python-json-logger==2.0.7
|
||||||
|
pytz==2024.1
|
||||||
|
PyWavelets==1.6.0
|
||||||
|
PyYAML==6.0.1
|
||||||
|
pyzmq==26.0.3
|
||||||
|
qtconsole==5.5.2
|
||||||
|
QtPy==2.4.1
|
||||||
|
raiutils==0.4.2
|
||||||
|
redis==5.0.6
|
||||||
|
referencing==0.35.1
|
||||||
|
requests==2.32.3
|
||||||
|
requests-oauthlib==2.0.0
|
||||||
|
rfc3339-validator==0.1.4
|
||||||
|
rfc3986-validator==0.1.1
|
||||||
|
rpds-py==0.18.1
|
||||||
|
rsa==4.9
|
||||||
|
scikit-base==0.8.2
|
||||||
|
scikit-learn==1.5.1
|
||||||
|
scipy==1.13.0
|
||||||
|
seaborn==0.13.2
|
||||||
|
Send2Trash==1.8.3
|
||||||
|
service-identity==24.1.0
|
||||||
|
setuptools==65.5.0
|
||||||
|
six==1.16.0
|
||||||
|
sktime==0.31.0
|
||||||
|
sniffio==1.3.1
|
||||||
|
soupsieve==2.5
|
||||||
|
SQLAlchemy==2.0.31
|
||||||
|
sqlparse==0.5.0
|
||||||
|
stack-data==0.6.3
|
||||||
|
statsmodels==0.14.2
|
||||||
|
stevedore==5.2.0
|
||||||
|
stumpy==1.13.0
|
||||||
|
tablib==3.5.0
|
||||||
|
tenacity==8.3.0
|
||||||
|
tensorboard==2.9.1
|
||||||
|
tensorboard-data-server==0.6.1
|
||||||
|
tensorboard-plugin-wit==1.8.1
|
||||||
|
tensorflow==2.9.1
|
||||||
|
tensorflow-estimator==2.9.0
|
||||||
|
tensorflow-io-gcs-filesystem==0.37.1
|
||||||
|
termcolor==2.4.0
|
||||||
|
terminado==0.18.1
|
||||||
|
tfts==0.0.5
|
||||||
|
threadpoolctl==3.5.0
|
||||||
|
tinycss2==1.3.0
|
||||||
|
tomli==2.0.1
|
||||||
|
tornado==6.4.1
|
||||||
|
tqdm==4.66.4
|
||||||
|
traitlets==5.14.3
|
||||||
|
Twisted==24.3.0
|
||||||
|
txaio==23.1.1
|
||||||
|
types-python-dateutil==2.9.0.20240316
|
||||||
|
typing_extensions==4.11.0
|
||||||
|
uri-template==1.3.0
|
||||||
|
urllib3==2.2.1
|
||||||
|
uWSGI==2.0.28
|
||||||
|
wcwidth==0.2.13
|
||||||
|
webcolors==24.8.0
|
||||||
|
webencodings==0.5.1
|
||||||
|
websocket-client==1.8.0
|
||||||
|
Werkzeug==3.0.3
|
||||||
|
wheel==0.44.0
|
||||||
|
whitenoise==6.8.2
|
||||||
|
widgetsnbextension==4.0.11
|
||||||
|
wildboar==1.2.0
|
||||||
|
wrapt==1.16.0
|
||||||
|
xgboost==2.0.3
|
||||||
|
XlsxWriter==3.2.0
|
||||||
|
zope.interface==6.4.post2
|
||||||
|
>>>>>>> bcaa0664688857b180bb908a6ea1b71080c56a45
|
||||||
|
10
scripts/entrypoint.sh
Normal file
10
scripts/entrypoint.sh
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
python manage.py collectstatic --soinput
|
||||||
|
|
||||||
|
uwsgi --socket :8000 --master --enable-threads --module extremum.wsgi #TCP
|
||||||
|
|
||||||
|
# Start Apache
|
||||||
|
exec apachectl -D FOREGROUND
|
Loading…
x
Reference in New Issue
Block a user