Skip to content

Commit

Permalink
Config cleanup (env vars) and make sure use_x_accel works properly wi…
Browse files Browse the repository at this point in the history
…th nginx
  • Loading branch information
varmar05 committed Oct 29, 2024
1 parent 801545b commit 911c651
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 20 deletions.
17 changes: 12 additions & 5 deletions .prod.env
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,6 @@ LOCAL_PROJECTS=/data
#MAINTENANCE_FILE=os.path.join(LOCAL_PROJECTS, 'MAINTENANCE') # locking file when backups are created
MAINTENANCE_FILE=/data/MAINTENANCE

#PROXY_FIX=True

#PUBLIC_DIR=os.path.join(config_dir, os.pardir, 'build', 'static')

#SECRET_KEY=NODEFAULT
SECRET_KEY=fixme

Expand Down Expand Up @@ -110,7 +106,11 @@ MAIL_USERNAME=fixme
#MAX_DOWNLOAD_ARCHIVE_SIZE=1024 * 1024 * 1024 # max total files size for archive download

#USE_X_ACCEL=False # use nginx (in front of gunicorn) to serve files (https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/)
USE_X_ACCEL=1

# where geodiff lib copies working files
#GEODIFF_WORKING_DIR=$LOCAL_PROJECTS/geodiff_tmp
GEODIFF_WORKING_DIR=/data/geodiff

# celery

Expand All @@ -133,6 +133,8 @@ CELERYD_CONCURRENCY=2

#CELERYD_PREFETCH_MULTIPLIER=4

#CELERY_ROUTES={} # split tasks into separate queues

# various life times

#CLOSED_ACCOUNT_EXPIRATION=5 # time in days after user closed his account to all projects and files are permanently deleted
Expand Down Expand Up @@ -167,6 +169,11 @@ GLOBAL_STORAGE=10737418240

# GLOBAL_ADMIN False

# Gunicorn server socket
# toggle registration form to create new users
#USER_SELF_REGISTRATION=False

# what type of server is running, e.g. community edition or enterprise edition
#SERVER_TYPE=ce

# Gunicorn server socket
PORT=5000
2 changes: 2 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ services:
image: nginxinc/nginx-unprivileged:1.25.5
container_name: merginmaps-proxy
restart: always
# run nginx as built-in user but with group mergin-family for files permissions
user: 101:999
ports:
- "8080:8080"
volumes:
Expand Down
2 changes: 1 addition & 1 deletion nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,6 @@ server {

location /download/ {
internal;
alias /data; # we need to mount data from mergin server here
alias /data/; # we need to mount data from mergin server here
}
}
24 changes: 10 additions & 14 deletions server/mergin/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,15 @@


class Configuration(object):
# flask/connexion variables
DEBUG = config("FLASK_DEBUG", default=False, cast=bool)
TESTING = config("TESTING", default=False, cast=bool)
SECRET_KEY = config("SECRET_KEY")
PROXY_FIX = config("PROXY_FIX", default=True, cast=bool)
SWAGGER_UI = config(
"SWAGGER_UI", default=False, cast=bool
) # to enable swagger UI console (for tests only)
VERSION = config("VERSION", default=get_version())
PUBLIC_DIR = config(
"PUBLIC_DIR", default=os.path.join(config_dir, os.pardir, "build", "static")
)
# to enable swagger UI console (for tests only)
SWAGGER_UI = config("SWAGGER_UI", default=False, cast=bool)
# expiration time in seconds
WTF_CSRF_TIME_LIMIT = config("WTF_CSRF_TIME_LIMIT", default=3600 * 24, cast=int)
WTF_CSRF_ENABLED = config("WTF_CSRF_ENABLED", default=True, cast=bool)

# Mergin DB related
SQLALCHEMY_TRACK_MODIFICATIONS = config(
Expand All @@ -43,11 +41,6 @@ class Configuration(object):
f"postgresql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_DATABASE}?application_name={DB_APPLICATION_NAME}",
)

WTF_CSRF_TIME_LIMIT = config(
"WTF_CSRF_TIME_LIMIT", default=3600 * 24, cast=int
) # in seconds
WTF_CSRF_ENABLED = config("WTF_CSRF_ENABLED", default=True, cast=bool)

# for flask mail
MAIL_SERVER = config("MAIL_SERVER", default="localhost")
MAIL_PORT = config("MAIL_PORT", default=587, cast=int)
Expand Down Expand Up @@ -97,8 +90,11 @@ class Configuration(object):
GLOBAL_WRITE = config("GLOBAL_WRITE", default=False, cast=bool)
GLOBAL_ADMIN = config("GLOBAL_ADMIN", default=False, cast=bool)

SERVER_TYPE = config("SERVER_TYPE", default="")
# can users create their own account or is it reserved for superuser only
USER_SELF_REGISTRATION = config("USER_SELF_REGISTRATION", default=False, cast=bool)

# build hash number
BUILD_HASH = config("BUILD_HASH", default="")
# backend version
VERSION = config("VERSION", default=get_version())
SERVER_TYPE = config("SERVER_TYPE", default="ce")

0 comments on commit 911c651

Please sign in to comment.