diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/templates/templates.go | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/internal/templates/templates.go b/internal/templates/templates.go index 8615117..8f25f8f 100644 --- a/internal/templates/templates.go +++ b/internal/templates/templates.go | |||
| @@ -99,23 +99,37 @@ while read oldrev newrev refname; do | |||
| 99 | [ "$branch" = "main" ] || { echo "Pushed to $branch, skipping deploy."; exit 0; } | 99 | [ "$branch" = "main" ] || { echo "Pushed to $branch, skipping deploy."; exit 0; } |
| 100 | done | 100 | done |
| 101 | 101 | ||
| 102 | # Ensure checkout directory exists | ||
| 103 | sudo /bin/mkdir -p "$SRC" | ||
| 104 | sudo /bin/chown -R git:git "/var/lib/${NAME}" | ||
| 105 | |||
| 102 | echo "==> Checking out code..." | 106 | echo "==> Checking out code..." |
| 103 | git --work-tree="$SRC" --git-dir="$REPO" checkout -f main | 107 | git --work-tree="$SRC" --git-dir="$REPO" checkout -f main |
| 104 | 108 | ||
| 105 | cd "$SRC" | 109 | cd "$SRC" |
| 106 | 110 | ||
| 107 | # Install deployment config from repo | 111 | # If no Dockerfile, nothing to deploy |
| 108 | if [ -f .ship/service ]; then | 112 | if [ ! -f Dockerfile ]; then |
| 113 | echo "No Dockerfile found, skipping deploy." | ||
| 114 | exit 0 | ||
| 115 | fi | ||
| 116 | |||
| 117 | # Install deployment config from repo (using full paths for sudoers) | ||
| 118 | if [ -f "$SRC/.ship/service" ]; then | ||
| 109 | echo "==> Installing systemd unit..." | 119 | echo "==> Installing systemd unit..." |
| 110 | sudo cp .ship/service /etc/systemd/system/${NAME}.service | 120 | sudo /bin/cp "$SRC/.ship/service" "/etc/systemd/system/${NAME}.service" |
| 111 | sudo systemctl daemon-reload | 121 | sudo systemctl daemon-reload |
| 112 | fi | 122 | fi |
| 113 | if [ -f .ship/Caddyfile ]; then | 123 | if [ -f "$SRC/.ship/Caddyfile" ]; then |
| 114 | echo "==> Installing Caddy config..." | 124 | echo "==> Installing Caddy config..." |
| 115 | sudo cp .ship/Caddyfile /etc/caddy/sites-enabled/${NAME}.caddy | 125 | sudo /bin/cp "$SRC/.ship/Caddyfile" "/etc/caddy/sites-enabled/${NAME}.caddy" |
| 116 | sudo systemctl reload caddy | 126 | sudo systemctl reload caddy |
| 117 | fi | 127 | fi |
| 118 | 128 | ||
| 129 | # Ensure data directory exists | ||
| 130 | sudo /bin/mkdir -p "/var/lib/${NAME}/data" | ||
| 131 | sudo /bin/chown -R git:git "/var/lib/${NAME}/data" | ||
| 132 | |||
| 119 | echo "==> Building Docker image..." | 133 | echo "==> Building Docker image..." |
| 120 | docker build -t ${NAME}:latest . | 134 | docker build -t ${NAME}:latest . |
| 121 | 135 | ||
| @@ -142,7 +156,7 @@ git --work-tree="$WEBROOT" --git-dir="$REPO" checkout -f main | |||
| 142 | 156 | ||
| 143 | if [ -f "$WEBROOT/.ship/Caddyfile" ]; then | 157 | if [ -f "$WEBROOT/.ship/Caddyfile" ]; then |
| 144 | echo "==> Installing Caddy config..." | 158 | echo "==> Installing Caddy config..." |
| 145 | sudo cp "$WEBROOT/.ship/Caddyfile" /etc/caddy/sites-enabled/${NAME}.caddy | 159 | sudo /bin/cp "$WEBROOT/.ship/Caddyfile" "/etc/caddy/sites-enabled/${NAME}.caddy" |
| 146 | sudo systemctl reload caddy | 160 | sudo systemctl reload caddy |
| 147 | fi | 161 | fi |
| 148 | 162 | ||
| @@ -164,7 +178,6 @@ var codeCaddyTemplate = `{{.BaseDomain}} { | |||
| 164 | transport fastcgi { | 178 | transport fastcgi { |
| 165 | env SCRIPT_FILENAME /usr/lib/git-core/git-http-backend | 179 | env SCRIPT_FILENAME /usr/lib/git-core/git-http-backend |
| 166 | env GIT_PROJECT_ROOT /srv/git | 180 | env GIT_PROJECT_ROOT /srv/git |
| 167 | env GIT_HTTP_EXPORT_ALL 1 | ||
| 168 | env REQUEST_METHOD {method} | 181 | env REQUEST_METHOD {method} |
| 169 | env QUERY_STRING {query} | 182 | env QUERY_STRING {query} |
| 170 | env PATH_INFO {path} | 183 | env PATH_INFO {path} |
