forgejo/docs/content/installation/windows-service.en-us.md
KazzmanK b3d88ada01
Add a documentation note for Windows Service (#26938)
Service may fail to start at boot time with timeout
Resolves #26934

Co-authored-by: Nikolay Kobzarev <n.kobzarev@aeronavigator.ru>
2023-09-06 11:14:12 +00:00

2.1 KiB

date title slug sidebar_position toc draft aliases menu
2016-12-21T15:00:00-02:00 Register as a Windows Service windows-service 50 false false
/en-us/windows-service
sidebar
parent name sidebar_position identifier
installation Windows Service 50 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