mirror of
https://github.com/garethgeorge/backrest.git
synced 2026-09-26 01:45:43 +00:00
feat: experimental multihost sync (#1204)
This commit is contained in:
+16
-19
@@ -1,22 +1,19 @@
|
||||
## Based on microsoft go devcontainer - https://github.com/microsoft/vscode-dev-containers/blob/v0.205.2/containers/go/.devcontainer/Dockerfile
|
||||
# [Choice] Go version (use -bullseye variants on local arm64/Apple Silicon): 1, 1.16, 1.17, 1-bullseye, 1.16-bullseye, 1.17-bullseye, 1-buster, 1.16-buster, 1.17-buster
|
||||
ARG VARIANT=1-bullseye
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/go:${VARIANT}
|
||||
|
||||
# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
&& apt-get -y install --no-install-recommends protobuf-compiler
|
||||
FROM mcr.microsoft.com/devcontainers/base:bookworm
|
||||
|
||||
# Install Nix in single-user mode for the vscode user
|
||||
USER vscode
|
||||
RUN curl -L https://nixos.org/nix/install | bash -s -- --no-daemon
|
||||
ENV PATH="/home/vscode/.nix-profile/bin:${PATH}"
|
||||
|
||||
RUN go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest \
|
||||
&& go install github.com/bufbuild/buf/cmd/buf@v1.27.2 \
|
||||
&& go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest \
|
||||
&& go install google.golang.org/protobuf/cmd/protoc-gen-go@latest \
|
||||
&& go install connectrpc.com/connect/cmd/protoc-gen-connect-go@latest \
|
||||
&& go install github.com/GeertJohan/go.rice/rice@latest \
|
||||
&& go install github.com/goreleaser/goreleaser@latest \
|
||||
&& npm install -g @bufbuild/protoc-gen-es @connectrpc/protoc-gen-connect-es
|
||||
# Install direnv via Nix and configure shell hooks
|
||||
RUN . /home/vscode/.nix-profile/etc/profile.d/nix.sh \
|
||||
&& nix-env -iA nixpkgs.direnv
|
||||
RUN echo '. /home/vscode/.nix-profile/etc/profile.d/nix.sh' >> /home/vscode/.bashrc \
|
||||
&& echo 'eval "$(direnv hook bash)"' >> /home/vscode/.bashrc \
|
||||
&& echo '. /home/vscode/.nix-profile/etc/profile.d/nix.sh' >> /home/vscode/.zshrc \
|
||||
&& echo 'eval "$(direnv hook zsh)"' >> /home/vscode/.zshrc
|
||||
|
||||
# Pre-populate the nix store with project dependencies so first open is fast
|
||||
COPY shell.nix /tmp/shell.nix
|
||||
RUN . /home/vscode/.nix-profile/etc/profile.d/nix.sh \
|
||||
&& nix-shell /tmp/shell.nix --run "echo 'nix dependencies cached'"
|
||||
|
||||
Reference in New Issue
Block a user