Include DevContainer in Repository for Streamlined Development #11924

Closed
opened 2025-12-29 21:51:33 +01:00 by adam · 5 comments
Owner

Originally created by @0lini on GitHub (Dec 14, 2025).

NetBox version

N/A

Feature type

Other

Proposed functionality

I propose including a DevContainer in the NetBox repository to provide a pre-configured development environment. This would ensure a consistent setup for all contributors and simplify onboarding.

The DevContainer would include:

  • A .devcontainer/ folder with Dockerfile and/or devcontainer.json.
  • Pre-installed dependencies, Python version, and database drivers.
  • Optional recommended VS Code extensions.
  • Scripts for initializing the database and running tests inside the container.
  • Documentation for starting development within the DevContainer.

This would create a standardized development workflow, making it easier for contributors to get started without manually configuring Python, dependencies, or databases.

Use case

Adding a DevContainer would benefit NetBox contributors by:

  • Reducing setup time for new developers.
  • Ensuring consistent development environments across machines.
  • Minimizing environment-related bugs and inconsistencies.
  • Supporting cloud-based development workflows like GitHub Codespaces.
  • Lowering the barrier for contributors with limited experience in Python or Docker.

Database changes

No response

External dependencies

No response

Originally created by @0lini on GitHub (Dec 14, 2025). ### NetBox version N/A ### Feature type Other ### Proposed functionality I propose including a DevContainer in the NetBox repository to provide a pre-configured development environment. This would ensure a consistent setup for all contributors and simplify onboarding. The DevContainer would include: - A .devcontainer/ folder with Dockerfile and/or devcontainer.json. - Pre-installed dependencies, Python version, and database drivers. - Optional recommended VS Code extensions. - Scripts for initializing the database and running tests inside the container. - Documentation for starting development within the DevContainer. This would create a standardized development workflow, making it easier for contributors to get started without manually configuring Python, dependencies, or databases. ### Use case Adding a DevContainer would benefit NetBox contributors by: - Reducing setup time for new developers. - Ensuring consistent development environments across machines. - Minimizing environment-related bugs and inconsistencies. - Supporting cloud-based development workflows like GitHub Codespaces. - Lowering the barrier for contributors with limited experience in Python or Docker. ### Database changes _No response_ ### External dependencies _No response_
adam added the type: featurenetbox labels 2025-12-29 21:51:33 +01:00
adam closed this issue 2025-12-29 21:51:33 +01:00
Author
Owner

@jeremystretch commented on GitHub (Dec 15, 2025):

Is there any reason this couldn't be developed and published as a standalone project? I don't see why it would need to be included in the core repository.

@jeremystretch commented on GitHub (Dec 15, 2025): Is there any reason this couldn't be developed and published as a standalone project? I don't see why it would need to be included in the core repository.
Author
Owner

@0lini commented on GitHub (Dec 15, 2025):

While a standalone devcontainer is possible, including it in the repo ensures reproducibility, tight coupling with the project, easier onboarding, and better review/visibility.

Devcontainers are architecturally designed to live within the repository, and the small overhead of keeping it in-repo is far outweighed by these benefits, in my opinion.

@0lini commented on GitHub (Dec 15, 2025): While a standalone devcontainer is possible, including it in the repo ensures reproducibility, tight coupling with the project, easier onboarding, and better review/visibility. Devcontainers are architecturally designed to live within the repository, and the small overhead of keeping it in-repo is far outweighed by these benefits, in my opinion.
Author
Owner

@jnovinger commented on GitHub (Dec 15, 2025):

small overhead of keeping it in-repo is far outweighed by these benefits, in my opinion

While the initial overhead does indeed seem small, my gut says this would bitrot pretty quickly without active maintenance. NetBox is an open source application with limited development resources and a persistent backlog of existing work. Given that most of the maintainers don't develop NetBox in Docker (to my knowledge), it's unlikely to receive any maintenance.

@jnovinger commented on GitHub (Dec 15, 2025): > small overhead of keeping it in-repo is far outweighed by these benefits, in my opinion While the initial overhead does indeed seem small, my gut says this would bitrot pretty quickly without active maintenance. NetBox is an open source application with limited development resources and a persistent backlog of existing work. Given that most of the maintainers don't develop NetBox in Docker (to my knowledge), it's unlikely to receive any maintenance.
Author
Owner

@jeremystretch commented on GitHub (Dec 15, 2025):

@0lini I suggest starting this as a standalone project. If it matures and reaches a reasonable degree of stability after some time, we can consider bringing it into the core repo.

@jeremystretch commented on GitHub (Dec 15, 2025): @0lini I suggest starting this as a standalone project. If it matures and reaches a reasonable degree of stability after some time, we can consider bringing it into the core repo.
Author
Owner

@0lini commented on GitHub (Dec 16, 2025):

I will do that. Thank you both 😃

@0lini commented on GitHub (Dec 16, 2025): I will do that. Thank you both 😃
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#11924