forked from Shiloh/githaven
b3d88ada01
Service may fail to start at boot time with timeout Resolves #26934 Co-authored-by: Nikolay Kobzarev <n.kobzarev@aeronavigator.ru>
80 lines
2.1 KiB
Markdown
80 lines
2.1 KiB
Markdown
---
|
|
date: "2016-12-21T15:00:00-02:00"
|
|
title: "Register as a Windows Service"
|
|
slug: "windows-service"
|
|
sidebar_position: 50
|
|
toc: false
|
|
draft: false
|
|
aliases:
|
|
- /en-us/windows-service
|
|
menu:
|
|
sidebar:
|
|
parent: "installation"
|
|
name: "Windows Service"
|
|
sidebar_position: 50
|
|
identifier: "windows-service"
|
|
---
|
|
|
|
# Prerequisites
|
|
|
|
The following changes are made in C:\gitea\custom\conf\app.ini:
|
|
|
|
```
|
|
RUN_USER = COMPUTERNAME$
|
|
```
|
|
|
|
Sets Gitea to run as the local system user.
|
|
|
|
COMPUTERNAME is whatever the response is from `echo %COMPUTERNAME%` on the command line. If the response is `USER-PC` then `RUN_USER = USER-PC$`
|
|
|
|
## Use absolute paths
|
|
|
|
If you use SQLite3, change the `PATH` to include the full path:
|
|
|
|
```
|
|
[database]
|
|
PATH = c:/gitea/data/gitea.db
|
|
```
|
|
|
|
# Register as a Windows Service
|
|
|
|
To register Gitea as a Windows service, open a command prompt (cmd) as an Administrator,
|
|
then run the following command:
|
|
|
|
```
|
|
sc.exe create gitea start= auto binPath= "\"C:\gitea\gitea.exe\" web --config \"C:\gitea\custom\conf\app.ini\""
|
|
```
|
|
|
|
Do not forget to replace `C:\gitea` with the correct Gitea directory.
|
|
|
|
Open "Windows Services", search for the service named "gitea", right-click it and click on
|
|
"Run". If everything is OK, Gitea will be reachable on `http://localhost:3000` (or the port
|
|
that was configured).
|
|
|
|
## Service startup type
|
|
|
|
It was observed that on loaded systems during boot Gitea service may fail to start with timeout records in Windows Event Log.
|
|
In that case change startup type to `Automatic-Delayed`. This can be done during service creation, or by running config command
|
|
|
|
```
|
|
sc.exe config gitea start= delayed-auto
|
|
```
|
|
|
|
## Adding startup dependencies
|
|
|
|
To add a startup dependency to the Gitea Windows service (eg Mysql, Mariadb), as an Administrator, then run the following command:
|
|
|
|
```
|
|
sc.exe config gitea depend= mariadb
|
|
```
|
|
|
|
This will ensure that when the Windows machine restarts, the automatic starting of Gitea is postponed until the database is ready and thus mitigate failed startups.
|
|
|
|
## Unregister as a service
|
|
|
|
To unregister Gitea as a service, open a command prompt (cmd) as an Administrator and run:
|
|
|
|
```
|
|
sc.exe delete gitea
|
|
```
|