Skip to content

Commit 16cdbe1

Browse files
authored
Merge pull request #288 from tboerger/docker
Docker integration
2 parents fd53028 + d7dea67 commit 16cdbe1

File tree

31 files changed

+232
-371
lines changed

31 files changed

+232
-371
lines changed

.dockerignore

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,5 @@
1-
.git
2-
.git/**
3-
packager
4-
packager/**
5-
scripts
6-
scripts/**
7-
.github/
8-
.github/**
9-
config.codekit
10-
.dockerignore
11-
*.yml
12-
*.md
13-
.bra.toml
14-
.editorconfig
15-
.gitignore
16-
Dockerfile*
17-
vendor
18-
vendor/**
19-
gogs
1+
*
2+
!docker
3+
!bin
4+
!public
5+
!templates

.drone.yml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -50,21 +50,21 @@ pipeline:
5050
event: [ push, tag ]
5151
branch: [ master, refs/tags/* ]
5252

53-
# docker:
54-
# image: plugins/docker
55-
# repo: gitea/gitea
56-
# tags: [ '${TAG}' ]
57-
# when:
58-
# event: [ tag ]
59-
# branch: [ refs/tags/* ]
53+
docker:
54+
image: plugins/docker
55+
repo: gitea/gitea
56+
tags: [ '${TAG}' ]
57+
when:
58+
event: [ tag ]
59+
branch: [ refs/tags/* ]
6060

61-
# docker:
62-
# image: plugins/docker
63-
# repo: gitea/gitea
64-
# tags: [ 'latest' ]
65-
# when:
66-
# event: [ push ]
67-
# branch: [ master ]
61+
docker:
62+
image: plugins/docker
63+
repo: gitea/gitea
64+
tags: [ 'latest' ]
65+
when:
66+
event: [ push ]
67+
branch: [ master ]
6868

6969
release:
7070
image: plugins/s3

.drone.yml.sig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIGJhc2U6IC9zcnYvYXBwCiAgcGF0aDogc3JjL2NvZGUuZ2l0ZWEuaW8vZ2l0ZWEKCnBpcGVsaW5lOgogIHRlc3Q6CiAgICBpbWFnZTogd2ViaGlwcGllL2dvbGFuZzplZGdlCiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgQ0dPX0VOQUJMRUQ6IDEKICAgICAgVEFHUzogY2VydCBzcWxpdGUgcGFtIG1pbml3aW5zdmMKICAgIGNvbW1hbmRzOgogICAgICAtIGFwayAtVSBhZGQgbGludXgtcGFtLWRldiBvcGVuc3NoLWNsaWVudAogICAgICAtIG1ha2UgY2xlYW4KICAgICAgLSBtYWtlIHZldAogICAgICAjIC0gbWFrZSBsaW50CiAgICAgIC0gbWFrZSB0ZXN0CiAgICAgIC0gbWFrZSBidWlsZAogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnLCBwdWxsX3JlcXVlc3QgXQoKICB0ZXN0LW15c3FsOgogICAgaW1hZ2U6IHdlYmhpcHBpZS9nb2xhbmc6ZWRnZQogICAgcHVsbDogdHJ1ZQogICAgY29tbWFuZHM6CiAgICAgLSBtYWtlIHRlc3QtbXlzcWwKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2ggXQoKICB0ZXN0LXBnc3FsOgogICAgaW1hZ2U6IHdlYmhpcHBpZS9nb2xhbmc6ZWRnZQogICAgcHVsbDogdHJ1ZQogICAgY29tbWFuZHM6CiAgICAgLSBtYWtlIHRlc3QtcGdzcWwKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2ggXQoKICBjb3ZlcmFnZToKICAgIGltYWdlOiBwbHVnaW5zL2NvdmVyYWdlCiAgICBzZXJ2ZXI6IGh0dHBzOi8vY292ZXJhZ2UuZ2l0ZWEuaW8KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2gsIHRhZywgcHVsbF9yZXF1ZXN0IF0KCiAgdXBkYXRlcjoKICAgIGltYWdlOiBrYXJhbGFiZS94Z28tbGF0ZXN0OmxhdGVzdAogICAgcHVsbDogdHJ1ZQogICAgY29tbWFuZHM6CiAgICAgIC0gbWFrZSBwdWJsaXNoCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoLCB0YWcgXQogICAgICBicmFuY2g6IFsgbWFzdGVyLCByZWZzL3RhZ3MvKiBdCgogICMgZG9ja2VyOgogICMgICBpbWFnZTogcGx1Z2lucy9kb2NrZXIKICAjICAgcmVwbzogZ2l0ZWEvZ2l0ZWEKICAjICAgdGFnczogWyAnJHtUQUd9JyBdCiAgIyAgIHdoZW46CiAgIyAgICAgZXZlbnQ6IFsgdGFnIF0KICAjICAgICBicmFuY2g6IFsgcmVmcy90YWdzLyogXQoKICAjIGRvY2tlcjoKICAjICAgaW1hZ2U6IHBsdWdpbnMvZG9ja2VyCiAgIyAgIHJlcG86IGdpdGVhL2dpdGVhCiAgIyAgIHRhZ3M6IFsgJ2xhdGVzdCcgXQogICMgICB3aGVuOgogICMgICAgIGV2ZW50OiBbIHB1c2ggXQogICMgICAgIGJyYW5jaDogWyBtYXN0ZXIgXQoKICByZWxlYXNlOgogICAgaW1hZ2U6IHBsdWdpbnMvczMKICAgIHBhdGhfc3R5bGU6IHRydWUKICAgIHN0cmlwX3ByZWZpeDogZGlzdC9yZWxlYXNlLwogICAgc291cmNlOiBkaXN0L3JlbGVhc2UvKgogICAgdGFyZ2V0OiAvZ2l0ZWEvbWFzdGVyCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoIF0KICAgICAgYnJhbmNoOiBbIG1hc3RlciBdCgogIHJlbGVhc2U6CiAgICBpbWFnZTogcGx1Z2lucy9zMwogICAgcGF0aF9zdHlsZTogdHJ1ZQogICAgc3RyaXBfcHJlZml4OiBkaXN0L3JlbGVhc2UvCiAgICBzb3VyY2U6IGRpc3QvcmVsZWFzZS8qCiAgICB0YXJnZXQ6IC9naXRlYS8kJFRBRwogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgdGFnIF0KICAgICAgYnJhbmNoOiBbIHJlZnMvdGFncy8qIF0KCiAgZ2l0aHViOgogICAgaW1hZ2U6IHBsdWdpbnMvZ2l0aHViLXJlbGVhc2UKICAgIGZpbGVzOgogICAgICAtIGRpc3QvcmVsZWFzZS8qCiAgICB3aGVuOgogICAgICBldmVudDogWyB0YWcgXQogICAgICBicmFuY2g6IFsgcmVmcy90YWdzLyogXQoKICBnaXR0ZXI6CiAgICBpbWFnZTogcGx1Z2lucy9naXR0ZXIKCnNlcnZpY2VzOgogIG15c3FsOgogICAgaW1hZ2U6IG15c3FsOjUuNwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gTVlTUUxfREFUQUJBU0U9dGVzdAogICAgICAtIE1ZU1FMX0FMTE9XX0VNUFRZX1BBU1NXT1JEPXllcwogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCBdCgogIHBnc3FsOgogICAgaW1hZ2U6IHBvc3RncmVzOjkuNQogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gUE9TVEdSRVNfREI9dGVzdAogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCBdCg.CJAqrylL68UPxR-wlKhIL9waJKRhw6isiol_f9Lx5ao
1+
eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIGJhc2U6IC9zcnYvYXBwCiAgcGF0aDogc3JjL2NvZGUuZ2l0ZWEuaW8vZ2l0ZWEKCnBpcGVsaW5lOgogIHRlc3Q6CiAgICBpbWFnZTogd2ViaGlwcGllL2dvbGFuZzplZGdlCiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgQ0dPX0VOQUJMRUQ6IDEKICAgICAgVEFHUzogY2VydCBzcWxpdGUgcGFtIG1pbml3aW5zdmMKICAgIGNvbW1hbmRzOgogICAgICAtIGFwayAtVSBhZGQgbGludXgtcGFtLWRldiBvcGVuc3NoLWNsaWVudAogICAgICAtIG1ha2UgY2xlYW4KICAgICAgLSBtYWtlIHZldAogICAgICAjIC0gbWFrZSBsaW50CiAgICAgIC0gbWFrZSB0ZXN0CiAgICAgIC0gbWFrZSBidWlsZAogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnLCBwdWxsX3JlcXVlc3QgXQoKICB0ZXN0LW15c3FsOgogICAgaW1hZ2U6IHdlYmhpcHBpZS9nb2xhbmc6ZWRnZQogICAgcHVsbDogdHJ1ZQogICAgY29tbWFuZHM6CiAgICAgLSBtYWtlIHRlc3QtbXlzcWwKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2ggXQoKICB0ZXN0LXBnc3FsOgogICAgaW1hZ2U6IHdlYmhpcHBpZS9nb2xhbmc6ZWRnZQogICAgcHVsbDogdHJ1ZQogICAgY29tbWFuZHM6CiAgICAgLSBtYWtlIHRlc3QtcGdzcWwKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2ggXQoKICBjb3ZlcmFnZToKICAgIGltYWdlOiBwbHVnaW5zL2NvdmVyYWdlCiAgICBzZXJ2ZXI6IGh0dHBzOi8vY292ZXJhZ2UuZ2l0ZWEuaW8KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2gsIHRhZywgcHVsbF9yZXF1ZXN0IF0KCiAgdXBkYXRlcjoKICAgIGltYWdlOiBrYXJhbGFiZS94Z28tbGF0ZXN0OmxhdGVzdAogICAgcHVsbDogdHJ1ZQogICAgY29tbWFuZHM6CiAgICAgIC0gbWFrZSBwdWJsaXNoCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoLCB0YWcgXQogICAgICBicmFuY2g6IFsgbWFzdGVyLCByZWZzL3RhZ3MvKiBdCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogZ2l0ZWEvZ2l0ZWEKICAgIHRhZ3M6IFsgJyR7VEFHfScgXQogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgdGFnIF0KICAgICAgYnJhbmNoOiBbIHJlZnMvdGFncy8qIF0KCiAgZG9ja2VyOgogICAgaW1hZ2U6IHBsdWdpbnMvZG9ja2VyCiAgICByZXBvOiBnaXRlYS9naXRlYQogICAgdGFnczogWyAnbGF0ZXN0JyBdCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoIF0KICAgICAgYnJhbmNoOiBbIG1hc3RlciBdCgogIHJlbGVhc2U6CiAgICBpbWFnZTogcGx1Z2lucy9zMwogICAgcGF0aF9zdHlsZTogdHJ1ZQogICAgc3RyaXBfcHJlZml4OiBkaXN0L3JlbGVhc2UvCiAgICBzb3VyY2U6IGRpc3QvcmVsZWFzZS8qCiAgICB0YXJnZXQ6IC9naXRlYS9tYXN0ZXIKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2ggXQogICAgICBicmFuY2g6IFsgbWFzdGVyIF0KCiAgcmVsZWFzZToKICAgIGltYWdlOiBwbHVnaW5zL3MzCiAgICBwYXRoX3N0eWxlOiB0cnVlCiAgICBzdHJpcF9wcmVmaXg6IGRpc3QvcmVsZWFzZS8KICAgIHNvdXJjZTogZGlzdC9yZWxlYXNlLyoKICAgIHRhcmdldDogL2dpdGVhLyQkVEFHCiAgICB3aGVuOgogICAgICBldmVudDogWyB0YWcgXQogICAgICBicmFuY2g6IFsgcmVmcy90YWdzLyogXQoKICBnaXRodWI6CiAgICBpbWFnZTogcGx1Z2lucy9naXRodWItcmVsZWFzZQogICAgZmlsZXM6CiAgICAgIC0gZGlzdC9yZWxlYXNlLyoKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCgogIGdpdHRlcjoKICAgIGltYWdlOiBwbHVnaW5zL2dpdHRlcgoKc2VydmljZXM6CiAgbXlzcWw6CiAgICBpbWFnZTogbXlzcWw6NS43CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBNWVNRTF9EQVRBQkFTRT10ZXN0CiAgICAgIC0gTVlTUUxfQUxMT1dfRU1QVFlfUEFTU1dPUkQ9eWVzCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoIF0KCiAgcGdzcWw6CiAgICBpbWFnZTogcG9zdGdyZXM6OS41CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBQT1NUR1JFU19EQj10ZXN0CiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoIF0K.W-dU1J1yWsWKPzQp5YvXtNAxoTa-vP_OkmBenzqR00c

Dockerfile

Lines changed: 39 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,44 @@
1-
FROM alpine:3.3
2-
1+
FROM alpine:3.4
2+
MAINTAINER Thomas Boerger <[email protected]>
33

4-
# Install system utils & Gogs runtime dependencies
5-
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-amd64 /usr/sbin/gosu
6-
RUN chmod +x /usr/sbin/gosu \
7-
&& apk --no-cache --no-progress add ca-certificates bash git linux-pam s6 curl openssh socat tzdata
8-
9-
ENV GITEA_CUSTOM /data/gogs
4+
EXPOSE 22 3000
105

11-
COPY . /app/gogs/
12-
WORKDIR /app/gogs/
13-
RUN ./docker/build.sh
6+
RUN apk update && \
7+
apk add \
8+
su-exec \
9+
ca-certificates \
10+
sqlite \
11+
bash \
12+
git \
13+
linux-pam \
14+
s6 \
15+
curl \
16+
openssh \
17+
tzdata && \
18+
rm -rf \
19+
/var/cache/apk/* && \
20+
addgroup \
21+
-S -g 1000 \
22+
git && \
23+
adduser \
24+
-S -H -D \
25+
-h /data/git \
26+
-s /bin/bash \
27+
-u 1000 \
28+
-G git \
29+
git
1430

15-
# Configure LibC Name Service
16-
COPY docker/nsswitch.conf /etc/nsswitch.conf
31+
ENV USER git
32+
ENV GITEA_CUSTOM /data/gitea
33+
ENV GODEBUG=netdns=go
1734

18-
# Configure Docker Container
1935
VOLUME ["/data"]
20-
EXPOSE 22 3000
21-
ENTRYPOINT ["docker/start.sh"]
22-
CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"]
36+
37+
ENTRYPOINT ["/usr/bin/entrypoint"]
38+
CMD ["/bin/s6-svscan", "/etc/s6"]
39+
40+
COPY docker /
41+
42+
COPY public /app/gitea/public
43+
COPY templates /app/gitea/templates
44+
COPY bin/gitea /app/gitea/gitea

Dockerfile.rpi

Lines changed: 39 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,44 @@
1-
FROM hypriot/rpi-alpine-scratch:v3.2
2-
1+
FROM hypriot/rpi-alpine-scratch:v3.4
2+
MAINTAINER Thomas Boerger <[email protected]>
33

4-
# Install system utils & Gogs runtime dependencies
5-
ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-armhf /usr/sbin/gosu
6-
RUN chmod +x /usr/sbin/gosu \
7-
&& echo "http://dl-4.alpinelinux.org/alpine/v3.3/main/" | tee /etc/apk/repositories \
8-
&& echo "http://dl-4.alpinelinux.org/alpine/v3.3/community/" | tee -a /etc/apk/repositories \
9-
&& apk -U --no-progress upgrade && rm -f /var/cache/apk/APKINDEX.* \
10-
&& apk --no-cache --no-progress add ca-certificates bash git linux-pam s6 curl openssh socat tzdata
11-
12-
ENV GITEA_CUSTOM /data/gogs
4+
EXPOSE 22 3000
135

14-
COPY . /app/gogs/
15-
WORKDIR /app/gogs/
16-
RUN ./docker/build.sh
6+
RUN apk update && \
7+
apk add \
8+
su-exec \
9+
ca-certificates \
10+
sqlite \
11+
bash \
12+
git \
13+
linux-pam \
14+
s6 \
15+
curl \
16+
openssh \
17+
tzdata && \
18+
rm -rf \
19+
/var/cache/apk/* && \
20+
addgroup \
21+
-S -g 1000 \
22+
git && \
23+
adduser \
24+
-S -H -D \
25+
-h /data/git \
26+
-s /bin/bash \
27+
-u 1000 \
28+
-G git \
29+
git
1730

18-
# Configure LibC Name Service
19-
COPY docker/nsswitch.conf /etc/nsswitch.conf
31+
ENV USER git
32+
ENV GITEA_CUSTOM /data/gitea
33+
ENV GODEBUG=netdns=go
2034

21-
# Configure Docker Container
2235
VOLUME ["/data"]
23-
EXPOSE 22 3000
24-
ENTRYPOINT ["docker/start.sh"]
25-
CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"]
36+
37+
ENTRYPOINT ["/usr/bin/entrypoint"]
38+
CMD ["/bin/s6-svscan", "/etc/s6"]
39+
40+
COPY docker /
41+
42+
COPY public /app/gitea/public
43+
COPY templates /app/gitea/templates
44+
COPY bin/gitea /app/gitea/gitea

docker/README.md

Lines changed: 0 additions & 111 deletions
This file was deleted.

docker/build.sh

Lines changed: 0 additions & 36 deletions
This file was deleted.

docker/nsswitch.conf renamed to docker/etc/nsswitch.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,3 @@ ethers: db files
1313
rpc: db files
1414

1515
netgroup: nis
16-

docker/etc/profile.d/gitea.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/bash
2+
export GITEA_CUSTOM=/data/gitea

docker/etc/s6/.s6-svscan/finish

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/bash
2+
exit 0

docker/etc/s6/gitea/finish

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/bash
2+
exit 0

docker/etc/s6/gitea/run

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
[[ -f ./setup ]] && source ./setup
3+
4+
pushd /app/gitea > /dev/null
5+
exec su-exec git /app/gitea/gitea web
6+
popd

docker/etc/s6/gitea/setup

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
3+
if [ ! -d /data/git/.ssh ]; then
4+
mkdir -p /data/git/.ssh
5+
chmod 700 /data/git/.ssh
6+
fi
7+
8+
if [ ! -f /data/git/.ssh/environment ]; then
9+
echo "GITEA_CUSTOM=/data/gitea" >| /data/git/.ssh/environment
10+
chmod 600 /data/git/.ssh/environment
11+
fi
12+
13+
if [ ! -f /data/gitea/conf/app.ini ]; then
14+
mkdir -p /data/gitea/conf
15+
cp /etc/templates/app.ini /data/gitea/conf/app.ini
16+
fi
17+
18+
chown -R git:git /data/gitea /app/gitea /data/git
19+
chmod 0755 /data/gitea /app/gitea /data/git

docker/etc/s6/openssh/finish

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/bash
2+
exit 0

docker/etc/s6/openssh/run

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
[[ -f ./setup ]] && source ./setup
3+
4+
pushd /root > /dev/null
5+
exec su-exec root /usr/sbin/sshd -E /var/log/sshd.log -D
6+
popd

0 commit comments

Comments
 (0)