mirror of
https://github.com/simstudioai/sim.git
synced 2026-01-06 21:54:01 -05:00
* migrate to bun * added envvars to drizzle * upgrade bun devcontainer feature to a valid one * added bun, docker not working * updated envvars, updated to bunder and esnext modules * fixed build, reinstated otel * feat: optimized multi-stage docker images * add coerce for boolean envvar * feat: add docker-compose configuration for local LLM services and remove legacy Dockerfile and entrypoint script * feat: add docker-compose files for local and production environments, and implement GitHub Actions for Docker image build and publish * refactor: remove unused generateStaticParams function from various API routes and maintain dynamic rendering * cleanup * upgraded bun * updated ci * fixed build --------- Co-authored-by: Aditya Tripathi <aditya@climactic.co>
41 lines
1.1 KiB
Docker
41 lines
1.1 KiB
Docker
# Use the latest Bun canary image for development
|
|
FROM oven/bun:canary
|
|
|
|
# Avoid warnings by switching to noninteractive
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Install necessary packages for development
|
|
RUN apt-get update \
|
|
&& apt-get -y install --no-install-recommends \
|
|
git curl wget jq sudo postgresql-client vim nano \
|
|
bash-completion ca-certificates lsb-release gnupg \
|
|
&& apt-get clean -y \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Create a non-root user
|
|
ARG USERNAME=bun
|
|
ARG USER_UID=1000
|
|
ARG USER_GID=$USER_UID
|
|
|
|
# Add sudo support
|
|
RUN echo "$USERNAME ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$USERNAME \
|
|
&& chmod 0440 /etc/sudoers.d/$USERNAME
|
|
|
|
# Install global packages for development
|
|
RUN bun install -g turbo drizzle-kit typescript @types/node
|
|
|
|
# Install bun completions
|
|
RUN bun completions > /etc/bash_completion.d/bun
|
|
|
|
# Set up shell environment
|
|
RUN echo "export PATH=$PATH:/home/$USERNAME/.bun/bin" >> /etc/profile
|
|
RUN echo "source /etc/profile" >> /etc/bash.bashrc
|
|
|
|
# Switch back to dialog for any ad-hoc use of apt-get
|
|
ENV DEBIAN_FRONTEND=dialog
|
|
|
|
WORKDIR /workspace
|
|
|
|
# Expose the ports we're interested in
|
|
EXPOSE 3000
|
|
EXPOSE 3001 |