Files
sonobarr/CONTRIBUTING.md
Beda Schmid 152f450a90 Adds contributing guide and changelog
Adds a contributing guide with instructions for setting up a local development environment using Docker.

Also creates a changelog to track notable changes.

### Added
- Contributing guide for local development setup.
- Changelog file.
2025-10-08 10:46:25 -03:00

1.5 KiB

Contributing

  1. Clone the repository.
  2. Checkout the develop branch: git checkout develop.
  3. Create a docker-compose.override.yml with the following contents:
    services:
      sonobarr:
        build:
          context: .
          dockerfile: Dockerfile
          network: host
        image: sonobarr-local
        volumes:
          - ./config:/sonobarr/config
          - /etc/localtime:/etc/localtime:ro
          - ./src:/sonobarr/src
        #ports:
        #  - "5000:5000"
        networks:
          npm_proxy:
            ipv4_address: 192.168.97.23 #change as you need
    
    networks:
      npm_proxy:
        external: true
    
  4. Build the image with sudo docker compose up -d - later this will re-use the local image.
  5. Make code changes in src/ or other required files.
  6. Test the changes by restarting the docker image sudo docker compose down && sudo docker compose up -d and clearing cache in browser.
  7. Once ready to commit, make sure the build still works as well sudo docker compose down -v --remove-orphans && sudo docker system prune -a --volumes -f && sudo docker compose up -d.
  8. Commit your work to the develop branch.

Always test your changes with at least two accounts - admin and a common user - in the app, in at least two distinct browser builds (such as safari and chrome, for example). **Remember that if you made changes affecting config (that is, database or configuration) you have to delete the ./config folder before rebuilding or restarting the app.