• Avid Amoeba@lemmy.ca
    link
    fedilink
    arrow-up
    8
    ·
    1 month ago

    You could use a systemd unit file:

    [Unit]
    Description=docker_compose_systemd-sonarr
    After=docker.service 
    Requires=docker.service
    
    [Service]
    TimeoutStartSec=0
    
    WorkingDirectory=/var/lib/sonarr
    
    ExecStartPre=-/usr/bin/docker compose kill --remove-orphans
    ExecStartPre=-/usr/bin/docker compose down --remove-orphans
    ExecStartPre=-/usr/bin/docker compose rm -f -s -v
    ExecStartPre=-/usr/bin/docker compose pull
    ExecStart=/usr/bin/docker compose up
    
    Restart=always
    RestartSec=30
    
    [Install]
    WantedBy=multi-user.target
    

    You’d place your compose file in the working dir /var/lib/sonarr. Depending on what tag you’ve set for the image in the compose file, it would be autoupdated, or stay fixed. E.g. lscr.io/linuxserver/sonarr:latest would get autoupdated whereas lscr.io/linuxserver/sonarr:4.0.10 would keep the container at version 4.0.10. If you want to update from 4.0.10, you’d have to change it in the compose file.