FreeBSD ZNC server.
Include either the bsdznc::default
recipe,
or use the LWRP directly, e.g.,
bsdznc 'default' do
action :create
end
# Now make sure the SSL certificate exists, then start ZNC.
bsdznc 'default' do
action :start
end
You must provide a valid SSL certificate.
If you use the default recipe, this is handled by the certificate cookbook.
You must have an encrypted data bag under certificates
with id znc
.
See the certificate cookbook docs for how to create this.
Access the web admin at https://example.com/
.
The ZNC server will listen for IRC connections on port 194
.
A minimal znc.conf
will be created
with user admin
and password password
.
This should be changed immediately.
The znc.conf
file is only created if it does not exist:
it will not be touched otherwise.
You should backup this file regularly as it contains
all server and user settings configured through the web admin.
- freebsd (~> 10.1)
- certificate (~> 1.0.0)
- sysctl (~> 0.6.2)
Attribute | Description | Default | Choices |
---|---|---|---|
node['bsdznc']['user'] |
User to run znc as. |
"znc" | |
node['bsdznc']['group'] |
Group to run znc as. |
"znc" | |
node['bsdznc']['uid'] |
User id for the znc user. |
194 | |
node['bsdznc']['gid'] |
Group id for the znc group. |
194 | |
node['bsdznc']['version'] |
ZNC version to use for the default config. |
"1.6.0" | |
node['bsdznc']['config_path'] |
Path to the ZNC configuration directory. |
"/usr/local/etc/znc" | |
node['bsdznc']['cert_file'] |
SSL certificate filename. |
"znc.pem" | |
node['bsdznc']['irc_port'] |
Port to listen on for IRC connections. |
194 | |
node['bsdznc']['web_port'] |
Port to listen on for https connections. |
443 | |
node['bsdznc']['uri_prefix'] |
Prefix to serve the web admin under. |
"/" |
- bsdznc::default - Install, configure, and start the ZNC server.
- [:create]: Default action.
- create: create the znc server.
- destroy: stop and destroy the znc server.
- nothing: do nothing.
- restart: restart the znc server.
- start: start the znc server.
- stop: stop the znc server.
The bsdznc source is hosted on GitHub. To clone the project run
$ git clone https://github.com/rxrc/bsdznc.git
Run rake -T
to see all Rake tasks.
rake all # Run all tasks
rake doc # Build documentation
rake foodcritic # Lint Chef cookbooks
rake kitchen:all # Run all test instances
rake kitchen:default-freebsd-101 # Run default-freebsd-101 test instance
rake readme # Generate README.md from _README.md.erb
rake rubocop # Run RuboCop
rake rubocop:auto_correct # Auto-correct RuboCop offenses
rake spec # Run RSpec code examples
rake test # Run kitchen integration tests
rake yard # Generate YARD Documentation
Run thor -T
to see all Thor tasks.
Guard tasks have been separated into the following groups:
doc
lint
unit
integration
By default, Guard will generate documentation, lint, and run unit tests.
The integration group must be selected manually with guard -g integration
.
Please submit and comment on bug reports and feature requests.
To submit a patch:
- Fork it (https://github.com/rxrc/bsdznc/fork).
- Create your feature branch (
git checkout -b my-new-feature
). - Make changes. Write and run tests.
- Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin my-new-feature
). - Create a new Pull Request.
Copyright 2015 Evan Sosenko
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
This software is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantibility and fitness for a particular purpose.