diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile index 00a6156c..7acd84de 100644 --- a/.gitpod.Dockerfile +++ b/.gitpod.Dockerfile @@ -1,10 +1,25 @@ -FROM gitpod/workspace-mysql +FROM gitpod/workspace-full:latest -# Install custom tools, runtimes, etc. -# For example "bastet", a command-line tetris clone: -# RUN brew install bastet -# -# More information: https://www.gitpod.io/docs/config-docker/ +USER root + +# Install mariadb +RUN apt-get update \ + && apt-get install -y mariadb \ + && apt-get clean && rm -rf /var/cache/apt/* /var/lib/apt/lists/* /tmp/* \ + && mkdir /var/run/mariadb \ + && chown -R gitpod:gitpod /etc/mariadb /var/run/mariadb /var/log/mariadb /var/lib/mariadb /var/lib/mariadb-files /var/lib/mariadb-keyring /var/lib/mariadb-upgrade + +# Install our own mariadb config +COPY mariadb.cnf /etc/mariadb/mariadb.conf.d/mariadb.cnf + +# Install default-login for mariadb clients +COPY client.cnf /etc/mariadb/mariadb.conf.d/client.cnf + +COPY mariadb-bashrc-launch.sh /etc/mariadb/mariadb-bashrc-launch.sh + +USER gitpod + +RUN echo "/etc/mariadb/mariadb-bashrc-launch.sh" >> ~/.bashrc RUN bash -c ". .nvm/nvm.sh \ && nvm install 14 \ diff --git a/mariadb-bashrc-launch.sh b/mariadb-bashrc-launch.sh new file mode 100644 index 00000000..b8ab933a --- /dev/null +++ b/mariadb-bashrc-launch.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# this script is intended to be called from .bashrc +# This is a workaround for not having something like supervisord + +if [ ! -e /var/run/mariadb/gitpod-init.lock ] +then + touch /var/run/mariadb/gitpod-init.lock + + # initialize database structures on disk, if needed + [ ! -d /workspace/mariadb ] && mariadb --initialize-insecure + + # launch database, if not running + [ ! -e /var/run/mariadb/mariadb.pid ] && mariadb --daemonize + + rm /var/run/mariadb/gitpod-init.lock +fi diff --git a/mariadb.conf b/mariadb.conf new file mode 100644 index 00000000..46207438 --- /dev/null +++ b/mariadb.conf @@ -0,0 +1,10 @@ +[client] +host = localhost +user = root +password = +socket = /var/run/mariadb/mariadb.sock +[mariadb_upgrade] +host = localhost +user = root +password = +socket = /var/run/mariadb/mariadb.sock