mirror of
https://github.com/Dictionarry-Hub/profilarr.git
synced 2026-01-22 10:51:02 +01:00
feat: add GitHub Actions workflow for building and publishing Docker image
This commit is contained in:
51
.github/workflows/docker-build.yml
vendored
Normal file
51
.github/workflows/docker-build.yml
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
# .github/workflows/docker-build.yml
|
||||
name: Build and Publish Docker Image
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18'
|
||||
|
||||
- name: Build frontend
|
||||
working-directory: ./frontend
|
||||
run: |
|
||||
npm ci
|
||||
npm run build
|
||||
|
||||
- name: Prepare dist directory
|
||||
run: |
|
||||
mkdir -p dist/backend dist/static
|
||||
cp -r frontend/dist/* dist/static/
|
||||
cp -r backend/* dist/backend/
|
||||
cp backend/requirements.txt dist/
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: santiagosayshey/profilarr:beta
|
||||
110
README.md
Normal file
110
README.md
Normal file
@@ -0,0 +1,110 @@
|
||||
# Profilarr
|
||||
|
||||
[](https://hub.docker.com/r/santiagosayshey/profilarr)
|
||||
[](https://hub.docker.com/r/santiagosayshey/profilarr)
|
||||
[](https://github.com/Dictionarry-Hub/profilarr/issues)
|
||||
[](https://github.com/Dictionarry-Hub/profilarr/actions)
|
||||
|
||||
Configuration management tool for Radarr/Sonarr that automates importing and version control of custom formats and quality profiles.
|
||||
|
||||
## Features
|
||||
|
||||
- 🔄 Automatic synchronization with remote configuration databases
|
||||
- 🎯 Direct import to Radarr/Sonarr instances
|
||||
- 🔧 Git-based version control of your configurations
|
||||
- ⚡ Preserve local customizations during updates
|
||||
- 🛠️ Built-in conflict resolution
|
||||
|
||||
## Tech Stack
|
||||
|
||||
- **Frontend**: React + Vite
|
||||
- **Backend**: Flask + Gunicorn
|
||||
- **Database**: SQLite
|
||||
|
||||
## Installation
|
||||
|
||||
### Docker Compose (recommended)
|
||||
|
||||
```yaml
|
||||
services:
|
||||
profilarr:
|
||||
image: santiagosayshey/profilarr:beta # we're still in beta!
|
||||
container_name: profilarr
|
||||
ports:
|
||||
- 6868:6868
|
||||
volumes:
|
||||
- /path/to/your/data:/config
|
||||
environment:
|
||||
- TZ=UTC # Set your timezone
|
||||
env_file:
|
||||
- .env # Optional: Only needed if contributing to a database
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
If you want to contribute to the a database, create a `.env` file:
|
||||
|
||||
```
|
||||
GIT_USER_NAME=your_username
|
||||
GIT_USER_EMAIL=your_email
|
||||
PROFILARR_PAT=your_github_pat
|
||||
```
|
||||
|
||||
### Port
|
||||
|
||||
The web interface is accessible on port 6868 by default.
|
||||
|
||||
### Volumes
|
||||
|
||||
| Path | Description |
|
||||
| --------- | ------------------------------------------------------- |
|
||||
| `/config` | Contains app database and cloned configuration database |
|
||||
|
||||
### Environment Variables
|
||||
|
||||
| Variable | Description | Required |
|
||||
| ---------------- | --------------------------------------------- | -------- |
|
||||
| `TZ` | Timezone (e.g., America/New_York) | Yes |
|
||||
| `GIT_USER_NAME` | GitHub username for contributing | No |
|
||||
| `GIT_USER_EMAIL` | GitHub email for contributing | No |
|
||||
| `PROFILARR_PAT` | GitHub Personal Access Token for contributing | No |
|
||||
|
||||
## Usage
|
||||
|
||||
1. Access the web interface at http://localhost:6868
|
||||
2. Clone a configuration database and/or setup your own custom formats / quality profiles
|
||||
3. Configure your Radarr/Sonarr instances, set what / when configuations should be imported
|
||||
|
||||
## Development
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Docker and Docker Compose
|
||||
|
||||
### Local Setup
|
||||
|
||||
```bash
|
||||
git clone https://github.com/Dictionarry-Hub/profilarr
|
||||
cd profilarr
|
||||
docker compose up --build
|
||||
```
|
||||
|
||||
This will start both the Flask and Vite development servers.
|
||||
|
||||
## Join the Community
|
||||
|
||||
<img src="https://invidget.switchblade.xyz/Y9TYP6jeYZ" alt="Discord Invite">
|
||||
|
||||
## Support Development
|
||||
|
||||
- 💖 [GitHub Sponsors](https://github.com/sponsors/Dictionarry-Hub)
|
||||
- ☕ [Buy Me A Coffee](https://www.buymeacoffee.com/santiagosayshey)
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! Please feel free to submit a Pull Request.
|
||||
|
||||
## Status
|
||||
|
||||
Currently in beta. Part of the [Dictionarry](https://github.com/Dictionarry-Hub) project to simplify media automation.
|
||||
Reference in New Issue
Block a user