FROM cloudron/base:0.8.0

RUN apt-get update && \
    apt-get install -y openssh-server && \
    rm -r /var/cache/apt /var/lib/apt/lists

ADD supervisor/ /etc/supervisor/conf.d/

RUN mkdir -p /home/cloudron/gogs
## TODO: use redis as well
RUN cd /home/cloudron/gogs && \
    curl -L https://github.com/gogits/gogs/releases/download/v0.8.25/linux_amd64.tar.gz | tar zxvf - --strip-components 1

# setup config paths
ADD app.ini.template /home/cloudron/app.ini.template
RUN mkdir -p /run/gogs && chown -R cloudron:cloudron /run/gogs

# setup log paths
RUN mkdir -p /run/gogs && chown -R cloudron:cloudron /run/gogs
RUN sed -e 's,^logfile=.*$,logfile=/run/gogs/supervisord.log,' -i /etc/supervisor/supervisord.conf

RUN ln -s /app/data/ssh /home/cloudron/.ssh
RUN ln -s /app/data/gitconfig /home/cloudron/.gitconfig

ADD start.sh /home/cloudron/start.sh

# disable pam authentication for sshd
RUN sed -e 's/UsePAM yes/UsePAM no/' -e 's/UsePrivilegeSeparation yes/UsePrivilegeSeparation no/' -i /etc/ssh/sshd_config
RUN echo "UseDNS no" >> /etc/ssh/sshd_config

CMD [ "/home/cloudron/start.sh" ]