mirror of
https://github.com/usememos/memos.git
synced 2024-12-24 11:44:44 +03:00
99 lines
2.9 KiB
Markdown
99 lines
2.9 KiB
Markdown
# Installing memos as a service on Windows
|
|
|
|
While memos first-class support is for Docker, you may also install memos as a Windows service. It will run under SYSTEM account and start automatically at system boot.
|
|
|
|
❗ All service management methods requires admin privileges. Use [gsudo](https://gerardog.github.io/gsudo/docs/install), or open a new PowerShell terminal as admin:
|
|
|
|
```powershell
|
|
Start-Process powershell -Verb RunAs
|
|
```
|
|
|
|
## Choose one of the following methods
|
|
|
|
### 1. Using [NSSM](https://nssm.cc/download)
|
|
|
|
NSSM is a lightweight service wrapper.
|
|
|
|
You may put `nssm.exe` in the same directory as `memos.exe`, or add its directory to your system PATH. Prefer the latest 64-bit version of `nssm.exe`.
|
|
|
|
```powershell
|
|
# Install memos as a service
|
|
nssm install memos "C:\path\to\memos.exe" --mode prod --port 5230
|
|
|
|
# Delay auto start
|
|
nssm set memos DisplayName "memos service"
|
|
|
|
# Configure extra service parameters
|
|
nssm set memos Description "A lightweight, self-hosted memo hub. https://usememos.com/"
|
|
|
|
# Delay auto start
|
|
nssm set memos Start SERVICE_DELAYED_AUTO_START
|
|
|
|
# Edit service using NSSM GUI
|
|
nssm edit memos
|
|
|
|
# Start the service
|
|
nssm start memos
|
|
|
|
# Remove the service, if ever needed
|
|
nssm remove memos confirm
|
|
```
|
|
|
|
### 2. Using [WinSW](https://github.com/winsw/winsw)
|
|
|
|
Find the latest release tag and download the asset `WinSW-net46x.exe`. Then, put it in the same directory as `memos.exe` and rename it to `memos-service.exe`.
|
|
|
|
Now, in the same directory, create the service configuration file `memos-service.xml`:
|
|
|
|
```xml
|
|
<service>
|
|
<id>memos</id>
|
|
<name>memos service</name>
|
|
<description>A lightweight, self-hosted memo hub. https://usememos.com/</description>
|
|
<onfailure action="restart" delay="10 sec"/>
|
|
<executable>%BASE%\memos.exe</executable>
|
|
<arguments>--mode prod --port 5230</arguments>
|
|
<delayedAutoStart>true</delayedAutoStart>
|
|
<log mode="none" />
|
|
</service>
|
|
```
|
|
|
|
Then, install the service:
|
|
|
|
```powershell
|
|
# Install the service
|
|
.\memos-service.exe install
|
|
|
|
# Start the service
|
|
.\memos-service.exe start
|
|
|
|
# Remove the service, if ever needed
|
|
.\memos-service.exe uninstall
|
|
```
|
|
|
|
### Manage the service
|
|
|
|
You may use the `net` command to manage the service:
|
|
|
|
```powershell
|
|
net start memos
|
|
net stop memos
|
|
```
|
|
|
|
Also, by using one of the provided methods, the service will appear in the Windows Services Manager `services.msc`.
|
|
|
|
## Notes
|
|
|
|
- On Windows, memos store its data in the following directory:
|
|
|
|
```powershell
|
|
$env:ProgramData\memos
|
|
# Typically, this will resolve to C:\ProgramData\memos
|
|
```
|
|
|
|
You may specify a custom directory by appending `--data <path>` to the service command line.
|
|
|
|
- If the service fails to start, you should inspect the Windows Event Viewer `eventvwr.msc`.
|
|
|
|
- Memos will be accessible at [http://localhost:5230](http://localhost:5230) by default.
|