Web UI goes blank after a few seconds for self-hosted

Before submitting a topic, please confirm the following

I have read the Community board archiving section above.
I have searched for similar issues before creating this topic.
I have verified that my repository is using the Codecov GitHub app, if using GitHub
I have validated my codecov.yaml configuration file.
I have filled out the below sections to the best of my ability.
I understand that the community boards are a free, best-effort tool. While we hope to have someone on the Codecov team resolve your problem quickly, this is not always possible.

Description

I am setting up self-hosted CodeCov on EC2 machine, following instructions at Codecov Self-Hosted Install Guide. For codecov_url and codecov_api_url I use http://<public_ip>:8080. When opening http://<public_ip>:8080 in browser for a few seconds I see animated logo and then the whole page goes blank.

What should I check for errors/warning, what setting to look at?

Thanks,
Olek

CI/CD URL

NA

Codecov Output

self-hosted-worker-1     | Configuration considered invalid, using dict as it is
self-hosted-worker-1     |
self-hosted-worker-1     |   _____          _
self-hosted-worker-1     |  / ____|        | |
self-hosted-worker-1     | | |     ___   __| | ___  ___ _____   __
self-hosted-worker-1     | | |    / _ \ / _` |/ _ \/ __/ _ \ \ / /
self-hosted-worker-1     | | |___| (_) | (_| |  __/ (_| (_) \ V /
self-hosted-worker-1     |  \_____\___/ \__,_|\___|\___\___/ \_/
self-hosted-worker-1     |                               v5.0.1-465eee8
self-hosted-worker-1     |
self-hosted-worker-1     |
self-hosted-worker-1     | {"message": "External dependencies folder configured to ./external_deps", "asctime": "2023-09-11 16:21:37,760", "name": "__main__", "levelname": "INFO", "lineno": 52, "pathname": "enterprise.py", "funcName": "setup_worker", "threadName": "MainThread", "task_name": "???", "task_id": "???", "logger.name": "__main__", "logger.thread_name": "MainThread", "level": "INFO"}
self-hosted-worker-1     | {"message": "Initializing singleton storage service", "asctime": "2023-09-11 16:21:37,760", "name": "services.storage", "levelname": "INFO", "lineno": 18, "pathname": "services/storage.py", "funcName": "_cached_get_storage_client", "threadName": "MainThread", "task_name": "???", "task_id": "???", "logger.name": "services.storage", "logger.thread_name": "MainThread", "level": "INFO"}
self-hosted-worker-1     | {"message": "Initialized celery logging", "asctime": "2023-09-11 16:21:38,568", "name": "celery_config", "levelname": "INFO", "lineno": 39, "pathname": "celery_config.py", "funcName": "initialize_logging", "threadName": "MainThread", "task_name": "???", "task_id": "???", "logger.name": "celery_config", "logger.thread_name": "MainThread", "level": "INFO"}
self-hosted-worker-1     |
self-hosted-worker-1     |  -------------- celery@7529a6e45dad v5.2.3 (dawn-chorus)
self-hosted-worker-1     | --- ***** -----
self-hosted-worker-1     | -- ******* ---- Linux-6.1.49-69.116.amzn2023.x86_64-x86_64-with 2023-09-11 16:21:38
self-hosted-worker-1     | - *** --- * ---
self-hosted-worker-1     | - ** ---------- [config]
self-hosted-worker-1     | - ** ---------- .> app:         tasks:0x7f1f75f20070
self-hosted-worker-1     | - ** ---------- .> transport:   redis://redis:6379//
self-hosted-worker-1     | - ** ---------- .> results:     redis://redis:6379/
self-hosted-worker-1     | - *** --- * --- .> concurrency: 2 (prefork)
self-hosted-worker-1     | -- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
self-hosted-worker-1     | --- ***** -----
self-hosted-worker-1     |  -------------- [queues]
self-hosted-worker-1     |                 .> celery           exchange=celery(direct) key=celery
self-hosted-worker-1     |                 .> enterprise_celery exchange=enterprise_celery(direct) key=enterprise_celery
self-hosted-worker-1     |                 .> healthcheck      exchange=healthcheck(direct) key=healthcheck
self-hosted-worker-1     |
self-hosted-worker-1     | [tasks]
self-hosted-worker-1     |   . app.cron.daily.GitHubAppWebhooksCheckTask
self-hosted-worker-1     |   . app.cron.daily.PlanManagerTask
self-hosted-worker-1     |   . app.cron.healthcheck.HealthCheckTask
self-hosted-worker-1     |   . app.cron.hourly_check.HourlyCheckTask
self-hosted-worker-1     |   . app.cron.profiling.findinguncollected
self-hosted-worker-1     |   . app.tasks.add_to_sendgrid_list.AddToSendgridList
self-hosted-worker-1     |   . app.tasks.commit_update.CommitUpdate
self-hosted-worker-1     |   . app.tasks.compute_comparison.ComputeComparison
self-hosted-worker-1     |   . app.tasks.delete_owner.DeleteOwner
self-hosted-worker-1     |   . app.tasks.flush_repo.FlushRepo
self-hosted-worker-1     |   . app.tasks.http_request.HTTPRequest
self-hosted-worker-1     |   . app.tasks.label_analysis.process_request
self-hosted-worker-1     |   . app.tasks.mutation_test.upload
self-hosted-worker-1     |   . app.tasks.new_user_activated.NewUserActivated
self-hosted-worker-1     |   . app.tasks.notify.Notify
self-hosted-worker-1     |   . app.tasks.profiling.collection
self-hosted-worker-1     |   . app.tasks.profiling.normalizer
self-hosted-worker-1     |   . app.tasks.profiling.summarization
self-hosted-worker-1     |   . app.tasks.pulls.Sync
self-hosted-worker-1     |   . app.tasks.reports.save_report_results
self-hosted-worker-1     |   . app.tasks.static_analysis.check_suite
self-hosted-worker-1     |   . app.tasks.status.SetError
self-hosted-worker-1     |   . app.tasks.status.SetPending
self-hosted-worker-1     |   . app.tasks.sync_plans.SyncPlans
self-hosted-worker-1     |   . app.tasks.sync_repos.SyncRepos
self-hosted-worker-1     |   . app.tasks.sync_teams.SyncTeams
self-hosted-worker-1     |   . app.tasks.timeseries.backfill_commits
self-hosted-worker-1     |   . app.tasks.timeseries.backfill_dataset
self-hosted-worker-1     |   . app.tasks.timeseries.delete
self-hosted-worker-1     |   . app.tasks.upload.Upload
self-hosted-worker-1     |   . app.tasks.upload.UploadFinisher
self-hosted-worker-1     |   . app.tasks.upload.UploadProcessor
self-hosted-worker-1     |   . tasks.send_email.SendEmailTask
self-hosted-worker-1     |
self-hosted-worker-1     | {"message": "Initialized cache", "asctime": "2023-09-11 16:21:38,915", "name": "celery_config", "levelname": "INFO", "lineno": 45, "pathname": "celery_config.py", "funcName": "initialize_cache", "threadName": "MainThread", "task_name": "???", "task_id": "???", "logger.name": "celery_config", "logger.thread_name": "MainThread", "level": "INFO"}
self-hosted-worker-1     | {"message": "Connected to redis://redis:6379//", "asctime": "2023-09-11 16:21:38,970", "name": "celery.worker.consumer.connection", "levelname": "INFO", "lineno": 22, "pathname": "celery/worker/consumer/connection.py", "funcName": "start", "threadName": "MainThread", "task_name": "???", "task_id": "???", "logger.name": "celery.worker.consumer.connection", "logger.thread_name": "MainThread", "level": "INFO"}
self-hosted-worker-1     | {"message": "mingle: searching for neighbors", "asctime": "2023-09-11 16:21:38,979", "name": "celery.worker.consumer.mingle", "levelname": "INFO", "lineno": 40, "pathname": "celery/worker/consumer/mingle.py", "funcName": "sync", "threadName": "MainThread", "task_name": "???", "task_id": "???", "logger.name": "celery.worker.consumer.mingle", "logger.thread_name": "MainThread", "level": "INFO"}
self-hosted-worker-1     | {"message": "Initialized cache", "asctime": "2023-09-11 16:21:39,018", "name": "celery_config", "levelname": "INFO", "lineno": 45, "pathname": "celery_config.py", "funcName": "initialize_cache", "threadName": "MainThread", "task_name": "???", "task_id": "???", "logger.name": "celery_config", "logger.thread_name": "MainThread", "level": "INFO"}
self-hosted-worker-1     | {"message": "beat: Starting...", "asctime": "2023-09-11 16:21:39,063", "name": "celery.beat", "levelname": "INFO", "lineno": 634, "pathname": "celery/beat.py", "funcName": "start", "threadName": "MainThread", "task_name": "???", "task_id": "???", "logger.name": "celery.beat", "logger.thread_name": "MainThread", "level": "INFO"}

Expected Results

I expect to see CodeCov web UI.

Actual Results

I see blank page instead.

Additional Information

NA

What’s strange whatever I set port to the URL is only opens with port 8080. Something wrong with my config?

setup:
  codecov_url: "http://<public_ip>"
  codecov_api_url: "http://<public_ip>"
  enterprise_license: "<default-string>"
  admins:
    - service: github
      username: user1
  http:
    cookie_secret: "<randon-string>"
  timeseries:
    enabled: true
github_enterprise:
  global_upload_token: "<random-string>"
services:
  redis_url: "redis://redis:6379"
  database_url: "postgres://postgres:testpassword@postgres:5432/postgres"
  timeseries_database_url: "postgres://postgres:testpassword@timescale:5432/postgres"
  minio:
    host: minio
    port: 9000

@0golovatyi I’m not very familiar with how our self-hosted side works. But 2 things to note is that generally running on https is preferred, and your configuration is lacking provider credentials

@tom How do I specify provider credentials, do have an example of self-hosted config?

Another thing I noticed is when the page is loading there are requests to localhost:8080, e.g.:

Request URL: http://localhost:8080/internal/plans
Referrer Policy: strict-origin-when-cross-origin

There’s no localhost or 8080 in my config file, where are those from?

Thanks,
Olek

@0golovatyi this is out of my wheelhouse, I would suggest that you open an issue in our feedback repo, where the support team can help you there.