Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] Linuxserver.io - Netbox

Featured Replies

For me, I found that my netbox configuration.py file was not being properly updated with the variables passed.  To take a look, console in to your netbox container, and view /app/netbox/netbox/netbox/configuration.py.  I simply edited that file directly, saved, and then restarted the docker container.

  • Replies 57
  • Views 32.3k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • I looked up my installation notes... not sure if this is helpful, but these are the steps I used to get netbox up and running:   First install Postgres11 docker container, enter POSTGRES_PAS

  • You need both a redis and a database container.

  • I think the overall problem is the template is based off the Linuxserver.io github repo which has all those parameters as required. I filed this issue on the matter to get the readme updated.  

Posted Images

I looked up my installation notes... not sure if this is helpful, but these are the steps I used to get netbox up and running:

 

First install Postgres11 docker container, enter POSTGRES_PASSWORD, keep other default values 

 

Console in to postgres container 

 

su postgres 

psql 

 

CREATE DATABASE netbox; 

\l to verify it was created 

 

GRANT ALL PRIVILEGES ON DATABASE netbox TO postgres; 

\l to verify permissions 

 

\q and exit console. 

 

Next install Redis container, keep default values. 

 

Next install netbox container, username for admin account, admin. specify admin password.  allowed host *.  database name netbox. Database user postgres. Database password. Database host <<unraid IP>>. database port 5432.  redis host <<unraid IP>>.  leave all other values as defaults.

 

Netbox container will start, but with errors. 

 

Bring up log of netbox console from docker tab in unraid interface... I saw errors related to deprecated usage of DEFAULT_TIMEOUT for redis server 

 

Console in to the netbox container 

 

cd into /app/netbox/netbox/netbox and edit the configuration.py file 

 

Change all values (should be two of them)  of DEFAULT_TIMEOUT to RQ_DEFAULT_TIMEOUT 

 

Save file, exit console, and then restart container from the docker tab in unraid 

 

Console in again to netbox container, run the following commands 

 

cd /app/netbox/netbox 

python3 ./manage.py createsuperuser 

 

Open the the webGUI for netbox from the docker tab in unraid 

 

Log in as admin 

Edited by DarkHorse

On 11/7/2020 at 12:51 PM, DarkHorse said:

For me, I found that my netbox configuration.py file was not being properly updated with the variables passed.  To take a look, console in to your netbox container, and view /app/netbox/netbox/netbox/configuration.py.  I simply edited that file directly, saved, and then restarted the docker container.

The config looked good on my end with my latest changes. But something escaped me and I noticed about it only later...more after the next quote.

On 11/7/2020 at 1:57 PM, DarkHorse said:

Console in to the netbox container 

 

cd into /app/netbox/netbox/netbox and edit the configuration.py file 

 

Change all values (should be two of them)  of DEFAULT_TIMEOUT to RQ_DEFAULT_TIMEOUT 

 

Save file, exit console, and then restart container from the docker tab in unraid 

 

Console in again to netbox container, run the following commands 

 

cd /app/netbox/netbox 

python3 ./manage.py createsuperuser 

 

Open the the webGUI for netbox from the docker tab in unraid 

 

Log in as admin

With your steps, I've been able to figure a few things I forgot about when trying to run this.
Database names are always in lowercase. Dunno why I wrote it in uppercase. Creating the database reminded me of this after the database was listed as « netbox » even though I supplied « Netbox ». Oops. That resolved the Python exceptions I was getting.

After that, I was still getting the 400 HTTP error. At this point, I was thinking maybe it was borked and so, I removed the container and repulled it with all the right environment variables.

Once that was done, I basically only had to correct the deprecated Redis command and I was greeted with Netbox' web panel! (Hooray!)

 

I'll check if there's a way I can contribute to the container for correcting the deprecated Redis command and the database name that could be automatically converted in lowercase before being written to the config. Just in case another noob like me does that mistake too. Especially since the library/postgre container does that by itself already (so, the noob me never noticed he had put capitalized letters upon runtime because hey, everything's fine on the database's creation part still).

 

Anyway, thank you lots for these helpful details!

Edited by campfred
Forgot to add a very important thank you. Sorry!

  • 6 months later...

For anyone else having any issues with an error of

"invalid http request size max 4096 skip"

Drove me mad, but turns out you simply cant access this using an ip address, it must have a domain. easy fix i guess would be to chuck your server ip in as a dns record on your router and just navigate to servername:port
 

Edited by fwark

  • 1 month later...

Anyone willing to walk me through how to get this going properly?  Took me a minute to figure out that this had some pre-reqs, but wasn't mentioned on the template until you install. 

 

Any particular postgres or redis installations recommended?  Just want to get up and running quickly.

  • 1 month later...

I'm getting "Bad Request (400)" and have this error in the log. Unless I completely missed it, I couldn't find an answer to the FATAL hook failed error.

 

