docs: add Docker deployment instructions and OCI labels
All checks were successful
Build and Push Docker Image / build (push) Successful in 2m26s

- Add LABEL tags to Dockerfile (OCI standard + custom.hardware.requirement)
- Add dynamic version/created labels in CI workflow
- Add Docker deployment section to README with docker run, compose, and update instructions
- Registry pull source: docker.i3omb.com/sofarr
This commit is contained in:
2026-05-15 16:50:50 +01:00
parent 44055f0327
commit a3dbe8b6c0
3 changed files with 81 additions and 4 deletions

View File

@@ -31,3 +31,6 @@ jobs:
reg.i3omb.com/sofarr:${{ steps.version.outputs.version }}
reg.i3omb.com/sofarr:${{ steps.version.outputs.release }}
reg.i3omb.com/sofarr:latest
labels: |
org.opencontainers.image.version=${{ steps.version.outputs.version }}
org.opencontainers.image.created=${{ github.event.head_commit.timestamp }}

View File

@@ -1,5 +1,14 @@
FROM node:18-alpine
LABEL org.opencontainers.image.title="sofarr"
LABEL org.opencontainers.image.description="Personal media download dashboard for *arr services"
LABEL org.opencontainers.image.authors="Gordon Bolton"
LABEL org.opencontainers.image.source="https://git.i3omb.com/Gandalf/sofarr"
LABEL org.opencontainers.image.url="https://docker.i3omb.com"
LABEL org.opencontainers.image.vendor="Gordon Bolton"
LABEL org.opencontainers.image.licenses="MIT"
LABEL custom.hardware.requirement="None - runs on any Docker-supported platform including ARM and x86_64"
WORKDIR /app
# Copy package files and install dependencies

View File

@@ -51,18 +51,83 @@ SONARR_INSTANCES=[{"name":"main","url":"...","apiKey":"..."}]
## Prerequisites
- Node.js (v12 or higher)
- npm
- **Docker** (recommended), or Node.js (v12+) for manual installation
- At least one of: SABnzbd or qBittorrent
- Sonarr (optional, for TV tracking)
- Radarr (optional, for movie tracking)
- Emby (for user authentication)
## Installation
## Docker Deployment (Recommended)
### Quick Start
```bash
docker run -d \
--name sofarr \
--restart unless-stopped \
-p 3001:3001 \
-v /path/to/your/.env:/app/.env \
docker.i3omb.com/sofarr:latest
```
### Step-by-Step
1. **Create your environment file**:
```bash
mkdir -p /opt/sofarr
curl -o /opt/sofarr/.env https://git.i3omb.com/Gandalf/sofarr/raw/branch/main/.env.sample
# Edit /opt/sofarr/.env with your service details
nano /opt/sofarr/.env
```
2. **Run the container**:
```bash
docker run -d \
--name sofarr \
--restart unless-stopped \
-p 3001:3001 \
-v /opt/sofarr/.env:/app/.env \
docker.i3omb.com/sofarr:latest
```
3. **Access the dashboard** at `http://your-server:3001`
### Docker Compose
```yaml
version: "3"
services:
sofarr:
image: docker.i3omb.com/sofarr:latest
container_name: sofarr
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- /opt/sofarr/.env:/app/.env
```
### Available Tags
| Tag | Description |
|-----|-------------|
| `latest` | Latest stable release |
| `0.1` | Latest patch for the 0.1.x release line |
| `0.1.0` | Specific version |
### Updating
```bash
docker pull docker.i3omb.com/sofarr:latest
docker rm -f sofarr
# Re-run the docker run command above
```
## Manual Installation
1. **Clone and install**:
```bash
git clone <repository-url>
git clone https://git.i3omb.com/Gandalf/sofarr.git
cd sofarr
npm install
```