Fresh Install - ProgrammingError

Hello. I just did a fresh install of Ubuntu Server 16.04 LTS and using the WebODM Ubuntu Server Installer that I purchased to install. The Installer seems to run fine and finishes without an issue. When I load the URL in the browser I get the following error. I’d like some guidance as to what needs done to fix this.

ProgrammingError at /
relation “auth_user” does not exist
LINE 1: SELECT COUNT() AS “__count” FROM “auth_user” WHERE "auth_us…
^
Request Method: GET
Request URL: http://192.168.48.131/
Django Version: 2.1.7
Exception Type: ProgrammingError
Exception Value:
relation “auth_user” does not exist
LINE 1: SELECT COUNT(
) AS “__count” FROM “auth_user” WHERE "auth_us…
^
Exception Location: /webodm/python3-venv/lib/python3.5/site-packages/django/db/backends/utils.py in _execute, line 85
Python Executable: /webodm/python3-venv/bin/python3
Python Version: 3.5.2
Python Path:
[’/webodm’,
‘/webodm/python3-venv/bin’,
‘/webodm/python3-venv/lib/python35.zip’,
‘/webodm/python3-venv/lib/python3.5’,
‘/webodm/python3-venv/lib/python3.5/plat-x86_64-linux-gnu’,
‘/webodm/python3-venv/lib/python3.5/lib-dynload’,
‘/usr/lib/python3.5’,
‘/usr/lib/python3.5/plat-x86_64-linux-gnu’,
‘/webodm/python3-venv/lib/python3.5/site-packages’,
‘/webodm’]
Server time: Thu, 14 Mar 2019 15:18:57 -0700

Traceback:
Environment:

Request Method: GET
Request URL: http://192.168.48.131/

Django Version: 2.1.7
Python Version: 3.5.2
Installed Applications:
[‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘django.contrib.gis’,
‘django_filters’,
‘guardian’,
‘rest_framework’,
‘rest_framework_nested’,
‘webpack_loader’,
‘corsheaders’,
‘colorfield’,
‘imagekit’,
‘codemirror2’,
‘compressor’,
‘app’,
‘nodeodm’]
Installed Middleware:
[‘corsheaders.middleware.CorsMiddleware’,
‘django.middleware.security.SecurityMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘django.middleware.common.CommonMiddleware’,
‘django.middleware.csrf.CsrfViewMiddleware’,
‘django.contrib.auth.middleware.AuthenticationMiddleware’,
‘django.contrib.messages.middleware.MessageMiddleware’,
‘django.middleware.locale.LocaleMiddleware’]

Traceback:

File “/webodm/python3-venv/lib/python3.5/site-packages/django/db/backends/utils.py” in _execute
85. return self.cursor.execute(sql, params)

The above exception (relation “auth_user” does not exist
LINE 1: SELECT COUNT(*) AS “__count” FROM “auth_user” WHERE "auth_us…
^
) was the direct cause of the following exception:

File “/webodm/python3-venv/lib/python3.5/site-packages/django/core/handlers/exception.py” in inner
34. response = get_response(request)

File “/webodm/python3-venv/lib/python3.5/site-packages/django/core/handlers/base.py” in _get_response
126. response = self.process_exception_by_middleware(e, request)

File “/webodm/python3-venv/lib/python3.5/site-packages/django/core/handlers/base.py” in _get_response
124. response = wrapped_callback(request, *callback_args, **callback_kwargs)

File “/webodm/app/views/app.py” in index
20. if User.objects.filter(is_superuser=True).count() == 0:

File “/webodm/python3-venv/lib/python3.5/site-packages/django/db/models/query.py” in count
383. return self.query.get_count(using=self.db)

File “/webodm/python3-venv/lib/python3.5/site-packages/django/db/models/sql/query.py” in get_count
498. number = obj.get_aggregation(using, [’__count’])[’__count’]

File “/webodm/python3-venv/lib/python3.5/site-packages/django/db/models/sql/query.py” in get_aggregation
483. result = compiler.execute_sql(SINGLE)