240 static files copied to '/app/netbox/netbox/static'.
running "exec:/usr/bin/python3 ./manage.py remove_stale_contenttypes --no-input" (pre app)...
/app/netbox/netbox/netbox/settings.py:50: UserWarning: The CACHE_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
/app/netbox/netbox/netbox/settings.py:54: UserWarning: The RELEASE_CHECK_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
running "exec:/usr/bin/python3 ./manage.py clearsessions" (pre app)...
/app/netbox/netbox/netbox/settings.py:50: UserWarning: The CACHE_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
/app/netbox/netbox/netbox/settings.py:54: UserWarning: The RELEASE_CHECK_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
running "exec:/usr/bin/python3 ./manage.py invalidate all" (pre app)...
/app/netbox/netbox/netbox/settings.py:50: UserWarning: The CACHE_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
/app/netbox/netbox/netbox/settings.py:54: UserWarning: The RELEASE_CHECK_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
Unknown command: 'invalidate'
Type 'manage.py help' for usage.
command "/usr/bin/python3 ./manage.py invalidate all" exited with non-zero code: 1
Sun Sep 12 21:53:10 2021 - FATAL hook failed, destroying instance

 

I have postgres11 and redis installed using their own IPs with the netbox container configured to point to those. Any ideas?

 

  • 3 months later...
On 9/12/2021 at 8:58 PM, jburgon said:

I'm getting "Bad Request (400)" and have this error in the log. Unless I completely missed it, I couldn't find an answer to the FATAL hook failed error.

 

240 static files copied to '/app/netbox/netbox/static'.
running "exec:/usr/bin/python3 ./manage.py remove_stale_contenttypes --no-input" (pre app)...
/app/netbox/netbox/netbox/settings.py:50: UserWarning: The CACHE_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
/app/netbox/netbox/netbox/settings.py:54: UserWarning: The RELEASE_CHECK_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
running "exec:/usr/bin/python3 ./manage.py clearsessions" (pre app)...
/app/netbox/netbox/netbox/settings.py:50: UserWarning: The CACHE_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
/app/netbox/netbox/netbox/settings.py:54: UserWarning: The RELEASE_CHECK_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
running "exec:/usr/bin/python3 ./manage.py invalidate all" (pre app)...
/app/netbox/netbox/netbox/settings.py:50: UserWarning: The CACHE_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
/app/netbox/netbox/netbox/settings.py:54: UserWarning: The RELEASE_CHECK_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
Unknown command: 'invalidate'
Type 'manage.py help' for usage.
command "/usr/bin/python3 ./manage.py invalidate all" exited with non-zero code: 1
Sun Sep 12 21:53:10 2021 - FATAL hook failed, destroying instance

 

I have postgres11 and redis installed using their own IPs with the netbox container configured to point to those. Any ideas?

 

 

Same issue for me: It used to work fine.

 

