summarylogtreecommitdiffstats
path: root/gogs.install
diff options
context:
space:
mode:
Diffstat (limited to 'gogs.install')
-rw-r--r--gogs.install42
1 files changed, 42 insertions, 0 deletions
diff --git a/gogs.install b/gogs.install
new file mode 100644
index 000000000000..0402a43106df
--- /dev/null
+++ b/gogs.install
@@ -0,0 +1,42 @@
+pre_install() {
+ if ! getent group gogs >/dev/null; then
+ groupadd --system gogs
+ fi
+ if ! getent passwd gogs >/dev/null; then
+ useradd -m --system -c 'gogs daemon users' -g gogs -s /bin/false gogs
+ fi
+ chsh gogs -s /usr/bin/bash
+}
+
+post_install(){
+ mkdir -p /var/log/gogs
+ chown -R gogs:gogs /var/log/gogs
+ chown -R gogs:gogs /srv/gogs
+
+ systemctl daemon-reload
+}
+
+pre_upgrade(){
+ systemctl stop gogs.service
+
+ pre_install $1
+}
+
+post_upgrade() {
+ post_install $1
+ systemctl start gogs.service
+}
+
+pre_remove() {
+ systemctl stop gogs.service
+ systemctl disable gogs.service
+}
+
+post_remove() {
+ if getent passwd gogs >/dev/null; then
+ userdel -r gogs
+ fi
+ if getent group gogs >/dev/null; then
+ groupdel gogs
+ fi
+}