File “/webodm/python3-venv/lib/python3.5/site-packages/django/db/models/sql/compiler.py” in execute_sql
1065. cursor.execute(sql, params)

File “/webodm/python3-venv/lib/python3.5/site-packages/django/db/backends/utils.py” in execute
100. return super().execute(sql, params)

File “/webodm/python3-venv/lib/python3.5/site-packages/django/db/backends/utils.py” in execute
68. return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)

File “/webodm/python3-venv/lib/python3.5/site-packages/django/db/backends/utils.py” in _execute_with_wrappers
77. return executor(sql, params, many, context)

File “/webodm/python3-venv/lib/python3.5/site-packages/django/db/backends/utils.py” in _execute
85. return self.cursor.execute(sql, params)

File “/webodm/python3-venv/lib/python3.5/site-packages/django/db/utils.py” in exit
89. raise dj_exc_value.with_traceback(traceback) from exc_value

File “/webodm/python3-venv/lib/python3.5/site-packages/django/db/backends/utils.py” in _execute
85. return self.cursor.execute(sql, params)

Exception Type: ProgrammingError at /
Exception Value: relation “auth_user” does not exist
LINE 1: SELECT COUNT(*) AS “__count” FROM “auth_user” WHERE "auth_us…

Request info:

Request information

USER
AnonymousUser

GET
No GET data

POST
No POST data

FILES
No FILES data

COOKIES
No cookie data

META
Variable Value
HTTP_ACCEPT
‘text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8’
HTTP_ACCEPT_ENCODING
‘gzip, deflate’
HTTP_ACCEPT_LANGUAGE
‘en-US,en;q=0.9’
HTTP_CONNECTION
‘close’
HTTP_HOST
‘192.168.48.131’
HTTP_UPGRADE_INSECURE_REQUESTS
‘1’
HTTP_USER_AGENT
(‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like ’
‘Gecko) Chrome/72.0.3626.121 Safari/537.36’)
HTTP_X_FORWARDED_FOR
‘192.168.48.1’
PATH_INFO
‘/’
QUERY_STRING
‘’
RAW_URI
‘/’
REMOTE_ADDR
"b’’"
REQUEST_METHOD
‘GET’
SCRIPT_NAME
‘’
SERVER_NAME
‘192.168.48.131’
SERVER_PORT
‘80’
SERVER_PROTOCOL
‘HTTP/1.0’
SERVER_SOFTWARE
‘gunicorn/19.7.1’
gunicorn.socket
<socket.socket fd=12, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/webodm/gunicorn.sock>
wsgi.errors
<gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f1d460511d0>
wsgi.file_wrapper
‘’
wsgi.input
<gunicorn.http.body.Body object at 0x7f1d46051278>
wsgi.multiprocess
False
wsgi.multithread
False
wsgi.run_once
False
wsgi.url_scheme
‘http’
wsgi.version
(1, 0)
Settings
Using settings module webodm.settings
Setting Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
[]
ALLOWED_HOSTS
[’*’]
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
(‘django.contrib.auth.backends.ModelBackend’,
‘guardian.backends.ObjectPermissionBackend’)
AUTH_PASSWORD_VALIDATORS

AUTH_USER_MODEL
‘auth.User’
BASE_DIR
‘/webodm’
CACHES
{‘default’: {‘BACKEND’: ‘django.core.cache.backends.locmem.LocMemCache’}}
CACHE_MIDDLEWARE_ALIAS
‘default’
CACHE_MIDDLEWARE_KEY_PREFIX
'

CACHE_MIDDLEWARE_SECONDS
600
CELERY_ACCEPT_CONTENT
[‘json’]
CELERY_BROKER_URL
‘redis://localhost’
CELERY_INCLUDE
[‘worker.tasks’]
CELERY_RESULT_BACKEND
‘redis://localhost’
CELERY_RESULT_SERIALIZER
‘json’
CELERY_TASK_SERIALIZER
‘json’
CELERY_WORKER_HIJACK_ROOT_LOGGER
False
CELERY_WORKER_REDIRECT_STDOUTS
False
COMPRESS_CACHEABLE_PRECOMPILERS
()
COMPRESS_CACHE_BACKEND
‘default’
COMPRESS_CACHE_KEY_FUNCTION

