From f6cf713d7876c46228fb5612caae092f301d3e95 Mon Sep 17 00:00:00 2001 From: victor Date: Fri, 20 Feb 2026 13:29:05 +0000 Subject: [PATCH] Add Dev Container setup with README and initialization script --- .devcontainer/README.md | 14 ++++++++++++++ .devcontainer/devcontainer.json | 21 +++++++++++++++++++++ bin/devcontainer | 22 ++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 .devcontainer/README.md create mode 100644 .devcontainer/devcontainer.json create mode 100755 bin/devcontainer diff --git a/.devcontainer/README.md b/.devcontainer/README.md new file mode 100644 index 0000000000..c03a8a8e61 --- /dev/null +++ b/.devcontainer/README.md @@ -0,0 +1,14 @@ +# Devcontainer + +This folder contains the VS Code Dev Containers setup. + +Quick start: +- Open the repository in a Dev Container. +- Run: + +```sh +bin/dev +``` + +For more details see [Development guide](../docs/development.md). + diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..f894cecb64 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,21 @@ +{ + "name": "Fizzy", + "runArgs": [ + "--name", + "fizzy" + ], + "build": { + "dockerfile": "../Dockerfile", + "context": "..", + "target": "build" + }, + "workspaceFolder": "/rails", + "workspaceMount": "source=${localWorkspaceFolder},target=/rails,type=bind,consistency=cached", + "containerEnv": { + "RAILS_ENV": "development", + "BUNDLE_WITHOUT": "", + "BUNDLE_DEPLOYMENT": "0" + }, + "postCreateCommand": "bin/devcontainer", + "forwardPorts": [3006] +} diff --git a/bin/devcontainer b/bin/devcontainer new file mode 100755 index 0000000000..c8a518994f --- /dev/null +++ b/bin/devcontainer @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -euo pipefail + +export DEBIAN_FRONTEND=noninteractive + +apt-get update +apt-get install -y --no-install-recommends \ + ca-certificates \ + curl \ + gh \ + gum \ + zlib1g-dev + +rm -rf /var/lib/apt/lists/* + +if ! command -v mise >/dev/null 2>&1; then + curl -fsSL https://mise.jdx.dev/install.sh | sh + ln -sfn "$HOME/.local/bin/mise" /usr/local/bin/mise + mise trust +fi + +bin/setup