Blank page on mobile after fresh Offline Deployment install

Hi, I recently followed the Offline Deployment instructions here and am seeing some strange behavior. If I access the site using my desktop PC everything works as expected. But if I use my Android phone on the same wifi I can view the login page, but after entering my credentials it’ll authenticate and then redirect to a blank page. I’ve tried Chrome and Firefox and turned off all browser extensions without effect.

Debug logs from both login attempts are below (I removed any identifying info). I have it running behind NGINX so I included the relevant install files as well. Any help figuring out this issue would be greatly appreciated!

Debug output during successful login on desktop PC

server_1  | 15:43:51.808        DEBUG   actionlog       successfully authenticated with password        {"timestamp": "15:43:51.808", "requestOrigin": "auth", "requestID": "9b608fb02cd8/eIJdu9zwZr-000040", "actorIPAddr": "XX.XX.XX.XX", "actorID": 351649626987712515, "resource": "system:auth", "action": "authenticate", "severity": 5, "error": "", "description": "successfully authenticated with password", "policy-match": true, "meta": {"credentials.ID":"351649627155484675","credentials.kind":"password","email":"myemail@myurl.com"}}
server_1  | 15:43:51.853        DEBUG   redirect URI check for client is disabled (empty validation list)       {"sent": "https://corteza.myserverurl.com/auth/callback"}
server_1  | 15:43:52.103        DEBUG   redirect URI check for client is disabled (empty validation list)       {"sent": "https://corteza.myserverurl.com/auth/callback"}
server_1  | 15:43:52.118        DEBUG   actionlog       looked-up for a Admin   {"timestamp": "15:43:52.115", "requestOrigin": "auth", "requestID": "9b608fb02cd8/eIJdu9zwZr-000045", "actorIPAddr": "XX.XX.XX.XX", "actorID": 351649440358027267, "resource": "system:user", "action": "lookup", "severity": 6, "error": "", "description": "looked-up for a Admin", "policy-match": true, "meta": {"user.ID":"351649626987712515","user.email":"myemail@myurl.com","user.handle":"Admin","user.name":"Admin Name"}}
server_1  | 15:43:52.431        DEBUG   actionlog       looked-up for a Admin   {"timestamp": "15:43:52.431", "requestOrigin": "auth", "requestID": "9b608fb02cd8/eIJdu9zwZr-000051", "actorIPAddr": "XX.XX.XX.XX", "actorID": 351649440358027267, "resource": "system:user", "action": "lookup", "severity": 6, "error": "", "description": "looked-up for a Admin", "policy-match": true, "meta": {"user.ID":"351649626987712515","user.email":"myemail@myurl.com","user.handle":"Admin","user.name":"Admin Name"}}
server_1  | 15:43:52.514        DEBUG   actionlog       searched for applications       {"timestamp": "15:43:52.514", "requestOrigin": "api/rest", "requestID": "9b608fb02cd8/eIJdu9zwZr-000056", "actorIPAddr": "XX.XX.XX.XX", "actorID": 351649626987712515, "resource": "system:application", "action": "search", "severity": 6, "error": "", "description": "searched for applications", "policy-match": true, "meta": {"filter.deleted":0,"filter.sort":"weight"}}

Debug output during unsuccessful login on mobile phone

server_1  | 15:43:00.799        DEBUG   actionlog       successfully authenticated with password        {"timestamp": "15:43:00.799", "requestOrigin": "auth", "requestID": "9b608fb02cd8/eIJdu9zwZr-000017", "actorIPAddr": "XX.XX.XX.XX", "actorID": 351649626987712515, "resource": "system:auth", "action": "authenticate", "severity": 5, "error": "", "description": "successfully authenticated with password", "policy-match": true, "meta": {"credentials.ID":"351649627155484675","credentials.kind":"password","email":"myemail@myurl.com"}}
server_1  | 15:43:00.979        DEBUG   redirect URI check for client is disabled (empty validation list)       {"sent": "https://corteza.myserverurl.com/auth/callback"}

Corteza docker-compose.yml

version: '3.5'

services:
  server:
    image: cortezaproject/corteza:${VERSION}
    restart: unless-stopped
    env_file: [ .env ]
    depends_on: [ db ]
    ports: [ "172.17.0.1:14000:80" ]

  db:
    image: postgres:13
    restart: unless-stopped
    healthcheck: { test: ["CMD-SHELL", "pg_isready -U corteza"], interval: 10s, timeout: 5s, retries: 5 }
    volumes:
      - "/opt/docker/corteza/dbdata:/var/lib/postgresql/data"
    environment:
      POSTGRES_USER:     corteza
      POSTGRES_PASSWORD: corteza

volumes:
  dbdata:

Corteza .env

########################################################################################################################
# docker-compose supports environment variable interpolation/substitution in compose configuration file
# (more info: https://docs.docker.com/compose/environment-variables)

########################################################################################################################
# General settings
DOMAIN=corteza.myserverurl.com
VERSION=2022.9

########################################################################################################################
# Database connection
DB_DSN=postgres://corteza:corteza@db:5432/corteza?sslmode=disable

########################################################################################################################
# Server settings

# Running all-in-one and serving web applications directly from server container
HTTP_WEBAPP_ENABLED=true

# Send action log to container logs as well
ACTIONLOG_DEBUG=true

# Uncomment for extra debug info if something goes wrong
LOG_LEVEL=debug

# Use nicer and colorful log instead of JSON
LOG_DEBUG=true

########################################################################################################################
# SMTP (mail sending) settings

# Point this to your local or external SMTP server if you want to send emails.
# In most cases, Corteza can detect that SMTP is disabled and skips over sending emails without an error
#SMTP_HOST=smtp-server.example.tld:587
#SMTP_USER=postmaster@smtp-server.example.tld
#SMTP_PASS=this-is-your-smtp-password
#SMTP_FROM='"Demo" <info@your-demo.example.tld>'

NGINX proxy-confs

server {
    listen 80;
    server_name corteza.myserverurl.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name corteza.myserverurl.com;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    location / {
        include /config/nginx/proxy.conf;
        proxy_pass 				http://172.17.0.1:14000/;
    }
}

Looks like I didn’t do enough searching before, as this thread explains the issue and solution. No idea why it would work on my desktop browser originally, but everything’s working now.

1 Like