Installing on Synology using Synology's reverse proxy

Hey all,

Firstly, thanks for knocking out this awesome software – can’t wait to actually stand it up and give it a rip ha.

That said, I just spent the weekend trying to get this up and running on a Synology NAS in Container manager (docker) while using Synology’s built in reverse proxy, and I’ve had… A little bit of luck, but no full success yet.

TLDR, I’m able to log in, but once I’m logged in it redirects me to {domain.com}/auth page where I can adjust my profile settings, but if I click “Menu” it brings me to a blank page.

It makes me think that I have the reverse proxy portion set up correctly, but there is perhaps some sort of deficiency with my Web App set up? I’m not exactly sure what I’m missing here. (I’m not exactly clear about the architecture of this yet honestly, so it’s a little tough to conceptualize).

Anyways, I dove into the documentation on those, but to no avail so far, so hoping someone might be able to help point me in the right direction here? I’ll attach my docker-compose.yaml and .env files for reference.

Thanks everyone!

.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.mysubdomain.synology.me
VERSION=2024.9.0

########################################################################################################################
# Database connection

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

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

# Serve Corteza webapps alongside API
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

########################################################################################################################
# Authentication

# Secret to use for JWT token
# Make sure you change it (>30 random characters) if you expose your deployment to outside traffic
AUTH_JWT_SECRET=30CharacterUniqueGeneratedString

########################################################################################################################
# SMTP (mail sending) settings
#
#SMTP_HOST=smtp.mail.me.com:587
#SMTP_USER=MyEmail@icloud.com
#SMTP_PASS=App-SpecificPasswordGeneratedFromMyiCloudPage
#SMTP_FROM='"Corteza" <GaveUpOnThisStep@IllTryItLater.com>'

docker-compose.yaml

version: '3.5'

services:
  server:
    image: cortezaproject/corteza:${VERSION}
    networks: [ internal ]
    restart: always
    env_file: [ .env ]
    depends_on: [ db ]
    volumes: [ "./data/server:/data" ]
    ports:
      - "8080:80"   # Expose container port 80 on host port 8080

  db:
    image: postgres:15
    networks: [ internal ]
    restart: always
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U corteza"]
      interval: 10s
      timeout: 5s
      retries: 5
    environment:
      POSTGRES_USER: corteza
      POSTGRES_PASSWORD: corteza

networks:
  internal: {}