latest
This commit is contained in:
parent
ff137674fe
commit
7e6ec689e8
|
@ -0,0 +1 @@
|
||||||
|
*.log
|
|
@ -0,0 +1,2 @@
|
||||||
|
*.log
|
||||||
|
|
31
Dockerfile
31
Dockerfile
|
@ -5,6 +5,14 @@ ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
ARG UBUNTU_MIRROR=http://archive.ubuntu.com/ubuntu
|
ARG UBUNTU_MIRROR=http://archive.ubuntu.com/ubuntu
|
||||||
|
|
||||||
|
ARG RUBY_VERSION="2.6.2"
|
||||||
|
ARG NODE_VERSION="v13.10.1"
|
||||||
|
# v2.4.0, current stable as of 2020-03-04:
|
||||||
|
ARG DISCOURSE_VERSION="76b9be3f19f393a216973b791245228f2d3e92f8"
|
||||||
|
|
||||||
|
ARG UID=61000
|
||||||
|
ARG GID=61000
|
||||||
|
|
||||||
RUN echo "deb $UBUNTU_MIRROR focal main universe restricted multiverse" > /etc/apt/sources.list.new && \
|
RUN echo "deb $UBUNTU_MIRROR focal main universe restricted multiverse" > /etc/apt/sources.list.new && \
|
||||||
echo "deb $UBUNTU_MIRROR focal-updates main universe restricted multiverse" >> /etc/apt/sources.list.new && \
|
echo "deb $UBUNTU_MIRROR focal-updates main universe restricted multiverse" >> /etc/apt/sources.list.new && \
|
||||||
echo "deb $UBUNTU_MIRROR focal-security main universe restricted multiverse" >> /etc/apt/sources.list.new && \
|
echo "deb $UBUNTU_MIRROR focal-security main universe restricted multiverse" >> /etc/apt/sources.list.new && \
|
||||||
|
@ -13,19 +21,21 @@ mv /etc/apt/sources.list.new /etc/apt/sources.list
|
||||||
|
|
||||||
|
|
||||||
# we only install essential system packages here
|
# we only install essential system packages here
|
||||||
ARG SYSTEM_PACKAGES="build-essential ca-certificates git golang rsync runit software-properties-common"
|
ARG SYSTEM_PACKAGES="locales build-essential ca-certificates git golang rsync runit software-properties-common"
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
apt update && \
|
apt update && \
|
||||||
apt -y upgrade && \
|
apt -y upgrade && \
|
||||||
apt -y install $SYSTEM_PACKAGES && \
|
apt -y install $SYSTEM_PACKAGES && \
|
||||||
go get -v -u github.com/peterbourgon/runsvinit && \
|
go get -v -u git.eeqj.de/sneak/runsvinit && \
|
||||||
cp /root/go/bin/runsvinit /usr/local/sbin/runsvinit && \
|
cp /root/go/bin/runsvinit /usr/local/sbin/runsvinit && \
|
||||||
rm -r /root/go
|
rm -r /root/go && \
|
||||||
|
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
|
||||||
|
locale-gen
|
||||||
|
|
||||||
COPY ./root /tmp/rootoverlay
|
ENV LANG en_US.UTF-8
|
||||||
RUN rsync -avP /tmp/rootoverlay/ / && \
|
ENV LANGUAGE en_US:en
|
||||||
rm -rf /tmp/rootoverlay
|
ENV LC_ALL en_US.UTF-8
|
||||||
|
|
||||||
# prereqs for discourse
|
# prereqs for discourse
|
||||||
RUN apt update && \
|
RUN apt update && \
|
||||||
|
@ -68,7 +78,12 @@ RUN apt update && \
|
||||||
vim \
|
vim \
|
||||||
zlib1g-dev
|
zlib1g-dev
|
||||||
|
|
||||||
COPY ./run.sh /tmp/run.sh
|
COPY ./install.sh /tmp/install.sh
|
||||||
RUN /bin/bash /tmp/run.sh && rm /tmp/run.sh
|
RUN /bin/bash /tmp/install.sh && rm /tmp/install.sh
|
||||||
|
|
||||||
|
COPY ./root /tmp/rootoverlay
|
||||||
|
RUN rsync -avP /tmp/rootoverlay/ / && \
|
||||||
|
rm -rf /tmp/rootoverlay && \
|
||||||
|
chmod +x /etc/service/*/run
|
||||||
|
|
||||||
CMD ["/usr/local/sbin/runsvinit"]
|
CMD ["/usr/local/sbin/runsvinit"]
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -5,4 +5,4 @@ build:
|
||||||
docker build \
|
docker build \
|
||||||
-t sneak/discourse \
|
-t sneak/discourse \
|
||||||
--build-arg UBUNTU_MIRROR="http://ubuntu.datavi.be/ubuntu" \
|
--build-arg UBUNTU_MIRROR="http://ubuntu.datavi.be/ubuntu" \
|
||||||
.
|
. 2>&1 | tee -a build.log
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
export HOME=/root
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
|
||||||
|
H="/var/lib/discourse"
|
||||||
|
mkdir -p $H
|
||||||
|
|
||||||
|
git clone https://github.com/discourse/discourse.git $H/app
|
||||||
|
cd $H/app
|
||||||
|
git checkout $DISCOURSE_VERSION
|
||||||
|
rm -rf .git
|
||||||
|
|
||||||
|
cd /
|
||||||
|
|
||||||
|
chown -R $UID:$GID $H
|
||||||
|
|
||||||
|
groupadd \
|
||||||
|
--system --gid $GID \
|
||||||
|
discourse
|
||||||
|
|
||||||
|
useradd \
|
||||||
|
--system --gid $GID --uid $UID \
|
||||||
|
--no-log-init --no-create-home -s /bin/false --home-dir $H \
|
||||||
|
discourse
|
||||||
|
|
||||||
|
apt-get -yqq update
|
||||||
|
apt install -y postgresql-common
|
||||||
|
echo -e "\n" | sh /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
|
||||||
|
apt-get -yqq update
|
||||||
|
apt-get install -y postgresql-client-12
|
||||||
|
|
||||||
|
sudo -u discourse bash -l <<EOF
|
||||||
|
export HOME="$H"
|
||||||
|
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
|
||||||
|
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
|
||||||
|
curl -sSL https://get.rvm.io | bash -s stable
|
||||||
|
echo 'gem: --no-document' >> ~/.gemrc
|
||||||
|
|
||||||
|
|
||||||
|
source $HOME/.rvm/scripts/rvm
|
||||||
|
rvm install $RUBY_VERSION
|
||||||
|
rvm --default use $RUBY_VERSION
|
||||||
|
gem install bundler mailcatcher rake
|
||||||
|
|
||||||
|
curl -sSL https://get.rvm.io | bash
|
||||||
|
source $HOME/.nvm/nvm.sh
|
||||||
|
nvm install $NODE_VERSION
|
||||||
|
nvm alias default $NODE_VERSION
|
||||||
|
npm install -g svgo
|
||||||
|
|
||||||
|
cd $HOME
|
||||||
|
bundle install
|
||||||
|
"
|
46
run.sh
46
run.sh
|
@ -1,46 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
export HOME=/root
|
|
||||||
|
|
||||||
set -e
|
|
||||||
set -x
|
|
||||||
|
|
||||||
apt-get -yqq update
|
|
||||||
|
|
||||||
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
|
|
||||||
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
|
|
||||||
curl -sSL https://get.rvm.io | bash -s stable
|
|
||||||
echo 'gem: --no-document' >> ~/.gemrc
|
|
||||||
|
|
||||||
set +e
|
|
||||||
set +x
|
|
||||||
source /etc/profile.d/rvm.sh
|
|
||||||
rvm install 2.6.2
|
|
||||||
rvm --default use 2.6.2
|
|
||||||
set -e
|
|
||||||
set -x
|
|
||||||
|
|
||||||
gem install bundler mailcatcher rake
|
|
||||||
|
|
||||||
|
|
||||||
# install pg10
|
|
||||||
# ubuntu has a bootstrap script for pg repo install:
|
|
||||||
apt install -y postgresql-common
|
|
||||||
sh /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
|
|
||||||
|
|
||||||
apt-get update
|
|
||||||
apt-get install postgresql-10 pgadmin4
|
|
||||||
|
|
||||||
# start postgres somehow
|
|
||||||
sudo -u postgres -i
|
|
||||||
createuser --superuser -Upostgres discourse
|
|
||||||
psql -c "ALTER USER discourse WITH PASSWORD 'password';"
|
|
||||||
|
|
||||||
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
|
|
||||||
|
|
||||||
# FIXME activate nvm
|
|
||||||
|
|
||||||
find $HOME
|
|
||||||
exit 1
|
|
||||||
|
|
||||||
chmod +x /etc/service/*/run
|
|
Loading…
Reference in New Issue