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