COMPRESS_CLEAN_CSS_ARGUMENTS
‘’
COMPRESS_CLEAN_CSS_BINARY
‘cleancss’
COMPRESS_CLOSURE_COMPILER_ARGUMENTS
‘’
COMPRESS_CLOSURE_COMPILER_BINARY
‘java -jar compiler.jar’
COMPRESS_CSS_COMPRESSOR
‘compressor.css.CssCompressor’
COMPRESS_CSS_FILTERS
[‘compressor.filters.css_default.CssAbsoluteFilter’]
COMPRESS_CSS_HASHING_METHOD
‘mtime’
COMPRESS_DATA_URI_MAX_SIZE
1024
COMPRESS_DEBUG_TOGGLE
None
COMPRESS_ENABLED
False
COMPRESS_JINJA2_GET_ENVIRONMENT
<function CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7f1d463f2d08>
COMPRESS_JS_COMPRESSOR
‘compressor.js.JsCompressor’
COMPRESS_JS_FILTERS
[‘compressor.filters.jsmin.JSMinFilter’]
COMPRESS_MINT_DELAY
30
COMPRESS_MTIME_DELAY
10
COMPRESS_OFFLINE
False
COMPRESS_OFFLINE_CONTEXT
{‘STATIC_URL’: ‘/static/’}
COMPRESS_OFFLINE_MANIFEST
‘manifest.json’
COMPRESS_OFFLINE_TIMEOUT
31536000
COMPRESS_OUTPUT_DIR
‘CACHE’
COMPRESS_PARSER
‘compressor.parser.AutoSelectParser’
COMPRESS_PRECOMPILERS
((‘text/x-scss’, ‘django_libsass.SassCompiler’),)
COMPRESS_REBUILD_TIMEOUT
2592000
COMPRESS_ROOT
‘/webodm/build/static’
COMPRESS_STORAGE
‘compressor.storage.CompressorFileStorage’
COMPRESS_TEMPLATE_FILTER_CONTEXT
{‘STATIC_URL’: ‘/static/’}
COMPRESS_URL
‘/static/’
COMPRESS_URL_PLACEHOLDER
‘/compressor_url_placeholder/’
COMPRESS_VERBOSE
False
COMPRESS_YUGLIFY_BINARY
‘yuglify’
COMPRESS_YUGLIFY_CSS_ARGUMENTS
‘–terminal’
COMPRESS_YUGLIFY_JS_ARGUMENTS
‘–terminal’
COMPRESS_YUI_BINARY
‘java -jar yuicompressor.jar’
COMPRESS_YUI_CSS_ARGUMENTS
‘’
COMPRESS_YUI_JS_ARGUMENTS
‘’
CORS_ALLOW_CREDENTIALS
True
CORS_ORIGIN_ALLOW_ALL
True
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
‘csrftoken’
CSRF_COOKIE_PATH
‘/’
CSRF_COOKIE_SAMESITE
‘Lax’
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
‘django.views.csrf.csrf_failure’
CSRF_HEADER_NAME
‘HTTP_X_CSRFTOKEN’
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{‘default’: {‘ATOMIC_REQUESTS’: False,
‘AUTOCOMMIT’: True,
‘CONN_MAX_AGE’: 0,
‘ENGINE’: ‘django.contrib.gis.db.backends.postgis’,
‘HOST’: ‘localhost’,
‘NAME’: ‘webodm_dev’,
‘OPTIONS’: {},
‘PASSWORD’: '
’,
‘PORT’: ‘5432’,
‘TEST’: {‘CHARSET’: None,
‘COLLATION’: None,
‘MIRROR’: None,
‘NAME’: None},
‘TIME_ZONE’: None,
‘USER’: ‘postgres’}}
DATABASE_ROUTERS
[]
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
None
DATETIME_FORMAT
‘N j, Y, P’
DATETIME_INPUT_FORMATS
[’%Y-%m-%d %H:%M:%S’,
‘%Y-%m-%d %H:%M:%S.%f’,
‘%Y-%m-%d %H:%M’,
‘%Y-%m-%d’,
‘%m/%d/%Y %H:%M:%S’,
‘%m/%d/%Y %H:%M:%S.%f’,
‘%m/%d/%Y %H:%M’,
‘%m/%d/%Y’,
‘%m/%d/%y %H:%M:%S’,
‘%m/%d/%y %H:%M:%S.%f’,
‘%m/%d/%y %H:%M’,
‘%m/%d/%y’]
DATE_FORMAT
‘N j, Y’
DATE_INPUT_FORMATS
[’%Y-%m-%d’,
‘%m/%d/%Y’,
‘%m/%d/%y’,
‘%b %d %Y’,
‘%b %d, %Y’,
‘%d %b %Y’,
‘%d %b, %Y’,
‘%B %d %Y’,
‘%B %d, %Y’,
‘%d %B %Y’,
‘%d %B, %Y’]
DEBUG
True
DEBUG_PROPAGATE_EXCEPTIONS
False
DECIMAL_SEPARATOR
‘.’
DEFAULT_CHARSET
‘utf-8’
DEFAULT_CONTENT_TYPE
‘text/html’
DEFAULT_EXCEPTION_REPORTER_FILTER
‘django.views.debug.SafeExceptionReporterFilter’
DEFAULT_FILE_STORAGE
‘django.core.files.storage.FileSystemStorage’
DEFAULT_FROM_EMAIL
[email protected]
DEFAULT_INDEX_TABLESPACE
‘’
DEFAULT_TABLESPACE
‘’
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
‘django.core.mail.backends.smtp.EmailBackend’
EMAIL_HOST
‘localhost’
EMAIL_HOST_PASSWORD

