From 3a60a89e89a8544cd35fc932debf4bee5be402ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Baldeweg?= <56736413+abaldeweg@users.noreply.github.com> Date: Thu, 30 Jan 2025 13:34:06 +0000 Subject: [PATCH] Add Docker configuration for development environment with MongoDB support --- .devcontainer/Dockerfile | 1 + .devcontainer/devcontainer.json | 44 ++++++++++++++++---------------- .devcontainer/docker-compose.yml | 20 +++++++++++++++ 3 files changed, 43 insertions(+), 22 deletions(-) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/docker-compose.yml diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..945f9f8 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1 @@ +FROM mcr.microsoft.com/devcontainers/go:1-1.23-bookworm diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 6751c42..d9be93d 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,24 +1,24 @@ { - "name": "Go", - "image": "mcr.microsoft.com/devcontainers/go:1-1.23-bookworm", - "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", - "features": { - "ghcr.io/abaldeweg/devcontainer_features/bash:2.0.0": {} - }, - "forwardPorts": [ - 5984 - ], - "customizations": { - "vscode": { - "extensions": [ - "EditorConfig.EditorConfig", - "golang.go", - "DavidAnson.vscode-markdownlint", - "redhat.vscode-yaml", - "42Crunch.vscode-openapi", - "alexcvzz.vscode-sqlite" - ] - } - }, - "postCreateCommand": "sudo apt update && sudo apt install -y sqlite3" + "name": "Go", + "dockerComposeFile": "docker-compose.yml", + "service": "app", + "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", + "features": { + "ghcr.io/abaldeweg/devcontainer_features/bash:2.0.0": {} + }, + "forwardPorts": [ + 5984 + ], + "customizations": { + "vscode": { + "extensions": [ + "EditorConfig.EditorConfig", + "golang.go", + "DavidAnson.vscode-markdownlint", + "redhat.vscode-yaml", + "42Crunch.vscode-openapi", + "mongodb.mongodb-vscode" + ] + } + } } diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml new file mode 100644 index 0000000..dc0e952 --- /dev/null +++ b/.devcontainer/docker-compose.yml @@ -0,0 +1,20 @@ +version: '3.8' + +services: + app: + build: + context: . + dockerfile: Dockerfile + volumes: + - ../..:/workspaces:cached + command: sleep infinity + network_mode: service:db + + db: + image: mongo:latest + restart: unless-stopped + volumes: + - mongodb-data:/data/db + +volumes: + mongodb-data: