diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000000..07acd94dc2 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,24 @@ +# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.191.1/containers/ruby/.devcontainer/base.Dockerfile + +# [Choice] Ruby version: 3, 3.0, 2, 2.7, 2.6 +ARG VARIANT="3.0" +FROM mcr.microsoft.com/vscode/devcontainers/ruby:0-${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 + +# [Optional] Uncomment this section to install additional OS packages. +RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ + && apt-get -y install --no-install-recommends \ + mariadb-server libmariadbclient-dev \ + postgresql postgresql-client postgresql-contrib libpq-dev \ + redis-server memcached \ + imagemagick ffmpeg mupdf mupdf-tools libvips + + +# [Optional] Uncomment this line to install additional gems. +# RUN gem install + +# [Optional] Uncomment this line to install global node packages. +# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 diff --git a/.devcontainer/boot.sh b/.devcontainer/boot.sh new file mode 100755 index 0000000000..d398f9833c --- /dev/null +++ b/.devcontainer/boot.sh @@ -0,0 +1,22 @@ +bundle install +yarn install + +sudo service postgresql start +sudo service mysql start +sudo service redis-server start +sudo service memcached start + +# Create PostgreSQL users and databases +sudo su postgres -c "createuser --superuser vscode" +sudo su postgres -c "createdb -O vscode -E UTF8 -T template0 activerecord_unittest" +sudo su postgres -c "createdb -O vscode -E UTF8 -T template0 activerecord_unittest2" + +# Create MySQL database and databases +MYSQL_PWD=root sudo mysql -uroot <