---
title: "Ensuring Docker Compose Startup with Systemd"
date: 2019-12-16T20:57:36-05:00
draft: false 
tags: [ "Linux", "Containers" ]
medium_enabled: true
---

I've been having trouble getting some docker containers such as `nginx` to start automatically on bootup, even with the `restart: always` flag.

To compensate, I wrote a small systemd script and enabled it on startup.

`/etc/systemd/system/docker-compose.service`

```ini
[Unit]
Description=Docker Compose Application Service
Requires=network.target docker.service
After=network.target docker.service

[Service]
Type=oneshot
User=brandonrozek
Group=brandonrozek
RemainAfterExit=yes
WorkingDirectory=/home/brandonrozek/docker/
ExecStart=/usr/bin/docker-compose up -d --force-recreate
ExecStop=/usr/bin/docker-compose down
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target

```

To enable on startup

```bash
sudo systemctl enable docker-compose
```

To start now

```bash
sudo systemctl start docker-compose
```