EMAIL_HOST_USER
‘’
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
'

EMAIL_SUBJECT_PREFIX
‘[Django] ’
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_CHARSET
‘utf-8’
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
[‘django.core.files.uploadhandler.MemoryFileUploadHandler’,
‘app.uploadhandler.TemporaryFileUploadHandler’]
FILE_UPLOAD_MAX_MEMORY_SIZE
4718592
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
‘django.forms.renderers.DjangoTemplates’
IGNORABLE_404_URLS
[]
IMAGEKIT_CACHEFILE_DIR
‘CACHE/images’
IMAGEKIT_CACHEFILE_NAMER
‘imagekit.cachefiles.namers.hash’
IMAGEKIT_CACHE_BACKEND
‘default’
IMAGEKIT_CACHE_PREFIX
‘imagekit:’
IMAGEKIT_CACHE_TIMEOUT
300
IMAGEKIT_DEFAULT_CACHEFILE_BACKEND
‘imagekit.cachefiles.backends.Simple’
IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY
‘imagekit.cachefiles.strategies.JustInTime’
IMAGEKIT_DEFAULT_FILE_STORAGE
‘django.core.files.storage.FileSystemStorage’
IMAGEKIT_SPEC_CACHEFILE_NAMER
‘imagekit.cachefiles.namers.source_name_as_path’
IMAGEKIT_USE_MEMCACHED_SAFE_CACHE_KEY

