docs: add Docker deployment instructions and OCI labels
All checks were successful
Build and Push Docker Image / build (push) Successful in 2m26s
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:
@@ -31,3 +31,6 @@ jobs:
|
|||||||
reg.i3omb.com/sofarr:${{ steps.version.outputs.version }}
|
reg.i3omb.com/sofarr:${{ steps.version.outputs.version }}
|
||||||
reg.i3omb.com/sofarr:${{ steps.version.outputs.release }}
|
reg.i3omb.com/sofarr:${{ steps.version.outputs.release }}
|
||||||
reg.i3omb.com/sofarr:latest
|
reg.i3omb.com/sofarr:latest
|
||||||
|
labels: |
|
||||||
|
org.opencontainers.image.version=${{ steps.version.outputs.version }}
|
||||||
|
org.opencontainers.image.created=${{ github.event.head_commit.timestamp }}
|
||||||
|
|||||||
@@ -1,5 +1,14 @@
|
|||||||
FROM node:18-alpine
|
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
|
WORKDIR /app
|
||||||
|
|
||||||
# Copy package files and install dependencies
|
# Copy package files and install dependencies
|
||||||
|
|||||||
73
README.md
73
README.md
@@ -51,18 +51,83 @@ SONARR_INSTANCES=[{"name":"main","url":"...","apiKey":"..."}]
|
|||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- Node.js (v12 or higher)
|
- **Docker** (recommended), or Node.js (v12+) for manual installation
|
||||||
- npm
|
|
||||||
- At least one of: SABnzbd or qBittorrent
|
- At least one of: SABnzbd or qBittorrent
|
||||||
- Sonarr (optional, for TV tracking)
|
- Sonarr (optional, for TV tracking)
|
||||||
- Radarr (optional, for movie tracking)
|
- Radarr (optional, for movie tracking)
|
||||||
- Emby (for user authentication)
|
- 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**:
|
1. **Clone and install**:
|
||||||
```bash
|
```bash
|
||||||
git clone <repository-url>
|
git clone https://git.i3omb.com/Gandalf/sofarr.git
|
||||||
cd sofarr
|
cd sofarr
|
||||||
npm install
|
npm install
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user