FROM ubuntu:noble

RUN env DEBIAN_FRONTEND=noninteractive apt-get -y update
RUN env DEBIAN_FRONTEND=noninteractive apt-get -y install git ruby sudo wget curl tzdata
RUN adduser --uid 1001 --disabled-password --gecos="Mastodon Server,,,," mastodon
RUN echo "mastodon ALL=(root:root) NOPASSWD:ALL" > /etc/sudoers.d/mastodon

RUN git -C /home/mastodon clone https://github.com/mastodon/mastodon
RUN git -C /home/mastodon/mastodon checkout v4.2.9

COPY extract-mastodon-setup-commands /home/mastodon
RUN cd /home/mastodon && /home/mastodon/extract-mastodon-setup-commands /home/mastodon/mastodon

RUN env DEBIAN_FRONTEND=noninteractive apt-get -y install software-properties-common

USER mastodon
RUN cd /home/mastodon/mastodon && env DEBIAN_FRONTEND=noninteractive USER=mastodon ../provisionA.sh </dev/null

USER root
RUN cd /home/mastodon/mastodon && env DEBIAN_FRONTEND=noninteractive PATH=/home/mastodon/stub-systemctl:"$PATH" ../provisionElasticsearch.sh </dev/null || true

RUN mkdir /vagrant
RUN ruby --version | awk '{print $2}' > /vagrant/.ruby-version

# USER mastodon
RUN cd /home/mastodon/mastodon && env DEBIAN_FRONTEND=noninteractive USER=mastodon ../provisionB.sh </dev/null
