Public | Automated Build

Last pushed: 10 months ago
Short Description
Ubuntu-based container which runs CouchPotatoServer.
Full Description

Docker: CouchPotatoServer

This is a lightweight Debian Wheezy-based Docker image which runs CouchPotatoServer!

Getting the image

This image is published in the Docker Hub. Simply run the below command to get it on your machine:

docker pull dylanlindgren/docker-couchpotato

Alternatively you can build it from source by cloning this repo and using the Dockerfile with the docker build command.

Creating and running the container

The CouchPotatoServer daemon listens on port 5050 within the container, so we need to publish that. You can change the first 5050 to be whatever port you want the service to be published at on your host.

You will also need to map the /data/couchpotato directory in the container to a directory on your host. Replace the /my/host/couchpotato/directory with the path to your chosen directory. This will allow us to completely trash the container after it exits (with the --rm switch), without worrying about losing data. The benefit of doing this is that as long as we have the latest image from the Docker Hub, CouchPotato should also be the latest version.

docker run --rm --name couchpotato -p 5050:5050 -v /my/host/couchpotato/directory:/data/couchpotato:rw dylanlindgren/docker-couchpotato

Running as a Systemd service

To run this container as a service on a Systemd based distro (e.g. CentOS 7), create a unit file under /etc/systemd/system called couchpotato.service with the below contents (making sure you update the command in the line starting with ExecStart to the one you used above).

[Unit]
Description=CouchPotatoServer docker container (dylanlindgren/docker-couchpotato)
After=docker.service
Requires=docker.service

[Service]
TimeoutStartSec=0
ExecStartPre=-/usr/bin/docker stop couchpotato
ExecStartPre=-/usr/bin/docker rm couchpotato
ExecStartPre=-/usr/bin/docker pull dylanlindgren/docker-couchpotato
ExecStart=docker run --rm --name couchpotato -p 5050:5050 -v /my/host/couchpotato/directory:/data/couchpotato:rw dylanlindgren/docker-couchpotato
ExecStop=/usr/bin/docker stop couchpotato

[Install]
WantedBy=multi-user.target

Then you can start/stop/restart the container with the regular Systemd commands e.g. systemctl start couchpotato.service.

To automatically start the container when you restart enable the unit file with the command systemctl enable couchpotato.service

Docker Pull Command
Owner
dylanlindgren

Comments (0)