Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
nopaque
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Monitor
Service Desk
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Admin message
Looking for advice? Join the
Matrix channel for GitLab users in Bielefeld
!
Show more breadcrumbs
SFB 1288 - INF
nopaque
Commits
0a8b32e5
Commit
0a8b32e5
authored
2 years ago
by
Patrick Jentsch
Browse files
Options
Downloads
Patches
Plain Diff
Config cleanup
parent
b4082a25
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
.env.tpl
+22
-7
22 additions, 7 deletions
.env.tpl
config.py
+43
-40
43 additions, 40 deletions
config.py
with
65 additions
and
47 deletions
.env.tpl
+
22
−
7
View file @
0a8b32e5
...
@@ -33,10 +33,11 @@ HOST_DOCKER_GID=
...
@@ -33,10 +33,11 @@ HOST_DOCKER_GID=
# HINT: Use this bash command `python -c "import uuid; print(uuid.uuid4().hex)"`
# HINT: Use this bash command `python -c "import uuid; print(uuid.uuid4().hex)"`
# SECRET_KEY=
# SECRET_KEY=
# DEFAULT: localhost:5000
# Example: nopaque.example.com/nopaque.example.com:5000
# Example: nopaque.example.com/nopaque.example.com:5000
# HINT: If your instance is publicly available on a different Port then 80/443,
# HINT: If your instance is publicly available on a different Port then 80/443,
# you will have to add this to the server name
# you will have to add this to the server name
SERVER_NAME=
#
SERVER_NAME=
# CHOOSE ONE: False, True
# CHOOSE ONE: False, True
# DEFAULT: False
# DEFAULT: False
...
@@ -44,6 +45,15 @@ SERVER_NAME=
...
@@ -44,6 +45,15 @@ SERVER_NAME=
# SESSION_COOKIE_SECURE=
# SESSION_COOKIE_SECURE=
################################################################################
# Flask-Assets #
# https://webassets.readthedocs.io/en/latest/ #
################################################################################
# CHOOSE ONE: False, True
# DEFAULT: False
# ASSETS_DEBUG=
################################################################################
################################################################################
# Flask-Login #
# Flask-Login #
# https://flask-login.readthedocs.io/en/latest/ #
# https://flask-login.readthedocs.io/en/latest/ #
...
@@ -85,7 +95,7 @@ MAIL_USERNAME=
...
@@ -85,7 +95,7 @@ MAIL_USERNAME=
# Flask-SQLAlchemy #
# Flask-SQLAlchemy #
# https://flask-sqlalchemy.palletsprojects.com/en/2.x/config/ #
# https://flask-sqlalchemy.palletsprojects.com/en/2.x/config/ #
################################################################################
################################################################################
# DEFAULT: 'sqlite:///
<nopaque-basedir>
/
app.db
'
# DEFAULT: 'sqlite:///
<nopaque-basedir>
/
data.sqlite
'
# NOTE: Use `.` as
<nopaque-basedir>
,
# NOTE: Use `.` as
<nopaque-basedir>
,
# Don't use a SQLite database when using Docker
# Don't use a SQLite database when using Docker
# SQLALCHEMY_DATABASE_URI=
# SQLALCHEMY_DATABASE_URI=
...
@@ -104,10 +114,6 @@ NOPAQUE_ADMIN=
...
@@ -104,10 +114,6 @@ NOPAQUE_ADMIN=
# Swarm nodes
# Swarm nodes
# NOPAQUE_DATA_DIR=
# NOPAQUE_DATA_DIR=
# NOTE: Get these from the nopaque development team
NOPAQUE_DOCKER_REGISTRY_USERNAME=
NOPAQUE_DOCKER_REGISTRY_PASSWORD=
# CHOOSE ONE: False, True
# CHOOSE ONE: False, True
# DEFAULT: True
# DEFAULT: True
# NOPAQUE_IS_PRIMARY_INSTANCE=
# NOPAQUE_IS_PRIMARY_INSTANCE=
...
@@ -115,6 +121,10 @@ NOPAQUE_DOCKER_REGISTRY_PASSWORD=
...
@@ -115,6 +121,10 @@ NOPAQUE_DOCKER_REGISTRY_PASSWORD=
# transport://[userid:password]@hostname[:port]/[virtual_host]
# transport://[userid:password]@hostname[:port]/[virtual_host]
NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI=
NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI=
# NOTE: Get these from the nopaque development team
NOPAQUE_DOCKER_REGISTRY_USERNAME=
NOPAQUE_DOCKER_REGISTRY_PASSWORD=
# DEFAULT: %Y-%m-%d %H:%M:%S
# DEFAULT: %Y-%m-%d %H:%M:%S
# NOPAQUE_LOG_DATE_FORMAT=
# NOPAQUE_LOG_DATE_FORMAT=
...
@@ -141,10 +151,15 @@ NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI=
...
@@ -141,10 +151,15 @@ NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI=
# DEFAULT: False
# DEFAULT: False
# NOPAQUE_LOG_STDERR_ENABLED=
# NOPAQUE_LOG_STDERR_ENABLED=
# DEFAULT: NOPAQUE_LOG_LEVEL
# CHOOSE ONE: CRITICAL, ERROR, WARNING, INFO, DEBUG
# CHOOSE ONE: CRITICAL, ERROR, WARNING, INFO, DEBUG
# DEFAULT: NOPAQUE_LOG_LEVEL
# NOPAQUE_LOG_STDERR_LEVEL=
# NOPAQUE_LOG_STDERR_LEVEL=
# CHOOSE ONE: False, True
# DEFAULT: False
# HINT: Set this to True only if you are using a proxy in front of nopaque
# NOPAQUE_PROXY_FIX_ENABLED=
# DEFAULT: 0
# DEFAULT: 0
# Number of values to trust for X-Forwarded-For
# Number of values to trust for X-Forwarded-For
# NOPAQUE_PROXY_FIX_X_FOR=
# NOPAQUE_PROXY_FIX_X_FOR=
...
...
This diff is collapsed.
Click to expand it.
config.py
+
43
−
40
View file @
0a8b32e5
...
@@ -14,53 +14,53 @@ class Config:
...
@@ -14,53 +14,53 @@ class Config:
'''
# Flask #
'''
'''
# Flask #
'''
PREFERRED_URL_SCHEME
=
os
.
environ
.
get
(
'
PREFERRED_URL_SCHEME
'
,
'
http
'
)
PREFERRED_URL_SCHEME
=
os
.
environ
.
get
(
'
PREFERRED_URL_SCHEME
'
,
'
http
'
)
SECRET_KEY
=
os
.
environ
.
get
(
'
SECRET_KEY
'
,
'
hard to guess string
'
)
SECRET_KEY
=
os
.
environ
.
get
(
'
SECRET_KEY
'
,
'
hard to guess string
'
)
SERVER_NAME
=
os
.
environ
.
get
(
'
SERVER_NAME
'
)
SERVER_NAME
=
os
.
environ
.
get
(
'
SERVER_NAME
'
,
'
localhost:5000
'
)
SESSION_COOKIE_SECURE
=
\
SESSION_COOKIE_SECURE
=
\
os
.
environ
.
get
(
'
SESSION_COOKIE_SECURE
'
,
'
false
'
).
lower
()
==
'
true
'
os
.
environ
.
get
(
'
SESSION_COOKIE_SECURE
'
,
'
false
'
).
lower
()
==
'
true
'
TEMPLATES_AUTO_RELOAD
=
\
os
.
environ
.
get
(
'
TEMPLATES_AUTO_RELOAD
'
,
'
false
'
).
lower
()
==
'
true
'
'''
# Flask-Assets
'''
ASSETS_DEBUG
=
os
.
environ
.
get
(
'
ASSETS_DEBUG
'
,
'
false
'
).
lower
()
==
'
true
'
'''
# Flask-Hashids
'''
'''
# Flask-Hashids
'''
HASHIDS_MIN_LENGTH
=
32
HASHIDS_MIN_LENGTH
=
16
'''
# Flask-Login #
'''
'''
# Flask-Login #
'''
REMEMBER_COOKIE_HTTPONLY
=
True
REMEMBER_COOKIE_SECURE
=
\
REMEMBER_COOKIE_SECURE
=
\
os
.
environ
.
get
(
'
REMEMBER_COOKIE_SECURE
'
,
'
false
'
).
lower
()
==
'
true
'
os
.
environ
.
get
(
'
REMEMBER_COOKIE_SECURE
'
,
'
false
'
).
lower
()
==
'
true
'
'''
# Flask-Mail #
'''
'''
# Flask-Mail #
'''
MAIL_DEFAULT_SENDER
=
os
.
environ
.
get
(
'
MAIL_DEFAULT_SENDER
'
)
MAIL_DEFAULT_SENDER
=
os
.
environ
.
get
(
'
MAIL_DEFAULT_SENDER
'
)
MAIL_PASSWORD
=
os
.
environ
.
get
(
'
MAIL_PASSWORD
'
)
MAIL_PASSWORD
=
os
.
environ
.
get
(
'
MAIL_PASSWORD
'
)
MAIL_PORT
=
int
(
os
.
environ
.
get
(
'
MAIL_PORT
'
))
MAIL_SERVER
=
os
.
environ
.
get
(
'
MAIL_SERVER
'
)
MAIL_SERVER
=
os
.
environ
.
get
(
'
MAIL_SERVER
'
)
MAIL_PORT
=
int
(
os
.
environ
.
get
(
'
MAIL_PORT
'
))
MAIL_USERNAME
=
os
.
environ
.
get
(
'
MAIL_USERNAME
'
)
MAIL_USERNAME
=
os
.
environ
.
get
(
'
MAIL_USERNAME
'
)
MAIL_USE_SSL
=
os
.
environ
.
get
(
'
MAIL_USE_SSL
'
,
'
false
'
).
lower
()
==
'
true
'
MAIL_USE_SSL
=
os
.
environ
.
get
(
'
MAIL_USE_SSL
'
,
'
false
'
).
lower
()
==
'
true
'
MAIL_USE_TLS
=
os
.
environ
.
get
(
'
MAIL_USE_TLS
'
,
'
false
'
).
lower
()
==
'
true
'
MAIL_USE_TLS
=
os
.
environ
.
get
(
'
MAIL_USE_TLS
'
,
'
false
'
).
lower
()
==
'
true
'
'''
# Flask-SQLAlchemy #
'''
'''
# Flask-SQLAlchemy #
'''
SQLALCHEMY_DATABASE_URI
=
os
.
environ
.
get
(
SQLALCHEMY_DATABASE_URI
=
\
'
SQLALCHEMY_DATABASE_URI
'
,
os
.
environ
.
get
(
'
SQLALCHEMY_DATABASE_URI
'
)
\
'
sqlite:///
'
+
os
.
path
.
join
(
basedir
,
'
app.db
'
)
or
f
'
sqlite:///
{
os
.
path
.
join
(
basedir
,
"
data.sqlite
"
)
}
'
)
SQLALCHEMY_RECORD_QUERIES
=
True
SQLALCHEMY_RECORD_QUERIES
=
True
SQLALCHEMY_TRACK_MODIFICATIONS
=
False
SQLALCHEMY_TRACK_MODIFICATIONS
=
False
'''
# nopaque #
'''
'''
# nopaque #
'''
NOPAQUE_ADMIN
=
os
.
environ
.
get
(
'
NOPAQUE_ADMIN
'
)
NOPAQUE_ADMIN
=
os
.
environ
.
get
(
'
NOPAQUE_ADMIN
'
)
NOPAQUE_IS_PRIMARY_INSTANCE
=
\
os
.
environ
.
get
(
'
NOPAQUE_IS_PRIMARY_INSTANCE
'
,
'
true
'
).
lower
()
==
'
true
'
NOPAQUE_DATA_DIR
=
\
NOPAQUE_DATA_DIR
=
\
os
.
path
.
abspath
(
os
.
environ
.
get
(
'
NOPAQUE_DATA_DIR
'
,
'
/mnt/nopaque
'
))
os
.
path
.
abspath
(
os
.
environ
.
get
(
'
NOPAQUE_DATA_DIR
'
,
'
/mnt/nopaque
'
))
NOPAQUE_IS_PRIMARY_INSTANCE
=
\
os
.
environ
.
get
(
'
NOPAQUE_IS_PRIMARY_INSTANCE
'
,
'
true
'
).
lower
()
==
'
true
'
NOPAQUE_MAIL_SUBJECT_PREFIX
=
'
[nopaque]
'
NOPAQUE_SERVICE_DESK
=
'
gitlab-ub-incoming+sfb1288inf-nopaque-1324-issue-@jura.uni-bielefeld.de
'
# noqa
NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI
=
\
os
.
environ
.
get
(
'
NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI
'
)
NOPAQUE_DOCKER_REGISTRY
=
'
gitlab.ub.uni-bielefeld.de:4567
'
NOPAQUE_DOCKER_REGISTRY
=
'
gitlab.ub.uni-bielefeld.de:4567
'
NOPAQUE_DOCKER_IMAGE_PREFIX
=
f
'
{
NOPAQUE_DOCKER_REGISTRY
}
/sfb1288inf/
'
NOPAQUE_DOCKER_IMAGE_PREFIX
=
f
'
{
NOPAQUE_DOCKER_REGISTRY
}
/sfb1288inf/
'
NOPAQUE_DOCKER_REGISTRY_USERNAME
=
\
NOPAQUE_DOCKER_REGISTRY_USERNAME
=
\
os
.
environ
.
get
(
'
NOPAQUE_DOCKER_REGISTRY_USERNAME
'
)
os
.
environ
.
get
(
'
NOPAQUE_DOCKER_REGISTRY_USERNAME
'
)
NOPAQUE_DOCKER_REGISTRY_PASSWORD
=
\
NOPAQUE_DOCKER_REGISTRY_PASSWORD
=
\
os
.
environ
.
get
(
'
NOPAQUE_DOCKER_REGISTRY_PASSWORD
'
)
os
.
environ
.
get
(
'
NOPAQUE_DOCKER_REGISTRY_PASSWORD
'
)
NOPAQUE_MAIL_SUBJECT_PREFIX
=
'
[nopaque]
'
NOPAQUE_SERVICE_DESK
=
'
gitlab-ub-incoming+sfb1288inf-nopaque-1324-issue-@jura.uni-bielefeld.de
'
# noqa
NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI
=
\
os
.
environ
.
get
(
'
NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI
'
)
NOPAQUE_LOG_DATE_FORMAT
=
\
NOPAQUE_LOG_DATE_FORMAT
=
\
os
.
environ
.
get
(
'
NOPAQUE_LOG_DATE_FORMAT
'
,
'
%Y-%m-%d %H:%M:%S
'
)
os
.
environ
.
get
(
'
NOPAQUE_LOG_DATE_FORMAT
'
,
'
%Y-%m-%d %H:%M:%S
'
)
...
@@ -81,6 +81,8 @@ class Config:
...
@@ -81,6 +81,8 @@ class Config:
NOPAQUE_LOG_STDERR_LEVEL
=
\
NOPAQUE_LOG_STDERR_LEVEL
=
\
os
.
environ
.
get
(
'
NOPAQUE_LOG_STDERR_LEVEL
'
,
NOPAQUE_LOG_LEVEL
)
os
.
environ
.
get
(
'
NOPAQUE_LOG_STDERR_LEVEL
'
,
NOPAQUE_LOG_LEVEL
)
NOPAQUE_PROXY_FIX_ENABLED
=
\
os
.
environ
.
get
(
'
NOPAQUE_PROXY_FIX_ENABLED
'
,
'
false
'
).
lower
()
==
'
true
'
NOPAQUE_PROXY_FIX_X_FOR
=
\
NOPAQUE_PROXY_FIX_X_FOR
=
\
int
(
os
.
environ
.
get
(
'
NOPAQUE_PROXY_FIX_X_FOR
'
,
'
0
'
))
int
(
os
.
environ
.
get
(
'
NOPAQUE_PROXY_FIX_X_FOR
'
,
'
0
'
))
NOPAQUE_PROXY_FIX_X_HOST
=
\
NOPAQUE_PROXY_FIX_X_HOST
=
\
...
@@ -93,47 +95,48 @@ class Config:
...
@@ -93,47 +95,48 @@ class Config:
int
(
os
.
environ
.
get
(
'
NOPAQUE_PROXY_FIX_X_PROTO
'
,
'
0
'
))
int
(
os
.
environ
.
get
(
'
NOPAQUE_PROXY_FIX_X_PROTO
'
,
'
0
'
))
NOPAQUE_TRANSKRIBUS_ENABLED
=
\
NOPAQUE_TRANSKRIBUS_ENABLED
=
\
os
.
environ
.
get
(
'
NOPAQUE_TRANSKRIBUS_ENABLED
'
,
'
tru
e
'
).
lower
()
==
'
true
'
os
.
environ
.
get
(
'
NOPAQUE_TRANSKRIBUS_ENABLED
'
,
'
fals
e
'
).
lower
()
==
'
true
'
NOPAQUE_READCOOP_USERNAME
=
os
.
environ
.
get
(
'
NOPAQUE_READCOOP_USERNAME
'
)
NOPAQUE_READCOOP_USERNAME
=
os
.
environ
.
get
(
'
NOPAQUE_READCOOP_USERNAME
'
)
NOPAQUE_READCOOP_PASSWORD
=
os
.
environ
.
get
(
'
NOPAQUE_READCOOP_PASSWORD
'
)
NOPAQUE_READCOOP_PASSWORD
=
os
.
environ
.
get
(
'
NOPAQUE_READCOOP_PASSWORD
'
)
@
class
method
@
static
method
def
init_app
(
cls
,
app
:
Flask
):
def
init_app
(
app
:
Flask
):
# Set up logging according to the corresponding (NOPAQUE_LOG_*)
# Set up logging according to the corresponding (NOPAQUE_LOG_*)
# configurations
# configurations
app
.
logger
.
setLevel
(
app
.
config
.
get
(
'
NOPAQUE_LOG_LEVEL
'
)
)
app
.
logger
.
setLevel
(
app
.
config
[
'
NOPAQUE_LOG_LEVEL
'
]
)
# Remove existing handlers
# Remove existing handlers
for
handler
in
app
.
logger
.
handlers
:
for
handler
in
app
.
logger
.
handlers
:
app
.
logger
.
removeHandler
(
handler
)
app
.
logger
.
removeHandler
(
handler
)
# Setup handlers
# Setup handlers
formatter
=
logging
.
Formatter
(
formatter
=
logging
.
Formatter
(
fmt
=
app
.
config
.
get
(
'
NOPAQUE_LOG_FORMAT
'
)
,
fmt
=
app
.
config
[
'
NOPAQUE_LOG_FORMAT
'
]
,
datefmt
=
app
.
config
.
get
(
'
NOPAQUE_LOG_DATE_FORMAT
'
)
datefmt
=
app
.
config
[
'
NOPAQUE_LOG_DATE_FORMAT
'
]
)
)
if
app
.
config
.
get
(
'
NOPAQUE_LOG_STDERR_ENABLED
'
)
:
if
app
.
config
[
'
NOPAQUE_LOG_STDERR_ENABLED
'
]
:
stream_handler
=
logging
.
StreamHandler
()
stream_handler
=
logging
.
StreamHandler
()
stream_handler
.
setFormatter
(
formatter
)
stream_handler
.
setFormatter
(
formatter
)
stream_handler
.
setLevel
(
app
.
config
.
get
(
'
NOPAQUE_LOG_STDERR_LEVEL
'
)
)
stream_handler
.
setLevel
(
app
.
config
[
'
NOPAQUE_LOG_STDERR_LEVEL
'
]
)
app
.
logger
.
addHandler
(
stream_handler
)
app
.
logger
.
addHandler
(
stream_handler
)
if
app
.
config
.
get
(
'
NOPAQUE_LOG_FILE_ENABLED
'
)
:
if
app
.
config
[
'
NOPAQUE_LOG_FILE_ENABLED
'
]
:
if
not
os
.
path
.
exists
(
app
.
config
.
get
(
'
NOPAQUE_LOG_FILE_DIR
'
)
):
if
not
os
.
path
.
exists
(
app
.
config
[
'
NOPAQUE_LOG_FILE_DIR
'
]
):
os
.
mkdir
(
app
.
config
.
get
(
'
NOPAQUE_LOG_FILE_DIR
'
)
)
os
.
mkdir
(
app
.
config
[
'
NOPAQUE_LOG_FILE_DIR
'
]
)
rotating_file_handler
=
RotatingFileHandler
(
rotating_file_handler
=
RotatingFileHandler
(
os
.
path
.
join
(
app
.
config
.
get
(
'
NOPAQUE_LOG_FILE_DIR
'
)
,
'
nopaque.log
'
),
# noqa
os
.
path
.
join
(
app
.
config
[
'
NOPAQUE_LOG_FILE_DIR
'
]
,
'
nopaque.log
'
),
# noqa
maxBytes
=
10240
,
maxBytes
=
10
_
240
,
backupCount
=
10
backupCount
=
10
)
)
rotating_file_handler
.
setFormatter
(
formatter
)
rotating_file_handler
.
setFormatter
(
formatter
)
rotating_file_handler
.
setLevel
(
app
.
config
.
get
(
'
NOPAQUE_LOG_FILE_LEVEL
'
)
)
# noqa
rotating_file_handler
.
setLevel
(
app
.
config
[
'
NOPAQUE_LOG_FILE_LEVEL
'
]
)
# noqa
app
.
logger
.
addHandler
(
rotating_file_handler
)
app
.
logger
.
addHandler
(
rotating_file_handler
)
# Set up and apply the ProxyFix middleware according to the
if
app
.
config
[
'
NOPAQUE_PROXY_FIX_ENABLED
'
]:
# corresponding (NOPAQUE_PROXY_FIX_*) configurations
# Set up and apply the ProxyFix middleware according to the
app
.
wsgi_app
=
ProxyFix
(
# corresponding (NOPAQUE_PROXY_FIX_*) configurations
app
.
wsgi_app
,
app
.
wsgi_app
=
ProxyFix
(
x_for
=
app
.
config
.
get
(
'
NOPAQUE_PROXY_FIX_X_FOR
'
),
app
.
wsgi_app
,
x_host
=
app
.
config
.
get
(
'
NOPAQUE_PROXY_FIX_X_HOST
'
),
x_for
=
app
.
config
[
'
NOPAQUE_PROXY_FIX_X_FOR
'
],
x_port
=
app
.
config
.
get
(
'
NOPAQUE_PROXY_FIX_X_PORT
'
),
x_host
=
app
.
config
[
'
NOPAQUE_PROXY_FIX_X_HOST
'
],
x_prefix
=
app
.
config
.
get
(
'
NOPAQUE_PROXY_FIX_X_PREFIX
'
),
x_port
=
app
.
config
[
'
NOPAQUE_PROXY_FIX_X_PORT
'
],
x_proto
=
app
.
config
.
get
(
'
NOPAQUE_PROXY_FIX_X_PROTO
'
)
x_prefix
=
app
.
config
[
'
NOPAQUE_PROXY_FIX_X_PREFIX
'
],
)
x_proto
=
app
.
config
[
'
NOPAQUE_PROXY_FIX_X_PROTO
'
]
)
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment