Sets up the basic structure for integrating with the Strava API. This includes: - Adds .devcontainer configuration for consistent development environment. - Configures eslint and prettier for code quality and formatting. - Implements secure credential management using Infisical. - Creates basic Strava client and request classes with authentication handling. - Sets up basic express routes to return data from the Strava API This commit lays the foundation for future enhancements such as fetching and displaying activity data.
36 lines
613 B
Docker
36 lines
613 B
Docker
FROM node:22-bullseye
|
|
|
|
# Install additional tools
|
|
RUN apt-get update && apt-get install -y \
|
|
git \
|
|
curl \
|
|
wget \
|
|
vim \
|
|
nano \
|
|
build-essential \
|
|
python3 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Create a non-root user 'node' if not exists (usually already in official node image)
|
|
# Set up environment
|
|
ENV NODE_ENV=development
|
|
|
|
# Install global npm packages
|
|
RUN npm install -g \
|
|
@types/node \
|
|
typescript \
|
|
ts-node \
|
|
nodemon
|
|
|
|
WORKDIR /workspace
|
|
|
|
# Copy package files
|
|
COPY package*.json ./
|
|
|
|
# Install dependencies
|
|
RUN npm install
|
|
|
|
EXPOSE 3000 5000
|
|
|
|
CMD ["npm", "run", "dev"]
|