Add devcontainer configuration for Docker Compose setup

- Created .devcontainer/devcontainer.json to define the development container settings.
- Added .devcontainer/docker-compose.yml to configure the pihole service and volume mounts.
This commit is contained in:
Timothy Hofland
2026-06-07 21:54:07 +02:00
parent 6e8edc2ca0
commit 13948a5916
3 changed files with 64 additions and 3383 deletions
+37 -19
View File
@@ -1,23 +1,41 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-docker-compose
{ {
"name": "Generic Linux Dev Environment", "name": "Existing Docker Compose (Extend)",
"build": {
"dockerfile": "Dockerfile"
},
"remoteUser": "vscode",
"updateRemoteUserUID": true,
"workspaceMount": "source=pi-hole-dev-vol,target=/workspace,type=volume", // Update the 'dockerComposeFile' list if you have more compose files or use different names.
"workspaceFolder": "/workspace", // The .devcontainer/docker-compose.yml file contains any overrides you need/want to make.
"dockerComposeFile": [
"../compose.yaml",
"docker-compose.yml"
],
"customizations": { // The 'service' property is the name of the service for the container that VS Code should
"vscode": { // use. Update this value and .devcontainer/docker-compose.yml to the real service name.
"extensions": [ "service": "pihole",
"vscode.git-base",
"vscode.git", // The optional 'workspaceFolder' property is the path VS Code should open by default when
"mhutchie.git-graph", // connected. This is typically a file mount in .devcontainer/docker-compose.yml
"eamodio.gitlens" "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}"
]
} // Features to add to the dev container. More info: https://containers.dev/features.
}, // "features": {},
"overrideCommand": true
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Uncomment the next line if you want start specific services in your Docker Compose config.
// "runServices": [],
// Uncomment the next line if you want to keep your containers running after VS Code shuts down.
// "shutdownAction": "none",
// Uncomment the next line to run commands after the container is created.
// "postCreateCommand": "cat /etc/os-release",
// Configure tool-specific properties.
// "customizations": {},
// Uncomment to connect as an existing user other than the container default. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "devcontainer"
} }
+26
View File
@@ -0,0 +1,26 @@
version: '3.8'
services:
# Update this to the name of the service you want to work with in your docker-compose.yml file
pihole:
# Uncomment if you want to override the service's Dockerfile to one in the .devcontainer
# folder. Note that the path of the Dockerfile and context is relative to the *primary*
# docker-compose.yml file (the first in the devcontainer.json "dockerComposeFile"
# array). The sample below assumes your primary file is in the root of your project.
#
# build:
# context: .
# dockerfile: .devcontainer/Dockerfile
volumes:
# Update this to wherever you want VS Code to mount the folder of your project
- ..:/workspaces:cached
# Uncomment the next four lines if you will use a ptrace-based debugger like C++, Go, and Rust.
# cap_add:
# - SYS_PTRACE
# security_opt:
# - seccomp:unconfined
# Overrides default command so things don't shut down after the process ends.
command: sleep infinity
File diff suppressed because one or more lines are too long