summaryrefslogtreecommitdiffstats
path: root/packager/debian/postinst
blob: c0b06b02339a7e5df16eb7206401a65971c607cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/sh

set -e

APP_NAME="gogs"
CLI="${APP_NAME}"
APP_USER=$(${CLI} config:get APP_USER)
APP_GROUP=$(${CLI} config:get APP_GROUP)
APP_CONFIG="/etc/${APP_NAME}/conf/app.ini"

case "$1" in
  abort-upgrade|abort-remove|abort-deconfigure)
    exit 0
  ;;

  configure|*)
    mkdir -p $(dirname ${APP_CONFIG})
    chown ${APP_USER}.${APP_GROUP} $(dirname ${APP_CONFIG})
    [ -f ${APP_CONFIG} ] || ${CLI} run cp conf/app.ini ${APP_CONFIG}
    ${CLI} config:set USER=${APP_USER}
    PORT=$(${CLI} config:get PORT || echo "6000")
    sed -i "s|HTTP_PORT = 3000|HTTP_PORT = ${PORT}|" ${APP_CONFIG}
    sed -i "s|RUN_USER = git|RUN_USER = ${APP_USER}|" ${APP_CONFIG}
    sed -i "s|RUN_MODE = dev|RUN_MODE = prod|" ${APP_CONFIG}

    # setup symlink towards custom conf
    mkdir -p /opt/${APP_NAME}/custom/conf
    chown -R ${APP_USER}.${APP_GROUP} /opt/${APP_NAME}/custom
    ln -f -s ${APP_CONFIG} /opt/${APP_NAME}/custom/conf/app.ini

    # scale
    ${CLI} scale web=1 || true
  ;;

esac