INSTALLED_APPS
[‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘django.contrib.gis’,
‘django_filters’,
‘guardian’,
‘rest_framework’,
‘rest_framework_nested’,
‘webpack_loader’,
‘corsheaders’,
‘colorfield’,
‘imagekit’,
‘codemirror2’,
‘compressor’,
‘app’,
‘nodeodm’]
INTERNAL_IPS
[‘127.0.0.1’]
JWT_AUTH
{‘JWT_EXPIRATION_DELTA’: datetime.timedelta(0, 21600)}
LANGUAGES
[(‘af’, ‘Afrikaans’),
(‘ar’, ‘Arabic’),
(‘ast’, ‘Asturian’),
(‘az’, ‘Azerbaijani’),
(‘bg’, ‘Bulgarian’),
(‘be’, ‘Belarusian’),
(‘bn’, ‘Bengali’),
(‘br’, ‘Breton’),
(‘bs’, ‘Bosnian’),
(‘ca’, ‘Catalan’),
(‘cs’, ‘Czech’),
(‘cy’, ‘Welsh’),
(‘da’, ‘Danish’),
(‘de’, ‘German’),
(‘dsb’, ‘Lower Sorbian’),
(‘el’, ‘Greek’),
(‘en’, ‘English’),
(‘en-au’, ‘Australian English’),
(‘en-gb’, ‘British English’),
(‘eo’, ‘Esperanto’),
(‘es’, ‘Spanish’),
(‘es-ar’, ‘Argentinian Spanish’),
(‘es-co’, ‘Colombian Spanish’),
(‘es-mx’, ‘Mexican Spanish’),
(‘es-ni’, ‘Nicaraguan Spanish’),
(‘es-ve’, ‘Venezuelan Spanish’),
(‘et’, ‘Estonian’),
(‘eu’, ‘Basque’),
(‘fa’, ‘Persian’),
(‘fi’, ‘Finnish’),
(‘fr’, ‘French’),
(‘fy’, ‘Frisian’),
(‘ga’, ‘Irish’),
(‘gd’, ‘Scottish Gaelic’),
(‘gl’, ‘Galician’),
(‘he’, ‘Hebrew’),
(‘hi’, ‘Hindi’),
(‘hr’, ‘Croatian’),
(‘hsb’, ‘Upper Sorbian’),
(‘hu’, ‘Hungarian’),
(‘ia’, ‘Interlingua’),
(‘id’, ‘Indonesian’),
(‘io’, ‘Ido’),
(‘is’, ‘Icelandic’),
(‘it’, ‘Italian’),
(‘ja’, ‘Japanese’),
(‘ka’, ‘Georgian’),
(‘kab’, ‘Kabyle’),
(‘kk’, ‘Kazakh’),
(‘km’, ‘Khmer’),
(‘kn’, ‘Kannada’),
(‘ko’, ‘Korean’),
(‘lb’, ‘Luxembourgish’),
(‘lt’, ‘Lithuanian’),
(‘lv’, ‘Latvian’),
(‘mk’, ‘Macedonian’),
(‘ml’, ‘Malayalam’),
(‘mn’, ‘Mongolian’),
(‘mr’, ‘Marathi’),
(‘my’, ‘Burmese’),
(‘nb’, ‘Norwegian Bokmål’),
(‘ne’, ‘Nepali’),
(‘nl’, ‘Dutch’),
(‘nn’, ‘Norwegian Nynorsk’),
(‘os’, ‘Ossetic’),
(‘pa’, ‘Punjabi’),
(‘pl’, ‘Polish’),
(‘pt’, ‘Portuguese’),
(‘pt-br’, ‘Brazilian Portuguese’),
(‘ro’, ‘Romanian’),
(‘ru’, ‘Russian’),
(‘sk’, ‘Slovak’),
(‘sl’, ‘Slovenian’),
(‘sq’, ‘Albanian’),
(‘sr’, ‘Serbian’),
(‘sr-latn’, ‘Serbian Latin’),
(‘sv’, ‘Swedish’),
(‘sw’, ‘Swahili’),
(‘ta’, ‘Tamil’),
(‘te’, ‘Telugu’),
(‘th’, ‘Thai’),
(‘tr’, ‘Turkish’),
(‘tt’, ‘Tatar’),
(‘udm’, ‘Udmurt’),
(‘uk’, ‘Ukrainian’),
(‘ur’, ‘Urdu’),
(‘vi’, ‘Vietnamese’),
(‘zh-hans’, ‘Simplified Chinese’),
(‘zh-hant’, ‘Traditional Chinese’)]
LANGUAGES_BIDI
[‘he’, ‘ar’, ‘fa’, ‘ur’]
LANGUAGE_CODE
‘en-us’
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_NAME
‘django_language’
LANGUAGE_COOKIE_PATH
‘/’
LIBSASS_CUSTOM_FUNCTIONS
{‘complementary’: <function complementary at 0x7f1d5e3abd90>,
‘scaleby’: <function scaleby at 0x7f1d5e3abd08>,
‘scalebyiv’: <function scalebyiv at 0x7f1d5e3abc80>,
‘theme’: <function theme at 0x7f1d5e3abe18>}
LOCALE_PATHS
[]
LOGGING
{‘disable_existing_loggers’: False,
‘filters’: {‘require_debug_true’: {’()’: ‘django.utils.log.RequireDebugTrue’}},
‘formatters’: {‘simple’: {‘format’: ‘%(levelname)s %(message)s’},
‘verbose’: {‘format’: '%(levelname)s %(asctime)s %(module)s ’
‘%(process)d %(thread)d %(message)s’}},
‘handlers’: {‘console’: {‘class’: ‘logging.StreamHandler’,
‘formatter’: ‘simple’,
‘level’: ‘INFO’}},
‘loggers’: {‘app.logger’: {‘handlers’: [‘console’], ‘level’: ‘INFO’},
‘apscheduler.executors.default’: {‘handlers’: [‘console’],
‘level’: ‘WARNING’},
‘django’: {‘handlers’: [‘console’],
‘level’: ‘WARNING’,
‘propagate’: True}},
‘version’: 1}
LOGGING_CONFIG
‘logging.config.dictConfig’
LOGIN_REDIRECT_URL
‘/dashboard/’
LOGIN_URL
‘/login/’
LOGOUT_REDIRECT_URL
None
MANAGERS
[]
MEDIA_ROOT
‘/webodm/app/media’
MEDIA_TMP
‘/webodm/app/media/tmp’
MEDIA_URL
‘’
MESSAGE_STORAGE
‘django.contrib.messages.storage.cookie.CookieStorage’
MESSAGE_TAGS
{40: ‘danger’}
MIDDLEWARE
[‘corsheaders.middleware.CorsMiddleware’,
‘django.middleware.security.SecurityMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘django.middleware.common.CommonMiddleware’,
‘django.middleware.csrf.CsrfViewMiddleware’,
‘django.contrib.auth.middleware.AuthenticationMiddleware’,
‘django.contrib.messages.middleware.MessageMiddleware’,
‘django.middleware.locale.LocaleMiddleware’]
MIGRATING
False
MIGRATION_MODULES
{}
MONTH_DAY_FORMAT
‘F j’
NUMBER_GROUPING
0
PASSWORD_HASHERS
'

