Skip to content
This repository was archived by the owner on Apr 26, 2026. It is now read-only.

Commit f4c9673

Browse files
[WIP] Add GitHub Actions workflow for DigitalOcean deployment (#2)
* Initial plan * Add GitHub Actions deploy workflow and CI/CD docs Co-authored-by: rsantamaria01 <50458018+rsantamaria01@users.noreply.github.com> Agent-Logs-Url: https://github.com/rsantamaria01/arrs-media-server/sessions/10e98709-7854-4901-bc2b-7f8aec7b6c3d --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: rsantamaria01 <50458018+rsantamaria01@users.noreply.github.com>
1 parent 7e14632 commit f4c9673

2 files changed

Lines changed: 49 additions & 0 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Deploy to DigitalOcean
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
deploy:
10+
runs-on: ubuntu-latest
11+
permissions: {}
12+
13+
steps:
14+
- name: Deploy via SSH
15+
uses: appleboy/ssh-action@v1.0.3
16+
with:
17+
host: ${{ secrets.DO_HOST }}
18+
username: ${{ secrets.DO_USER }}
19+
password: ${{ secrets.DO_PASSWORD }}
20+
script: |
21+
cd /opt/mediastack
22+
git pull origin main
23+
mkdir -p services/{prowlarr,sonarr,sonarr-anime,radarr,lidarr,readarr,bazarr,jellyfin,npm/data,npm/letsencrypt}
24+
docker compose pull
25+
docker compose up -d --remove-orphans

README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,27 @@ A production-ready, self-hosted media automation stack built with Docker Compose
5757
| Bazarr | Automatic subtitle manager (EN + ES) | 6767 |
5858
| Jellyfin | Media streaming server | 8096 |
5959
| Nginx Proxy Manager | Reverse proxy with SSL termination | 80, 443, 81 |
60+
61+
## CI/CD
62+
63+
Every push to the `main` branch automatically deploys to the DigitalOcean droplet via GitHub Actions (see `.github/workflows/deploy.yml`).
64+
65+
### Required GitHub Secrets
66+
67+
Add the following secrets in your repository under **Settings → Secrets and variables → Actions**:
68+
69+
| Secret | Description |
70+
|---------------|------------------------------------|
71+
| `DO_HOST` | Droplet IP address |
72+
| `DO_USER` | SSH username |
73+
| `DO_PASSWORD` | SSH password |
74+
75+
### Environment File
76+
77+
The `.env` file is **not** committed to the repository. It must be created manually on the droplet before the first deployment:
78+
79+
```bash
80+
# On the droplet
81+
cp /opt/mediastack/.env.example /opt/mediastack/.env
82+
# Then edit /opt/mediastack/.env to set PUID, PGID, TZ, etc.
83+
```

0 commit comments

Comments
 (0)