2017-11-26 14:44:32 -07:00
---
date: "2016-12-21T15:00:00-02:00"
2023-10-09 07:20:16 -06:00
title: "Register as a Windows service"
2017-11-26 14:44:32 -07:00
slug: "windows-service"
2023-07-25 22:53:13 -06:00
sidebar_position: 50
2020-12-08 23:47:06 -07:00
toc: false
2017-11-26 14:44:32 -07:00
draft: false
Refactor docs (#23752)
This was intended to be a small followup for
https://github.com/go-gitea/gitea/pull/23712, but...here we are.
1. Our docs currently use `slug` as the entire URL, which makes
refactoring tricky (see https://github.com/go-gitea/gitea/pull/23712).
Instead, this PR attempts to make future refactoring easier by using
slugs as an extension of the section. (Hugo terminology)
- What the above boils down to is this PR attempts to use directory
organization as URL management. e.g. `usage/comparison.en-us.md` ->
`en-us/usage/comparison/`, `usage/packages/overview.en-us.md` ->
`en-us/usage/packages/overview/`
- Technically we could even remove `slug`, as Hugo defaults to using
filename, however at least with this PR it means `slug` only needs to be
the name for the **current file** rather than an entire URL
2. This PR adds appropriate aliases (redirects) for pages, so anything
on the internet that links to our docs should hopefully not break.
3. A minor nit I've had for a while, renaming `seek-help` to `support`.
It's a minor thing, but `seek-help` has a strange connotation to it.
4. The commits are split such that you can review the first which is the
"actual" change, and the second is added redirects so that the first
doesn't break links elsewhere.
---------
Signed-off-by: jolheiser <john.olheiser@gmail.com>
2023-04-27 21:33:41 -06:00
aliases:
- /en-us/windows-service
2017-11-26 14:44:32 -07:00
menu:
sidebar:
parent: "installation"
name: "Windows Service"
2023-07-25 22:53:13 -06:00
sidebar_position: 50
2017-11-26 14:44:32 -07:00
identifier: "windows-service"
---
2023-10-09 07:20:16 -06:00
# Register as a Windows service
2017-11-26 14:44:32 -07:00
2023-10-09 07:20:16 -06:00
## Prerequisites
2019-01-16 07:43:26 -07:00
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$`
2023-10-09 07:20:16 -06:00
### Use absolute paths
2019-01-16 07:43:26 -07:00
2021-12-23 20:56:57 -07:00
If you use SQLite3, change the `PATH` to include the full path:
2019-01-16 07:43:26 -07:00
```
[database]
PATH = c:/gitea/data/gitea.db
```
2023-10-09 07:20:16 -06:00
## Register Gitea
2017-11-26 14:44:32 -07:00
2018-01-08 15:48:42 -07:00
To register Gitea as a Windows service, open a command prompt (cmd) as an Administrator,
then run the following command:
2017-11-26 14:44:32 -07:00
```
2019-12-12 22:13:38 -07:00
sc.exe create gitea start= auto binPath= "\"C:\gitea\gitea.exe\" web --config \"C:\gitea\custom\conf\app.ini\""
2017-11-26 14:44:32 -07:00
```
2018-01-08 15:48:42 -07:00
Do not forget to replace `C:\gitea` with the correct Gitea directory.
2017-11-26 14:44:32 -07:00
2018-01-08 15:48:42 -07:00
Open "Windows Services", search for the service named "gitea", right-click it and click on
2019-03-09 14:15:45 -07:00
"Run". If everything is OK, Gitea will be reachable on `http://localhost:3000` (or the port
2018-01-08 15:48:42 -07:00
that was configured).
2017-11-26 14:44:32 -07:00
2023-10-09 07:20:16 -06:00
### Service startup type
2023-09-06 05:14:12 -06:00
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
```
2023-10-09 07:20:16 -06:00
### Adding startup dependencies
2022-08-28 09:28:42 -06:00
Fix various typos (#21103)
Found via `codespell -q 3 -S
./options/locale,./options/license,./public/vendor,./web_src/fomantic -L
actived,allways,attachements,ba,befores,commiter,pullrequest,pullrequests,readby,splitted,te,unknwon`
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2022-09-07 12:40:36 -06:00
To add a startup dependency to the Gitea Windows service (eg Mysql, Mariadb), as an Administrator, then run the following command:
2022-08-28 09:28:42 -06:00
```
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.
2023-10-09 07:20:16 -06:00
## Unregister Gitea
2017-11-26 14:44:32 -07:00
2023-10-09 07:20:16 -06:00
To unregister Gitea as a Windows service, open a command prompt (cmd) as an Administrator and run:
2017-11-26 14:44:32 -07:00
```
2019-12-12 22:13:38 -07:00
sc.exe delete gitea
2017-11-26 14:44:32 -07:00
```