PASSWORD_RESET_TIMEOUT_DAYS

PREPEND_WWW
False
REST_FRAMEWORK
{‘DEFAULT_AUTHENTICATION_CLASSES’: (‘rest_framework.authentication.SessionAuthentication’,
‘rest_framework.authentication.BasicAuthentication’,
‘rest_framework_jwt.authentication.JSONWebTokenAuthentication’,
‘app.api.authentication.JSONWebTokenAuthenticationQS’),
‘DEFAULT_FILTER_BACKENDS’: [‘rest_framework.filters.DjangoObjectPermissionsFilter’,
‘django_filters.rest_framework.DjangoFilterBackend’,
‘rest_framework.filters.OrderingFilter’],
‘DEFAULT_PAGINATION_CLASS’: ‘rest_framework.pagination.PageNumberPagination’,
‘DEFAULT_PERMISSION_CLASSES’: [‘rest_framework.permissions.DjangoObjectPermissions’],
‘PAGE_SIZE’: 10}
ROOT_URLCONF
‘webodm.urls’
SECRET_KEY
'

SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
False
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
[email protected]
SESSION_CACHE_ALIAS
‘default’
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
‘sessionid’
SESSION_COOKIE_PATH
‘/’
SESSION_COOKIE_SAMESITE
‘Lax’
SESSION_COOKIE_SECURE
False
SESSION_ENGINE
‘django.contrib.sessions.backends.db’
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
‘django.contrib.sessions.serializers.JSONSerializer’
SETTINGS_MODULE
‘webodm.settings’
SHORT_DATETIME_FORMAT
‘m/d/Y P’
SHORT_DATE_FORMAT
‘m/d/Y’
SIGNING_BACKEND
‘django.core.signing.TimestampSigner’
SILENCED_SYSTEM_CHECKS
[]
STATICFILES_DIRS
[’/webodm/app/static’]
STATICFILES_FINDERS
[‘django.contrib.staticfiles.finders.FileSystemFinder’,
‘django.contrib.staticfiles.finders.AppDirectoriesFinder’,
‘compressor.finders.CompressorFinder’]
STATICFILES_STORAGE
‘django.contrib.staticfiles.storage.StaticFilesStorage’
STATIC_ROOT
‘/webodm/build/static’
STATIC_URL
‘/static/’
TEMPLATES
[{‘APP_DIRS’: True,
‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’,
‘DIRS’: [’/webodm/app/templates’, ‘/webodm/app/templates/app’, ‘/webodm’],
‘OPTIONS’: {‘context_processors’: [‘django.template.context_processors.debug’,
‘django.template.context_processors.request’,
‘django.contrib.auth.context_processors.auth’,
‘django.contrib.messages.context_processors.messages’,
‘app.contexts.settings.load’]}}]
TESTING
False
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
‘django.test.runner.DiscoverRunner’
THOUSAND_SEPARATOR
‘,’
TIME_FORMAT
‘P’
TIME_INPUT_FORMATS
[’%H:%M:%S’, ‘%H:%M:%S.%f’, ‘%H:%M’]
TIME_ZONE
‘America/Los_Angeles’
USE_I18N
True
USE_L10N
True
USE_THOUSAND_SEPARATOR
False
USE_TZ
True
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
VERSION
‘0.8.1’
WEBPACK_LOADER
{‘DEFAULT’: {‘BUNDLE_DIR_NAME’: ‘app/bundles/’,
‘STATS_FILE’: ‘/webodm/webpack-stats.json’}}
WORKER_RUNNING
False
WSGI_APPLICATION
‘webodm.wsgi.application’
X_FRAME_OPTIONS
‘SAMEORIGIN’
YEAR_MONTH_FORMAT
‘F Y’

