feat: add devcontainer configuration and installation script

Add a devcontainer configuration to streamline the development 
environment setup. Introduce an `install.sh` script to install 
the project in editable mode. Update the Dockerfile to use 
the `python:3.13-slim-bullseye` base image and install 
dependencies using `apt-get` for better compatibility.
This commit is contained in:
lumin
2024-12-17 11:15:16 +09:00
committed by GitButler
parent ad5d4fb139
commit 07fe457a90
3 changed files with 41 additions and 2 deletions

View File

@@ -0,0 +1,30 @@
// 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-dockerfile
{
"name": "Existing Dockerfile",
"build": {
// Sets the run context to one level up instead of the .devcontainer folder.
"context": "..",
// Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename.
"dockerfile": "../Dockerfile"
},
// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
"features": {
"ghcr.io/devcontainers-extra/features/hatch:2": {}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Uncomment the next line to run commands after the container is created.
// "postCreateCommand": "cat /etc/os-release",
"postCreateCommand": "./install.sh",
// 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": "root"
}

View File

@@ -1,9 +1,11 @@
FROM python:3.13-alpine
FROM python:3.13-slim-bullseye
USER root
# Runtime dependency
RUN apk add --no-cache ffmpeg
RUN apt-get update && apt-get install -y --no-install-recommends \
ffmpeg \
&& rm -rf /var/lib/apt/lists/*
RUN pip install markitdown

7
install.sh Normal file
View File

@@ -0,0 +1,7 @@
#!/bin/sh
# Install the current project in editable mode
echo "Installing the project in editable mode..."
pip install -e .
echo "Setup complete!"