# inn2 Docker container This repository holds files neccessary to build inn2 (InterNet News 2), a NNTP server. This container is based on [greenbender's image](https://github.com/greenbender/inn-docker). ## Usage Configuration files are described on [inn official site](https://www.eyrie.org/~eagle/software/inn/) (select proper version from right sidebar). Using this container with compose: ```yaml --- services: inn: image: "code.pztrn.name/containers/inn2" restart: always ports: - 119:119 - 563:563 volumes: - "./data/db:/inn2/db" - "./data/etc:/inn2/etc" - "./data/log:/inn2/log" - "./data/run:/inn2/run" - "./data/spool:/inn2/spool" - "./data/tmp:/inn2/tmp" ulimits: nofile: soft: 65535 hard: 65535 ``` ## Cronjobs There is a section in documentation about cron jobs you should configure. This docker image currently isn't supporting these, so configure it separately with lines like: ```shell 0 3 * * * docker compose run inn news.daily expireover lowmark ``` ## Versioning Image versioning follows official inn2 versions with additional optional version postfix added to indicate image fixes for particular version. Examples: * 2.7.4-3 - inn version 2.7.4 and 3 additional fixes applied to container. * 2.7.6 - inn version 2.7.6 without additional container fixes. ## Data directories and permissions Configuration is kept in `/inn2/etc`, mount it in your local filesystem. Entrypoint script will copy default configuration for you if missing. This container exposes `/inn2/db`, `/inn2/spool`, `/inn2/log` as volumes, so you may either: * Leave as is, Docker will create separate volume for your data. * Mount volume somewhere, like in compose example above. inn2 is launched as UID/GID 600 in container, so chown directories properly according to your Docker configuration: * If you're not using userns isolation - use `chown 600:600`. * If you're using it - use `600 + id from /etc/subuid`, e.g. if you're using default Docker remapping this could be `chown 100600:100600`.