Hey @kconley :hand: for some reason it looks like the database migrations did not run. Make sure that the PostgreSQL database is running via:

sudo systemctl status postgresql

It should indicate “Status: Running”.

Then run the following:

cd /webodm
sudo su odm
git pull origin master
source python3-venv/bin/activate
npm install
pip install -r requirements.txt
webpack --mode production
python manage.py collectstatic --noinput
python manage.py migrate
1 Like

Thank you. I’ll give that a try. I’m in the middle of reinstalling, and if I run into the same issue again, I’ll try that.

Well, your commands above helped. I did a complete reinstall of everything just to make sure it wasn’t on my end and ran into the exact same issue. Perhaps there’s an issue with the install script?

I’m past that error onto a new error now:

AttributeError at /welcome/

‘NoneType’ object has no attribute ‘app_logo_favicon’

Request Method: GET
Request URL: http://192.168.111.60/welcome/
Django Version: 2.1.7
Exception Type: AttributeError
Exception Value: ‘NoneType’ object has no attribute ‘app_logo_favicon’
Exception Location: /webodm/app/templatetags/settings.py in settings_image_url, line 10
Python Executable: /webodm/python3-venv/bin/python3
Python Version: 3.5.2
Python Path: [’/webodm’, ‘/webodm/python3-venv/bin’, ‘/webodm/python3-venv/lib/python35.zip’, ‘/webodm/python3-venv/lib/python3.5’, ‘/webodm/python3-venv/lib/python3.5/plat-x86_64-linux-gnu’, ‘/webodm/python3-venv/lib/python3.5/lib-dynload’, ‘/usr/lib/python3.5’, ‘/usr/lib/python3.5/plat-x86_64-linux-gnu’, ‘/webodm/python3-venv/lib/python3.5/site-packages’, ‘/webodm’]
Server time: Thu, 14 Mar 2019 20:04:26 -0700

Error during template rendering

In template /webodm/app/templates/app/base.html , error at line 10


There was much more, but out of curiosity, I ran the /webodm/start.sh script as odm user and it’s working… Will it persist at the next reboot?

Should the setup process have added localhost as a processing node? Once I made my user account, I went to Dashboard and it’s requesting a processing node. The install manual pdf file that came with the installer doesn’t address any of that.

It should have created a local node, yes.

