Project

General

Profile

Actions

Podman-compose 서비스 등록

ssd@SSD-SERVER:/work/podman/postgresql-server$ cat ~/.config/systemd/user/my-server.service
[Unit]
Description=Podman Compose service for PostgreSQL Project
#Requires=network-online.target
#After=network-online.target
# Podman 소켓이 준비될 때까지 기다립니다.
Wants=podman.socket
After=podman.socket

[Service]
Type=oneshot
RemainAfterExit=true

# 프로젝트 폴더를 작업 디렉토리로 지정합니다.
WorkingDirectory=/work/podman/postgresql-server 

# 서비스 시작 명령어 (백그라운드 실행)

#필요하다면 리소스가 준비될때까지 sleep하도록 대기

ExecStartPre=/bin/sleep 30

#/usr/bin/podman-compose가 있는지 /usr/local/bin/podman-compose가 있는지 정확히 지정 필요
ExecStart=/usr/bin/podman-compose up -d

# 서비스 중지 명령어
ExecStop=/usr/bin/podman-compose down

# 실패 시 10초 후 재시작 

#gpu의 경우 언제 리소스가 활성화 될지 모르기 때문에 failure에 대비해서 30초로 설정
#Restart=on-failure
#RestartSec=10

[Install]
WantedBy=default.target

위와 같은 형태로 서비스를 등록하면 됨

시스템 재시작시에 자동으로 시작하게 하는방법은 linger를 통해서

sudo loginctl enable-linger $(whoami)
loginctl show-user $(whoami) | grep Linger

Linger=yes 가 나오면 자동 재시작이 완성됨

Updated by 상혁 손 4 months ago · 3 revisions