Profilarr functions as both a synchronization tool for end users and a complete development platform for developers. While most users will simply connect to existing databases to receive updates, Profilarr's development capabilities allow for creating, testing, and contributing custom media configurations back to the community through its Git integration. The Official Dictionarry Database serves two main purposes:
- Powers our Documentation
- Acts as a Profilarr Compliant Database
To use Profilarr's development features, you'll need a GitHub repository for your database. You have two options:
- Go to https://github.com/Dictionarry-Hub/database (or any other Profilarr Standard Format Database)
- Click the "Fork" button in the top-right corner
- Follow the prompts to complete the fork process
- Your forked repository will now be ready to use with Profilarr
To allow Profilarr to connect and push to your remote database, you'll need to generate a GitHub Personal Access Token (PAT). This token gives Profilarr permission to access and update your GitHub repository.
- Sign in to your GitHub account
- Go to Settings > Developer settings > Personal access tokens
- Click "Generate new token"
- Choose Fine-grained
- Give your token a descriptive name (e.g., "Profilarr Development")
- Apply the following permissions:
- Repository access: Select your database repository
- Permissions: Set
contentsandmetadatato Read & Write
- Click "Generate token"
- Copy your new token (make sure to save it somewhere safe, as you won’t be able to see it again)
You'll also need to provide a username and email for Git. These will be associated with any commits you make to the database:
- Username: This will appear in commit logs and will be visible to other contributors
- Email: This will be used for Git commits and may be visible in public repositories
Create a .env file with the following information. This is required for database contributions:
GIT_USER_NAME=your_username
GIT_USER_EMAIL=your_email
PROFILARR_PAT=your_github_pat
With your credentials configured, you can now deploy Profilarr for development.
services:
profilarr:
image: santiagosayshey/profilarr:latest # or :beta for pre-release versions
container_name: profilarr
ports:
- 6868:6868
volumes:
- /path/to/your/data:/config
environment:
- TZ=UTC # Set your timezone
env_file:
- .env # Required for database contributions
restart: unless-stoppedTo confirm that everything is set up correctly, check the startup logs for Git user initialization. The logs should include entries similar to the following:
profilarr | 2025-03-18 20:08:35 - app.init - INFO - Initializing Git user
profilarr | 2025-03-18 20:08:35 - app.init - INFO - Configuring Git user
profilarr | 2025-03-18 20:08:35 - app.init - DEBUG - Retrieved Git config: Name - santiagosayshey, Email - user@example.com
profilarr | 2025-03-18 20:08:35 - app.db.queries.settings - DEBUG - PAT status verified
profilarr | 2025-03-18 20:08:35 - app.init - INFO - Git user configuration completed
profilarr | 2025-03-18 20:08:35 - app.init - INFO - Git user initialized successfully
If you encounter issues with your development setup:
| Issue | Possible Solution |
|---|---|
| GitHub token not working | Verify your PAT has contents and metadata read/write permissions |
| Profilarr fails to access the repository | Ensure your repository is public (or your token has access to private repositories) |
| Git username/email not recognized | Run git config --global user.name and git config --global user.email to verify |
| Cannot push to repository | Ensure your container has network access to GitHub (try ping github.com) |
Updated .env not applied |
Remove and recreate the container to reload environment variables |
For additional help or to contribute to Profilarr, join our community on GitHub or Discord.
-
Link Your Fork in Profilarr
- Open Profilarr and navigate to the database settings.
- Enter the GitHub repository URL of your forked database.
-
Make Changes in Profilarr
- Use Profilarr's built-in tools to modify or add database entries.
- Profilarr will handle formatting and validation automatically.
-
Commit and Push Changes
- Profilarr provides actions to revert, stage, commit, and push changes.
- After making changes, stage them using the Stage button.
- Once staged, commit the changes with a commit message.
- Finally, use the Push button to send your changes to your GitHub fork.
- Roll back any unwanted changes using the Revert button.
-
Create a Pull Request (PR)
- Go to your fork on GitHub and navigate to the "Pull Requests" tab.
- Click "New pull request" and select your fork and branch.
- Provide a clear description of the changes and submit the PR.
- Wait for review and approval before merging.
While it's possible to edit database files manually in an IDE or on GitHub, this is not recommended unless you fully understand Profilarr’s formatting and validation rules. Profilarr enforces constraints to ensure data integrity, and bypassing these safeguards can lead to:
- Corrupted or invalid files that Profilarr cannot process correctly.
- Unexpected behavior when syncing with Profilarr.
- Inconsistent formatting, leading to rejected updates.
To make modifications, it's strongly advised to use Profilarr’s built-in editing tools whenever possible. If direct edits are necessary, always validate the changes in a local instance of Profilarr before pushing them to the repository.
We Recommend Joining the Dictionarry Discord for any support issues you may have