aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
Diffstat (limited to 'docker')
-rw-r--r--docker/README.md2
-rwxr-xr-xdocker/build/finalize.sh30
-rwxr-xr-xdocker/build/install-task.sh20
-rwxr-xr-xdocker/finalize.sh16
4 files changed, 51 insertions, 17 deletions
diff --git a/docker/README.md b/docker/README.md
index 4cf61292..2c10b320 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -61,7 +61,7 @@ $ docker run --name=gogs -p 10022:22 -p 10880:3000 -v gogs-data:/data gogs/gogs
Most of the settings are obvious and easy to understand, but there are some settings can be confusing by running Gogs inside Docker:
- **Repository Root Path**: keep it as default value `/home/git/gogs-repositories` because `start.sh` already made a symbolic link for you.
-- **Run User**: keep it as default value `git` because `finalize.sh` already setup a user with name `git`.
+- **Run User**: keep it as default value `git` because `build/finalize.sh` already setup a user with name `git`.
- **Domain**: fill in with Docker container IP (e.g. `192.168.99.100`). But if you want to access your Gogs instance from a different physical machine, please fill in with the hostname or IP address of the Docker host machine.
- **SSH Port**: Use the exposed port from Docker container. For example, your SSH server listens on `22` inside Docker, **but** you expose it by `10022:22`, then use `10022` for this value. **Builtin SSH server is not recommended inside Docker Container**
- **HTTP Port**: Use port you want Gogs to listen on inside Docker container. For example, your Gogs listens on `3000` inside Docker, **and** you expose it by `10880:3000`, but you still use `3000` for this value.
diff --git a/docker/build/finalize.sh b/docker/build/finalize.sh
new file mode 100755
index 00000000..41eb2801
--- /dev/null
+++ b/docker/build/finalize.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+set -xe
+
+# Install gosu
+if [ "$(uname -m)" = "aarch64" ]; then
+ export arch='arm64'
+ export checksum='73244a858f5514a927a0f2510d533b4b57169b64d2aa3f9d98d92a7a7df80cea'
+elif [ "$(uname -m)" = "armv7l" ]; then
+ export arch='armhf'
+ export checksum='abb1489357358b443789571d52b5410258ddaca525ee7ac3ba0dd91d34484589'
+else
+ export arch='amd64'
+ export checksum='bd8be776e97ec2b911190a82d9ab3fa6c013ae6d3121eea3d0bfd5c82a0eaf8c'
+fi
+
+wget --quiet https://github.com/tianon/gosu/releases/download/1.14/gosu-${arch} -O /usr/sbin/gosu
+echo "${checksum} /usr/sbin/gosu" | sha256sum -cs
+chmod +x /usr/sbin/gosu
+
+# Create git user for Gogs
+addgroup -S git
+adduser -G git -H -D -g 'Gogs Git User' git -h /data/git -s /bin/bash && usermod -p '*' git && passwd -u git
+echo "export GOGS_CUSTOM=${GOGS_CUSTOM}" >> /etc/profile
+
+# Final cleaning
+rm -rf /app/gogs/build
+rm -rf /app/gogs/docker/build
+rm /app/gogs/docker/nsswitch.conf
+rm /app/gogs/docker/README.md
diff --git a/docker/build/install-task.sh b/docker/build/install-task.sh
new file mode 100755
index 00000000..677b6c41
--- /dev/null
+++ b/docker/build/install-task.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+set -xe
+
+if [ "$(uname -m)" = "aarch64" ]; then
+ export arch='arm64'
+ export checksum='44fad3d61ad39d0abff33f90fdbb99a666524dbeab08dc9d138d5d3a532ff68a'
+elif [ "$(uname -m)" = "armv7l" ]; then
+ export arch='arm'
+ export checksum='b10ae7d85749025740097b0c349b946fbabd417c7ee4d2df8ccc5604750accd9'
+else
+ export arch='amd64'
+ export checksum='b9c5986f33a53094751b5e22ccc33e050b4a0a485658442121331cbb724e631e'
+fi
+
+wget --quiet https://github.com/go-task/task/releases/download/v3.12.1/task_linux_${arch}.tar.gz -O task_linux_${arch}.tar.gz
+echo "${checksum} task_linux_${arch}.tar.gz" | sha256sum -cs
+
+tar -xzf task_linux_${arch}.tar.gz
+mv task /usr/local/bin/task
diff --git a/docker/finalize.sh b/docker/finalize.sh
deleted file mode 100755
index 4038b16d..00000000
--- a/docker/finalize.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-# Finalize the build
-
-set -x
-set -e
-
-# Create git user for Gogs
-addgroup -S git
-adduser -G git -H -D -g 'Gogs Git User' git -h /data/git -s /bin/bash && usermod -p '*' git && passwd -u git
-echo "export GOGS_CUSTOM=${GOGS_CUSTOM}" >> /etc/profile
-
-# Final cleaning
-rm -rf /app/gogs/build
-rm /app/gogs/docker/finalize.sh
-rm /app/gogs/docker/nsswitch.conf
-rm /app/gogs/docker/README.md