Python version: 3.9.7 (default, Nov 24 2021, 21:15:59) [GCC 10.3.1 20211027]
Python main interpreter initialized at 0x14ca7d482bf0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 145840 bytes (142 KB) for 1 cores
*** Operational MODE: single process ***
running "exec:/usr/bin/python3 ./manage.py collectstatic --noinput" (pre app)...
/app/netbox/netbox/netbox/settings.py:57: UserWarning: The CACHE_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
/app/netbox/netbox/netbox/settings.py:61: UserWarning: The RELEASE_CHECK_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(

0 static files copied to '/app/netbox/netbox/static', 240 unmodified.
running "exec:/usr/bin/python3 ./manage.py remove_stale_contenttypes --no-input" (pre app)...
/app/netbox/netbox/netbox/settings.py:57: UserWarning: The CACHE_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
/app/netbox/netbox/netbox/settings.py:61: UserWarning: The RELEASE_CHECK_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(

0 static files copied to '/app/netbox/netbox/static', 240 unmodified.
running "exec:/usr/bin/python3 ./manage.py remove_stale_contenttypes --no-input" (pre app)...
/app/netbox/netbox/netbox/settings.py:57: UserWarning: The CACHE_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
/app/netbox/netbox/netbox/settings.py:61: UserWarning: The RELEASE_CHECK_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
running "exec:/usr/bin/python3 ./manage.py clearsessions" (pre app)...
/app/netbox/netbox/netbox/settings.py:57: UserWarning: The CACHE_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
/app/netbox/netbox/netbox/settings.py:61: UserWarning: The RELEASE_CHECK_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
running "exec:/usr/bin/python3 ./manage.py invalidate all" (pre app)...
/app/netbox/netbox/netbox/settings.py:57: UserWarning: The CACHE_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
/app/netbox/netbox/netbox/settings.py:61: UserWarning: The RELEASE_CHECK_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
Unknown command: 'invalidate'
Type 'manage.py help' for usage.
command "/usr/bin/python3 ./manage.py invalidate all" exited with non-zero code: 1
Wed Dec 15 14:52:40 2021 - FATAL hook failed, destroying instance
SIGINT/SIGQUIT received...killing workers...
/app/netbox/netbox/./netbox/settings.py:57: UserWarning: The CACHE_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
/app/netbox/netbox/./netbox/settings.py:61: UserWarning: The RELEASE_CHECK_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x14ca7d482bf0 pid: 295 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 295)
spawned uWSGI worker 1 (pid: 314, cores: 1)
[uwsgi-daemons] spawning "/usr/bin/python3 ./manage.py rqworker" (uid: 99 gid: 100)
/app/netbox/netbox/netbox/settings.py:57: UserWarning: The CACHE_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(
/app/netbox/netbox/netbox/settings.py:61: UserWarning: The RELEASE_CHECK_TIMEOUT configuration parameter was removed in v3.0.0 and no longer has any effect.
warnings.warn(

 

Edited by TheBrian

  • 3 weeks later...

I'm fairly upset about this container.   


It should not be like pulling teeth.  Instructions should be clear on the Unraid app page.   It does not specify that one has to install a redis container and postgress database container.   


Not everyone has the knowledge to instantly know this.  ... throw the unraid community a bone.  

Sure, a better overview could have been included (and in the read me first) but an additional tag and flag for Apps has recently been introduced to explicitly state additional requirements but until the release of Unraid 6.10 stable it won't wind up being utilized commonly.

 

But I'm adding it manually to highlight that you need Redis and PostGres installed

  • 4 months later...

Hey, first of all thank you for providing this great container.


With a little bit of tinkering and trail & error i got netbox to run and i love it.

 

But there is one little thing that isn working, its the offline documentation.
When i try to open the documentation i get "/static/docs/ The request page does not exist".

I checked the path inside the container and that folder does exist.

I tried changing the BASE_PATH variable but to no avail.

 

Any ideas?

  • 3 months later...

This unraid template should be revised, as well as the configuration.py default file. 

 

Noticed issues : 

  • When initializing the container for the first time, there is an error l. 246 in configuration.py. A "}" at the end of the line is causing an error. It conflicts with REMOTE_AUTH_DEFAULT_PERMISSIONS default value, this character should not be already there. 
  • Most default values for Environment Variables are incorrectly set. Currently, variables values are set to be the ENV variable name by default, which is causing a lot of errors during initialization. Indeed, since configuration.py is written when the container is started for the first time, having wrong values does not prevent the container to start and result in a config file with many errors, which has to be corrected later on. Instead, ENV var that are required to be set by user should be empty to prevent the container to start if not set. According to https://docs.linuxserver.io/images/docker-netbox, default values should be set as follow : 
    • SUPERUSER_EMAIL* : SUPERUSER_EMAIL 'empty'
    • SUPERUSER_PASSWORD*: SUPERUSER_PASSWORD 'empty'

    • ALLOWED_HOST*: ALLOWED_HOST 'empty'

    • DB_NAME*: DB_NAME netbox

    • DB_USER*: DB_USER 'empty'

    • DB_PASSWORD* DB_PASSWORD 'empty'

    • DB_HOST*: DB_HOST postgres

    • DB_PORT*: DB_PORT 5432

    • REDIS_HOST*: REDIS_HOST redis

    • REDIS_PORT*: REDIS_PORT 6379

    • REDIS_PASSWORD: REDIS_PASSWORD 'empty'

    • REDIS_DB_TASK*: REDIS_DB_TASK 0

    • REDIS_DB_CACHE*: REDIS_DB_CACHE 1

    • BASE_PATH: BASE_PATH 'empty'

    • REMOTE_AUTH_ENABLED: REMOTE_AUTH_ENABLED False

    • REMOTE_AUTH_BACKEND: REMOTE_AUTH_BACKEND netbox.authentication.RemoteUserBackend

    • REMOTE_AUTH_HEADER: REMOTE_AUTH_HEADER HTTP_REMOTE_USER

    • REMOTE_AUTH_AUTO_CREATE_USER: REMOTE_AUTH_AUTO_CREATE_USER False

    • REMOTE_AUTH_DEFAULT_GROUPS: REMOTE_AUTH_DEFAULT_GROUPS []

    • REMOTE_AUTH_DEFAULT_PERMISSIONS: REMOTE_AUTH_DEFAULT_PERMISSIONS {}

  • Currently, REDIS_PASSWORD ENV var is 'required' in the template. It should not, since it is optionnal.

 

As a general concern, changes in the UI does not reflect on the configuration file, since it is only written the first time the container start. Isn't there a way to pass Environnement variable to the config after it has been created ?

Edited by potjoe
typo

  • 10 months later...

It doesn't seem like this docker has gotten much love. I attempted to get this working last year and couldn't but was able to get through it this time around. One of the most common error was 400 bad gateway. Since I was using NGINXProxyManager, i knew it was the problem since I could access it via IP after adding my UnRaid's box's ip was placed in the CORS whitelist and for INTERNAL_IPS variable.

 

For those that are running into 400 bad gateway errors and using NGINXReverseProxy- you must also designate in the /config/configuration.py, ~ Line 157/299, regarding HTTP_PROXIES so that it reflects your NGINX reverse proxies' IP & Ports, e.g.:

# HTTP proxies NetBox should use when sending outbound HTTP requests (e.g. for webhooks).
HTTP_PROXIES = {
#     'http': 'http://10.10.1.10:3128',
#     'https': 'http://10.10.1.10:1080',
   'http': 'x.x.x.x:8080',
   'https': 'x.x.x.x:8443',       
} 

 

You'll also want to put in your UnRaid box's internal IP under the

 

INTERNAL_IPS = ('127.0.0.1', '::1', 'x.x.x.x')

 

  • 6 months later...

After some attempts got mine working, here are the steps I did to make it work:

 

  1. Install Redis from jj9987 maintainer.
  2. Install PostgreSQL15 from jj9987 maintainer
  3. Install netbox from linuxserver maintainer, carefully fill out the redis and postgresql required information
  4. If you see on netbox logs error below, stop netbox container.

 

ERR AUTH <password> called without any password configured for the default user. Are you sure your configuration is correct?

 

    5. Edit the /appdata/logs/netbox/configuration.py and add a sharp to  #'PASSWORD': 'none' on redis configs.

    6. Remove the REDIS PASSWORD variable from the netbox container

 

Obs: If any configuration is needed on netbox container, stop the container, edit on the configuration.py first and then edit the config on container.

 

As mentioned here, the container configuration is not being updated correctly to configuratin.py.

 

Edited by dgaglioni

  • 4 months later...
On 8/24/2022 at 7:38 AM, potjoe said:

This unraid template should be revised, as well as the configuration.py default file. 

 

Noticed issues : 

  • When initializing the container for the first time, there is an error l. 246 in configuration.py. A "}" at the end of the line is causing an error. It conflicts with REMOTE_AUTH_DEFAULT_PERMISSIONS default value, this character should not be already there. 
  • Most default values for Environment Variables are incorrectly set. Currently, variables values are set to be the ENV variable name by default, which is causing a lot of errors during initialization. Indeed, since configuration.py is written when the container is started for the first time, having wrong values does not prevent the container to start and result in a config file with many errors, which has to be corrected later on. Instead, ENV var that are required to be set by user should be empty to prevent the container to start if not set. According to https://docs.linuxserver.io/images/docker-netbox, default values should be set as follow : 
    • SUPERUSER_EMAIL* : SUPERUSER_EMAIL 'empty'
    • SUPERUSER_PASSWORD*: SUPERUSER_PASSWORD 'empty'

    • ALLOWED_HOST*: ALLOWED_HOST 'empty'

    • DB_NAME*: DB_NAME netbox

    • DB_USER*: DB_USER 'empty'

    • DB_PASSWORD* DB_PASSWORD 'empty'

    • DB_HOST*: DB_HOST postgres

    • DB_PORT*: DB_PORT 5432

    • REDIS_HOST*: REDIS_HOST redis

    • REDIS_PORT*: REDIS_PORT 6379

    • REDIS_PASSWORD: REDIS_PASSWORD 'empty'

    • REDIS_DB_TASK*: REDIS_DB_TASK 0

    • REDIS_DB_CACHE*: REDIS_DB_CACHE 1

    • BASE_PATH: BASE_PATH 'empty'

    • REMOTE_AUTH_ENABLED: REMOTE_AUTH_ENABLED False

    • REMOTE_AUTH_BACKEND: REMOTE_AUTH_BACKEND netbox.authentication.RemoteUserBackend

    • REMOTE_AUTH_HEADER: REMOTE_AUTH_HEADER HTTP_REMOTE_USER

    • REMOTE_AUTH_AUTO_CREATE_USER: REMOTE_AUTH_AUTO_CREATE_USER False

    • REMOTE_AUTH_DEFAULT_GROUPS: REMOTE_AUTH_DEFAULT_GROUPS []

    • REMOTE_AUTH_DEFAULT_PERMISSIONS: REMOTE_AUTH_DEFAULT_PERMISSIONS {}

  • Currently, REDIS_PASSWORD ENV var is 'required' in the template. It should not, since it is optionnal.

 

As a general concern, changes in the UI does not reflect on the configuration file, since it is only written the first time the container start. Isn't there a way to pass Environnement variable to the config after it has been created ?

 

I think the overall problem is the template is based off the Linuxserver.io github repo which has all those parameters as required. I filed this issue on the matter to get the readme updated.

 

 

 

On 7/2/2023 at 10:13 PM, koshia said:

It doesn't seem like this docker has gotten much love. I attempted to get this working last year and couldn't but was able to get through it this time around. One of the most common error was 400 bad gateway. Since I was using NGINXProxyManager, i knew it was the problem since I could access it via IP after adding my UnRaid's box's ip was placed in the CORS whitelist and for INTERNAL_IPS variable.

 

For those that are running into 400 bad gateway errors and using NGINXReverseProxy- you must also designate in the /config/configuration.py, ~ Line 157/299, regarding HTTP_PROXIES so that it reflects your NGINX reverse proxies' IP & Ports, e.g.:

# HTTP proxies NetBox should use when sending outbound HTTP requests (e.g. for webhooks).
HTTP_PROXIES = {
#     'http': 'http://10.10.1.10:3128',
#     'https': 'http://10.10.1.10:1080',
   'http': 'x.x.x.x:8080',
   'https': 'x.x.x.x:8443',       
} 

 

You'll also want to put in your UnRaid box's internal IP under the

 

INTERNAL_IPS = ('127.0.0.1', '::1', 'x.x.x.x')

 

@koshia I'm using Nginx-Proxy-Manager-Official and don't have this issue.

 

# HTTP proxies NetBox should use when sending outbound HTTP requests (e.g. for webhooks).
# HTTP_PROXIES = {
#     'http': 'http://10.10.1.10:3128',
#     'https': 'http://10.10.1.10:1080',
# }

# IP addresses recognized as internal to the system. The debugging toolbar will be available only to clients accessing
# NetBox from an internal IP.
INTERNAL_IPS = ('127.0.0.1', '::1')

 

The only part of my config I have anything referenced for access is the ALLOWED_HOSTS which just has my internal URL allowed:

ALLOWED_HOSTS = ['<subdomain>.<domain>.<tld>']

 

 

 

On 1/7/2024 at 9:25 PM, dgaglioni said:

After some attempts got mine working, here are the steps I did to make it work:

 

  1. Install Redis from jj9987 maintainer.
  2. Install PostgreSQL15 from jj9987 maintainer
  3. Install netbox from linuxserver maintainer, carefully fill out the redis and postgresql required information
  4. If you see on netbox logs error below, stop netbox container.

 

ERR AUTH <password> called without any password configured for the default user. Are you sure your configuration is correct?

 

    5. Edit the /appdata/logs/netbox/configuration.py and add a sharp to  #'PASSWORD': 'none' on redis configs.

    6. Remove the REDIS PASSWORD variable from the netbox container

 

Obs: If any configuration is needed on netbox container, stop the container, edit on the configuration.py first and then edit the config on container.

 

As mentioned here, the container configuration is not being updated correctly to configuratin.py.

 

@dgaglioni instead of using this method you can edit the template itself. When you're deploying hit the "Advanced View" and edit the REDIS_PASSWORD variable changing Required to no. If you've already deployed the container though then yes the only way to fix it is to modify the configuration.py file

  • 11 months later...
On 6/2/2024 at 10:36 PM, enlinks said:

 

I think the overall problem is the template is based off the Linuxserver.io github repo which has all those parameters as required. I filed this issue on the matter to get the readme updated.

 

 

 

@koshia I'm using Nginx-Proxy-Manager-Official and don't have this issue.

 

# HTTP proxies NetBox should use when sending outbound HTTP requests (e.g. for webhooks).
# HTTP_PROXIES = {
#     'http': 'http://10.10.1.10:3128',
#     'https': 'http://10.10.1.10:1080',
# }

# IP addresses recognized as internal to the system. The debugging toolbar will be available only to clients accessing
# NetBox from an internal IP.
INTERNAL_IPS = ('127.0.0.1', '::1')

 

The only part of my config I have anything referenced for access is the ALLOWED_HOSTS which just has my internal URL allowed:

ALLOWED_HOSTS = ['<subdomain>.<domain>.<tld>']

 

 

 

@dgaglioni instead of using this method you can edit the template itself. When you're deploying hit the "Advanced View" and edit the REDIS_PASSWORD variable changing Required to no. If you've already deployed the container though then yes the only way to fix it is to modify the configuration.py file

Thank you! This helped me get the same issue resolved.

I'm very interested in this project. I ran into install issues with Postgresql16 and up, 15 appears to work. Also, how come there is no WebUI link off of the docker menu; instead it just offers Console option.

So I got passed the errors in the log after downgrading to Postgresql15, edited the adv. view of the docker to remove required from Redis password, and then I edited configuration.py to # the same Redis password line.

I'm still unable to get to the webUI on port 8000, but I see the startup process in the log is still ongoing with a bunch of 'Applying ipam....', 'Applying dcim....'.

Screenshot from 2025-05-18 14-35-30.png

 

Is the startup typically this long the first time?

Edited by gurulee

Now am still getting this after disabling Redis password in the docker config and as well as configuration.py.

 

In the webUI I get this:

Quote

<class 'redis.exceptions.AuthenticationError'> AUTH <password> called without any password configured for the default user. Are you sure your configuration is correct? Python version: 3.12.10 NetBox version: 4.3.1 Plugins: None installed

 

In the dockers logs I get:

Quote

redis.exceptions.AuthenticationError: AUTH <password> called without any password configured for the default user. Are you sure your configuration is correct?
Building local documentation

 

RESOLVED the above two issues: I found two separate lines in configuration.py for Redis password that need to be commented out.

 

BUT now when I try to login, I get this error:

Quote

There was a problem with your request. Please contact an administrator.

The complete exception is provided below:

<class 'ValueError'> Cannot assign "<netbox.config.Config object at 0x1480e59e2d50>": "User.config" must be a "UserConfig" instance. Python version: 3.12.10 NetBox version: 4.3.1 Plugins: None installed

If further assistance is required, please post to the NetBox discussion forum on GitHub.

 

Edited by gurulee

decided to post a compose file as this has been updated and some issues existing in making the docker work due to other settings...

Alot of gorups have gon docker compse for easier maintenance...

https://github.com/netbox-community/netbox-docker

I recomned using docker compose as there are qute a few side stacks and other worker for netbox to run on unraid...

I asume the docker compose plugin is already installed.

you cd into your appdata folder and git cloned the repo

 

cd /mnt/user/appdata/
git clone https://github.com/netbox-community/netbox-docker.git


I've updated the compose with unraids label for easier use on unraid...

This requires some pre-made folders for the dockers to be made...
Your volumes may need to be fixed as these folder need to exist before you hit compose up...

 

cd /mnt/user/appdata/netbox-docker
mkdir netbox
mkdir redis
mkdir redis-cache
mkdir postgress
cd netbox
mkdir scripts
mkdir reports
mkdir media
cd ..
chmod 777 -R *
chown nobody:users -R *


and the following Compose

(This will make a docker bridge network) I have moved the web port, redis port and Postgres port so other tack and docker should not be affect...
 

#version: "3.9"

services:
  netbox:
    image: docker.io/netboxcommunity/netbox:v4.3-3.3.0
    depends_on:
      - postgres
      - redis
      - redis-cache
    user: "unit:root"
    healthcheck:
      test: curl -f http://localhost:8080/login/ || exit 1
      start_period: 90s
      timeout: 3s
      interval: 15s
    environment:
      DB_HOST: postgres
      DB_NAME: netbox
      DB_PASSWORD: J5brHrAXFLQSif0K
      DB_USER: netbox
      REDIS_HOST: redis
      REDIS_PASSWORD: H733Kdjndks81
      REDIS_DATABASE: 0
      REDIS_CACHE_HOST: redis-cache
      REDIS_CACHE_PASSWORD: t4Ph722qJ5QHeQ1qfu36
      REDIS_CACHE_DATABASE: 1
      SECRET_KEY: 'r(m)9nLGnz$(_q3N4z1k(EFsMCjjjzx08x9VhNVcfd%6RF#r!6DE@+V5Zk2X'
      SKIP_SUPERUSER: true
      WEBHOOKS_ENABLED: true
      CORS_ORIGIN_ALLOW_ALL: true
      EMAIL_FROM: [email protected]
      EMAIL_PORT: 25
      EMAIL_SERVER: localhost
      EMAIL_USERNAME: netbox
      EMAIL_USE_SSL: false
      EMAIL_USE_TLS: false
      GRAPHQL_ENABLED: true
      HOUSEKEEPING_INTERVAL: 86400
      METRICS_ENABLED: false
    volumes:
      - ./configuration:/etc/netbox/config:z,rw
      - netbox-media-files:/opt/netbox/netbox/media
      - netbox-reports-files:/opt/netbox/netbox/reports
      - netbox-scripts-files:/opt/netbox/netbox/scripts
    networks:
      netbox:
        ipv4_address: 172.25.0.10
    ports:
      - "60080:8080"
    labels:
      net.unraid.docker.webui: "http://[IP]:[PORT:60080]"
      net.unraid.docker.icon: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/netbox-logo.png"
      folder.view: "netbox"
      net.unraid.docker.managed: "composeman"

  netbox-worker:
    image: docker.io/netboxcommunity/netbox:v4.3-3.3.0
    user: "unit:root"
    depends_on:
      - postgres
      - redis
      - redis-cache
    command:
      - /opt/netbox/venv/bin/python
      - /opt/netbox/netbox/manage.py
      - rqworker
    healthcheck:
      test: ps -aux | grep -v grep | grep -q rqworker || exit 1
      start_period: 20s
      timeout: 3s
      interval: 15s
    volumes:
      - ./configuration:/etc/netbox/config:z,rw
      - netbox-media-files:/opt/netbox/netbox/media
      - netbox-reports-files:/opt/netbox/netbox/reports
      - netbox-scripts-files:/opt/netbox/netbox/scripts
    networks:
      netbox:
        ipv4_address: 172.25.0.11
    labels:
      folder.view: "netbox"
      net.unraid.docker.icon: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/netbox-logo.png"
      net.unraid.docker.managed: "composeman"

  netbox-housekeeping:
    image: docker.io/netboxcommunity/netbox:v4.3-3.3.0
    user: "unit:root"
    depends_on:
      - postgres
      - redis
      - redis-cache
    command:
      - /opt/netbox/housekeeping.sh
    healthcheck:
      test: ps -aux | grep -v grep | grep -q housekeeping || exit 1
      start_period: 20s
      timeout: 3s
      interval: 15s
    volumes:
      - ./configuration:/etc/netbox/config:z,rw
      - netbox-media-files:/opt/netbox/netbox/media
      - netbox-reports-files:/opt/netbox/netbox/reports
      - netbox-scripts-files:/opt/netbox/netbox/scripts
    networks:
      netbox:
        ipv4_address: 172.25.0.12
    labels:
      folder.view: "netbox"
      net.unraid.docker.icon: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/netbox-logo.png"
      net.unraid.docker.managed: "composeman"

  postgres:
    image: docker.io/postgres:17-alpine
    environment:
      POSTGRES_DB: netbox
      POSTGRES_USER: netbox
      POSTGRES_PASSWORD: J5brHrAXFLQSif0K
    healthcheck:
      test: pg_isready -q -t 2 -d netbox -U netbox
      start_period: 20s
      timeout: 30s
      interval: 10s
      retries: 5
    volumes:
      - netbox-postgres-data:/var/lib/postgresql/data
    ports:
      - "5433:5432"
    networks:
      netbox:
        ipv4_address: 172.25.0.13
    labels:
      net.unraid.docker.icon: "https://raw.githubusercontent.com/sgraaf/Unraid-Docker-Templates/main/postgresql16/icon.png"
      folder.view: "netbox"
      net.unraid.docker.managed: "composeman"

  redis:
    image: docker.io/valkey/valkey:8.1-alpine
    command:
      - sh
      - -c
      - valkey-server --appendonly yes --requirepass $$REDIS_PASSWORD
    environment:
      REDIS_PASSWORD: H733Kdjndks81
    healthcheck: &redis-healthcheck
      test: '[ $$(valkey-cli --pass "$${REDIS_PASSWORD}" ping) = ''PONG'' ]'
      start_period: 5s
      timeout: 3s
      interval: 1s
      retries: 5
    volumes:
      - netbox-redis-data:/data
    ports:
      - "6380:6379"
    networks:
      netbox:
        ipv4_address: 172.25.0.14
    labels:
      net.unraid.docker.icon: "https://raw.githubusercontent.com/A75G/docker-templates/master/templates/icons/redis.png"
      folder.view: "netbox"
      net.unraid.docker.managed: "composeman"

  redis-cache:
    image: docker.io/valkey/valkey:8.1-alpine
    command:
      - sh
      - -c
      - valkey-server --requirepass $$REDIS_PASSWORD
    environment:
      REDIS_PASSWORD: t4Ph722qJ5QHeQ1qfu36
    healthcheck: *redis-healthcheck
    volumes:
      - netbox-redis-cache-data:/data
    ports:
      - "6381:6379"
    networks:
      netbox:
        ipv4_address: 172.25.0.15
    labels:
      net.unraid.docker.icon: "https://raw.githubusercontent.com/A75G/docker-templates/master/templates/icons/redis.png"
      folder.view: "netbox"
      net.unraid.docker.managed: "composeman"

volumes:
  netbox-media-files:
    driver: local
    driver_opts:
      type: none
      device: /mnt/user/appdata/netbox-docker/netbox/media
      o: bind
  netbox-reports-files:
    driver: local
    driver_opts:
      type: none
      device: /mnt/user/appdata/netbox-docker/netbox/reports
      o: bind
  netbox-scripts-files:
    driver: local
    driver_opts:
      type: none
      device: /mnt/user/appdata/netbox-docker/netbox/scripts
      o: bind
  netbox-postgres-data:
    driver: local
    driver_opts:
      type: none
      device: /mnt/user/appdata/netbox-docker/postgress
      o: bind
  netbox-redis-data:
    driver: local
    driver_opts:
      type: none
      device: /mnt/user/appdata/netbox-docker/redis
      o: bind
  netbox-redis-cache-data:
    driver: local
    driver_opts:
      type: none
      device: /mnt/user/appdata/netbox-docker/redis-cache
      o: bind

#You can docker network create your own or have compose make the docker bridge network and destorey and kill the docker briedge nuetwrok at each compose up/down...
#networks:
#  netbox:
#    external: true

networks:
  netbox:
    driver: bridge
    ipam:
      config:
        - subnet: 172.25.0.0/16  # Different subnet from Unraid's default Docker bridge
          gateway: 172.25.0.1


Couldn't get this working with port changes and bridge network, post for a solution for others following the netbox community....
 

Edited by bmartino1
typo-data

Once it up and running:

image.thumb.png.e02f315ddc75b378cb82362643a7fccf.png

you need to console in to the netbox docker and run a mange py command to make a user ...
*As the docker bridge, I have moved the web UI to port 60080:

Per github:

The whole application will be available after a few minutes. Open the URL http://0.0.0.0:8000/ in a web-browser. You should see the NetBox homepage.

To create the first admin user run this command:

docker compose exec netbox /opt/netbox/netbox/manage.py createsuperuser

If you need to restart Netbox from an empty database often, you can also set the SUPERUSER_* variables in your docker-compose.override.yml.
##############


so docker console:
image.thumb.png.0006b24d6cc309e119e391b4cda6fbdc.png

 

in the docker console, run:

/opt/netbox/netbox/manage.py createsuperuser

 

in the web console windows as seen below:

image.png.906f7977db72a9fb58c129f4b692d1dd.png


then login with your created user

image.thumb.png.5eeb2971f6d683bbd7082555ac08289b.png

Edited by bmartino1
typo-data

FYI:

The compose file was edited and I filed in the multiple env files. it is recommended to change the password in the compose file for password / secret key security concerns...


Also don't be alarmed at first compose up

FYI It's normal for first compose up to fail as it builds and places files... this is due to other docker first run and configuration initialization 10 min...

image.thumb.png.1defa90b23ca5f3bf150c3ba52dc248a.png

wait for the worker to stop on its own...
image.thumb.png.d96c16b9ea484902589253a5927ade41.png

then start it and let it fail once more
 

example of log of the stopped docker:
image.thumb.png.1a4c6bce4fd357fd2e21cbfbb3971c69.png

This is a temp fix...
As the fix I found is start the worker once and let it fail again...
wait a few min as the other docker are still running their first configuration such as Postgres database creation etc...

Then 
compose down and then compose up...
Thats it...

you can check the log after other dockers have finished first time initialization...

image.thumb.png.a59d5ad2abbdf707634f2ba83abbbef1.png

 


Then proceed to console the first netbox docker and make a user

Edited by bmartino1
typo-data

12 hours ago, bmartino1 said:

Once it up and running:

image.thumb.png.e02f315ddc75b378cb82362643a7fccf.png

you need to console in to the netbox docker and run a mange py command to make a user ...
*As the docker bridge, I have moved the web UI to port 60080:

Per github:

The whole application will be available after a few minutes. Open the URL http://0.0.0.0:8000/ in a web-browser. You should see the NetBox homepage.

To create the first admin user run this command:

docker compose exec netbox /opt/netbox/netbox/manage.py createsuperuser

If you need to restart Netbox from an empty database often, you can also set the SUPERUSER_* variables in your docker-compose.override.yml.
##############


so docker console:
image.thumb.png.0006b24d6cc309e119e391b4cda6fbdc.png

 

in the docker console, run:

/opt/netbox/netbox/manage.py createsuperuser

 

in the web console windows as seen below:

image.png.906f7977db72a9fb58c129f4b692d1dd.png


then login with your created user

image.thumb.png.5eeb2971f6d683bbd7082555ac08289b.png

@bmartino1

I still get an error when in console of Netbox and the path appears to be empty too:

 

root@46541a6c463b:/# /opt/netbox/netbox/manage.py createsuperuser
bash: /opt/netbox/netbox/manage.py: No such file or directory
root@46541a6c463b:/# ls
app  build_version  config    dev          etc   init  lsiopy  mnt  package  root  sbin  sys  usr
bin  command        defaults  docker-mods  home  lib   media   opt  proc     run   srv   tmp  var
root@46541a6c463b:/# cd opt
root@46541a6c463b:/opt# ls
root@46541a6c463b:/opt# ls
root@46541a6c463b:/opt# 

 

Edited by gurulee

2 hours ago, gurulee said:

@bmartino1

I still get an error when in console of Netbox and the path appears to be empty too:

 

root@46541a6c463b:/# /opt/netbox/netbox/manage.py createsuperuser
bash: /opt/netbox/netbox/manage.py: No such file or directory
root@46541a6c463b:/# ls
app  build_version  config    dev          etc   init  lsiopy  mnt  package  root  sbin  sys  usr
bin  command        defaults  docker-mods  home  lib   media   opt  proc     run   srv   tmp  var
root@46541a6c463b:/# cd opt
root@46541a6c463b:/opt# ls
root@46541a6c463b:/opt# ls
root@46541a6c463b:/opt# 

 

not enoth info make sure your consoled into the corect docker.

netbox-netbox-1

past this exaclty in the console windows...

/opt/netbox/netbox/manage.py createsuperuser

Forum changeed... not sure new stuff to make post... tiny/tidy html?

23 hours ago, bmartino1 said:

not enoth info make sure your consoled into the corect docker.

netbox-netbox-1

past this exaclty in the console windows...

/opt/netbox/netbox/manage.py createsuperuser

Forum changeed... not sure new stuff to make post... tiny/tidy html?

Please take my word for it, the file(s) do not exist in that path within the Netbox docker console. I also removed and re-added docker, but same issue persists.

Any ideas?

3 hours ago, gurulee said:

Please take my word for it, the file(s) do not exist in that path within the Netbox docker console. I also removed and re-added docker, but same issue persists.

Any ideas?

?did you git clone the rep? the comose requries some files there...

Then your pathing is not correct in the compose Not enough info to verify as that not the case for me... You need to make sure you are in the right docker container... I have tested this on multiple unraid systems... works on my machine... even a fridne was able to go thoguh the post and get it working...

Edited by bmartino1
typo

20 hours ago, bmartino1 said:

?did you git clone the rep? the comose requries some files there...

Then your pathing is not correct in the compose Not enough info to verify as that not the case for me... You need to make sure you are in the right docker container... I have tested this on multiple unraid systems... works on my machine... even a fridne was able to go thoguh the post and get it working...

There was no mention to clone the repo outside of just installing the Netbox docker from the app store.

The compose for Netbox is correct and is defaulted to '/mnt/cache/appdata/netbox'

This is how I'm going into the console of Netbox, pretty straight forward ;-)

image.png

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.