If it didn’t get added manually, you can also add it manually from the WebODM interface by adding:

Hostname: localhost
Port: 3000
Token: (leave empty)

It’s really odd that you’re experiencing these issues. I don’t discount a problem with the installer, perhaps there’s some timing problem. Could you share the specs of your machine?

Good morning @pierotofy,

Since I’m at work now, I’ve taken a moment to create a virtual machine and see if I can’t get this going. Unfortunately, I’ve been able to reproduce all the same issues as before.

Steps:

  1. Install Ubuntu 16.04, base install, openssh server only.
  2. Transfer the webodm_install.sh script & run it.
  3. Open a web browser and point it to the IP Address of the server it’s installed on.
    I got the exact same error as in the very beginning of this thread.
  4. I ran the commands you provided in your response above. This resulted in getting to the Welcome page, but with an error dump: http://dpaste.com/3WZ8XEV

On my server at home, I ran the /webodm/start.sh script and had it working briefly but I wasn’t sure if it would persist, so to test, I rebooted the server. It didn’t persist. Instead, Nginx would not start, along with the 3 other services that have Nginx as a dependency: webodm-gunicorn, webodm-celery, webodm-celerybeat. The error it was calling out was that Nginx was unable to write to the pid file. I was able to change the /webodm/nginx/nginx.conf and point the pid file to /run/nginx.pid and the log files to /var/log/nginx.error.log (away from /tmp/ since there were no visible logs for me to look at in /tmp.) Admittedly, I’m an Apache user, I don’t have much experience with Nginx, other than trying to figure out how it’s pronounced. The home server current status is that Nginx is finally running but I’m getting a 502, bad gateway error.

2019/03/15 09:37:26 [crit] 9399#9399: *4 connect() to unix:/tmp/gunicorn.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.111.168, server: localhost, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:/tmp/gunicorn.sock:/favicon.ico", host: "192.168.111.60:8000", referrer: "http://192.168.111.60:8000/"

If all this is because it can’t find a favicon, it seems kind of silly. Anyway, I’d like to get some direction on you on what direction I should be taking. I’ve been able to reproduce the initial issue 4 times now, on two different systems. It seems to me that there’s a problem with the installer.

Thanks

The system specs are:

HP Z820 Workstation
CPU x2: Intel® Xeon® CPU E5-2630 v2 @ 2.60GHz (24 threads)
Memory: 128 GB
OS Drive: 1 TB WD Blue drive (yeah, this should be SSD)
Storage drives: 3x 4 TB WD Blue

1 Like

Thanks for the info. I’m investigating. Is this on Ubuntu 16.04 server or desktop?

Also perhaps Apache2 could be at fault. Nginx tries to bind on port 80, but if Apache is there it could fail to start.

Try running the following:

cd /webodm
sudo su odm
source python3-venv/bin/activate
echo "from app.models import Setting;Setting.objects.all().delete();" | python manage.py shell
python manage.py runserver

Then press CTRL+C. Finally reboot the services with:

  sudo service webodm-nginx restart
  sudo service webodm-gunicorn restart
  sudo service webodm-celery restart
  sudo service webodm-celerybeat restart

Apache has not been installed. Base install, the only thing installed outside of the base tools is openssh server.

Yes, Ubuntu Server 16.04.

I’ll give those commands a try.

@pierotofy My VM instance at work is working now, thanks to your assistance. It still didn’t have a processing node out of the box, I was able to add it as you described above.

I’ll give this a go once I get home to see what happens there.

Good to go on the second system. Thanks for the assistance.

1 Like

Thanks for all the information! This is definitely a problem on the installer and needs to be fixed. I will continue researching.

1 Like

Did some testing on Ubuntu 16.04 Server and the root cause was that a package (build-essential) was not installed by default (apparently it is on the desktop version), which made things fail during the install process (plus some install lines were out of order).

A new version is available from the download link found in the purchase e-mail (version 1.3.3) which should fix this problem in the future.

1 Like

Outstanding. So, just re-download the installer and it should work in the future?

Nevermind. I downloaded it and sure enough it’s the updated version. :slight_smile:

You rock, thanks for the very fast response.

1 Like