File tree 7 files changed +92
-1
lines changed
7 files changed +92
-1
lines changed Original file line number Diff line number Diff line change
1
+ ARG DEBIAN_FRONTEND=noninteractive
2
+ ARG VARIANT=bullseye
3
+
4
+ FROM mcr.microsoft.com/vscode/devcontainers/base:${VARIANT}
5
+
6
+ RUN apt-get update && \
7
+ apt-get -y install --no-install-recommends \
8
+ build-essential gnupg2 tar git zsh libssl-dev zlib1g-dev libyaml-dev curl libreadline-dev \
9
+ postgresql-client libpq-dev \
10
+ imagemagick libjpeg-dev libpng-dev libtiff-dev libwebp-dev libvips \
11
+ tzdata \
12
+ tmux \
13
+ vim
14
+
15
+ # Install rbenv and ruby
16
+ USER vscode
17
+
18
+ ARG RUBY_VERSION="2.6.8"
19
+ RUN git clone https://github.com/rbenv/rbenv.git /home/vscode/.rbenv \
20
+ && echo '[ -f "/home/vscode/.rbenv/bin/rbenv" ] && eval "$(rbenv init - bash)" # rbenv' >> /home/vscode/.zshrc \
21
+ && echo '[ -f "/home/vscode/.rbenv/bin/rbenv" ] && eval "$(rbenv init - bash)" # rbenv' >> /home/vscode/.bashrc \
22
+ && echo 'export PATH="/home/vscode/.rbenv/bin:$PATH"' >> /home/vscode/.zshrc \
23
+ && echo 'export PATH="/home/vscode/.rbenv/bin:$PATH"' >> /home/vscode/.bashrc \
24
+ && mkdir -p /home/vscode/.rbenv/versions \
25
+ && mkdir -p /home/vscode/.rbenv/plugins \
26
+ && git clone https://github.com/rbenv/ruby-build.git /home/vscode/.rbenv/plugins/ruby-build
27
+
28
+ ENV PATH "/home/vscode/.rbenv/bin/:HOME/.rbenv/shims/:$PATH"
29
+
30
+ RUN rbenv install $RUBY_VERSION && \
31
+ rbenv global $RUBY_VERSION && \
32
+ rbenv versions
33
+
34
+ COPY .devcontainer/welcome.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt
Original file line number Diff line number Diff line change
1
+ // For format details, see https://aka.ms/devcontainer.json. For config options, see the
2
+ // README at: https://github.com/devcontainers/templates/tree/main/src/ruby-rails-postgres
3
+ {
4
+ "name" : " Blog DevContainer" ,
5
+ "build" : {
6
+ "dockerfile" : " Dockerfile" ,
7
+ "context" : " .."
8
+ },
9
+ "workspaceFolder" : " /workspaces/${localWorkspaceFolderBasename}" ,
10
+ "features" : {
11
+ "ghcr.io/devcontainers/features/node:1" : {
12
+ "version" : " 9"
13
+ }
14
+ },
15
+ "remoteEnv" : {
16
+ "GIT_EDITOR" : " code --wait"
17
+ },
18
+ "onCreateCommand" : " .devcontainer/onCreateCommand.sh" ,
19
+ "customizations" : {
20
+ "vscode" : {
21
+ // Set *default* container specific settings.json values on container create.
22
+ "extensions" : [
23
+ " GitHub.github-vscode-theme" ,
24
+ " eamodio.gitlens" ,
25
+ ],
26
+ "rubyLsp.enableExperimentalFeatures" : true
27
+ }
28
+ },
29
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
30
+ "forwardPorts" : [
31
+ 4000
32
+ ],
33
+ "portsAttributes" : {
34
+ "4000" : {
35
+ "label" : " web" ,
36
+ "onAutoForward" : " notify" ,
37
+ "requireLocalPort" : true
38
+ }
39
+ }
40
+ }
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+
3
+ echo " Updating RubyGems..."
4
+ gem update --system -N
5
+
6
+ echo " Installing dependencies..."
7
+ bundle
8
+
9
+ echo " Done!"
Original file line number Diff line number Diff line change
1
+ 👋 Welcome to "Blog"!
2
+
3
+ 🛠️ Your environment is fully setup with all the required software.
4
+
Original file line number Diff line number Diff line change 1
- 2.4.5
1
+ 2.6.8
Original file line number Diff line number Diff line change
1
+ ruby 2.6.8
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env sh
2
+
3
+ exec bundle exec jekyll serve --config _config.yml,_config-dev.yml
You can’t perform that action at this time.
0 commit comments