From 1fcbbd9dd3895ea377eb0d9176bb658210a74470 Mon Sep 17 00:00:00 2001 From: Dariusz Niemczyk Date: Sun, 3 Dec 2023 19:54:29 +0100 Subject: [PATCH] vscode: Add .devcontainer support --- .devcontainer/devcontainer.json | 41 ++++++++++++++++++++++++++++++++ .devcontainer/docker-compose.yml | 40 +++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 .devcontainer/devcontainer.json create mode 100644 .devcontainer/docker-compose.yml diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..c9bf73f --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +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": "Existing Docker Compose (Extend)", + + // Update the 'dockerComposeFile' list if you have more compose files or use different names. + // The .devcontainer/docker-compose.yml file contains any overrides you need/want to make. + "dockerComposeFile": ["../docker-compose.yml", "docker-compose.yml"], + + // The 'service' property is the name of the service for the container that VS Code should + // use. Update this value and .devcontainer/docker-compose.yml to the real service name. + "service": "web", + + // The optional 'workspaceFolder' property is the path VS Code should open by default when + // connected. This is typically a file mount in .devcontainer/docker-compose.yml + "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", + "features": { + "ghcr.io/wxw-matt/devcontainer-features/script_runner:0": {} + } + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // 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" +} diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml new file mode 100644 index 0000000..36c37f4 --- /dev/null +++ b/.devcontainer/docker-compose.yml @@ -0,0 +1,40 @@ +version: '3' +services: + # Update this to the name of the service you want to work with in your docker-compose.yml file + web: + # 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: /bin/sh -c "while sleep 1000; do :; done" + environment: + - SPEJSTORE_ENV=dev + - SPEJSTORE_DB_NAME=postgres + - SPEJSTORE_DB_USER=postgres + - SPEJSTORE_DB_PASSWORD=postgres + - SPEJSTORE_DB_HOST=db + # - SPEJSTORE_DB_PORT= + - SPEJSTORE_ALLOWED_HOSTS=localhost,127.0.0.1 + # - SPEJSTORE_CLIENT_ID= + # - SPEJSTORE_SECRET= + # - SPEJSTORE_MEDIA_ROOT= + # - SPEJSTORE_REQUIRE_AUTH=true + - SPEJSTORE_OAUTH_REDIRECT_IS_HTTPS=false + - SPEJSTORE_PROXY_TRUSTED_IPS=172.21.37.1 +