Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
40 lines
1.3 KiB
Plaintext
40 lines
1.3 KiB
Plaintext
[Unit]
|
|
Description=@APP_NAME@ — AriMail gateway (@MAIL_HOST@: webmail, IMAP/POP3/SMTP, Resend or Haraka)
|
|
Documentation=https://source.ibit.kr/OZ-Group/AriMail
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
# 사이트 설정(deploy/sites/@SITE@.env)의 실행 계정. www 사이트와 연동하면 www DB 를 같은 권한으로 읽기 위해 www 와 같은 계정을 씁니다.
|
|
User=@APP_USER@
|
|
Group=@APP_USER@
|
|
WorkingDirectory=@APP_DIR@/current
|
|
EnvironmentFile=@ETC_DIR@/gateway.env
|
|
Environment=NODE_ENV=production
|
|
Environment=HOST=127.0.0.1
|
|
Environment=PORT=@PORT@
|
|
ExecStart=@NODE_BIN@ server/index.mjs
|
|
Restart=always
|
|
RestartSec=3
|
|
|
|
# 110/143/465/587/993/995 포트를 일반 계정으로 열기 위한 권한
|
|
AmbientCapabilities=CAP_NET_BIND_SERVICE
|
|
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
|
|
NoNewPrivileges=yes
|
|
PrivateTmp=yes
|
|
ProtectSystem=strict
|
|
ProtectHome=yes
|
|
# 게이트웨이 DB·설정 파일(config.json, 1.0.0)·초기 설정 토큰과(www 연동 시) WAL 모드 www DB 를 읽기 위한 공유 메모리(-shm) 경로
|
|
ReadWritePaths=@APP_DIR@/data @EXTRA_RW@
|
|
ProtectKernelTunables=yes
|
|
ProtectControlGroups=yes
|
|
RestrictSUIDSGID=yes
|
|
LockPersonality=yes
|
|
StandardOutput=journal
|
|
StandardError=journal
|
|
SyslogIdentifier=@APP_NAME@
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|