FROM cloudron/base:0.3.2

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

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

ENV GOPATH /home/cloudron/gows
RUN mkdir -p /home/cloudron/gows /home/cloudron/gogs

## TODO: use redis as well
RUN mkdir -p ${GOPATH}/src/github.com/gogits && \
    cd ${GOPATH}/src/github.com/gogits && \
    git clone https://github.com/cloudron-io/gogs.git && \
    cd gogs && \
    git reset --hard 7fd7dfdefc8990a4c3bbabcf40870c8f9a367f5a && \
    go get ./... && \
    go build && \
    go install && \
    mv ${GOPATH}/bin/gogs /home/cloudron/gogs/ && \
    cp -r ${GOPATH}/src/github.com/gogits/gogs/templates/ /home/cloudron/gogs/. && \
    cp -r ${GOPATH}/src/github.com/gogits/gogs/public/ /home/cloudron/gogs/. && \
    rm -rf ${GOPATH}

ADD app.ini.template /home/cloudron/app.ini.template
ADD start.sh /home/cloudron/start.sh

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

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