Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Full Quassel IRC setup in a box, via SaltStack configuration management

License

NotificationsYou must be signed in to change notification settings

digitalcircuit/salt-box-quassel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This takes a stock Ubuntu 22.04/24.04 system, and with Salt, turns it into an IRC setup with desktop, mobile, and web clients, search, a home page, and includes Let's Encrypt certificates for encrypted connections.

This is not endorsed by the officialQuassel IRC project,Quassel Webserver, orQuassel Rest Search

Work in progress: features may change without warning. Please read the commit log before updating production systems.

Deployment

  • Customize the files inpillar to suit your environment
    • See below for the minimum viable setup (e.g. local development)
  • Apply the salt state viasalt-call

Minimum viable setup (local development)

  1. Set your server hostname

pillar/server/hostnames.sls:

# Hostname details (optional/default configuration removed)server:# Hostnameshostnames:# Domains by certificate chain# Main domaincert-primary:# Hostname visible to the world, used in SSL certs and brandingroot:public.domain.here.example.com
  1. Set upcertbot for Let's Encrypt certificates, or disable it

pillar/server/web/certbot.sls:

# Certificate details for Let's Encrypt (optional/default configuration removed)certbot:# Replace dummy certificates with certificates from Let's Encrypt?## NOTE - enabling certbot implies you agree to the Let's Encrypt# Terms of Service (subscriber agreement).  Please read it first.# https://letsencrypt.org/repository/#let-s-encrypt-subscriber-agreementenable:True# Use staging/test server to avoid rate-limit issues?testing:False# Account detailsaccount:# Email address for recoveryemail:real-email-address@example.com
  1. Set initial credentials for Quassel core

pillar/server/chat/quassel/main.sls:

# Quassel configuration (optional/default configuration removed)server:chat:quassel:# Quassel corecore:# Initial/administrative useradmin:username:initial_quassel_userpassword:change_this_password# PostgreSQL database setupdatabase:password:also_change_this_database_password

Usage

Default setup

Configuration

$ sudo --user=quasselcore quasselcore --add-user --configdir=/var/lib/quassel
  • Change password of Quassel core userUSERNAME without access to original password
$ sudo --user=quasselcore quasselcore --change-userpass=USERNAME --configdir=/var/lib/quassel

Administration UI to be added later.

Extra features

Lock down allowed networks

  • Useful for a shared core provided by a network
  • Not yet recommended for use by fully untrusted users
    • Work is ongoing in the Quassel IRC upstream project to provide restricted accounts

pillar/server/chat/quassel/main.sls:

# Quassel configurationserver:chat:quassel:# [...existing configuration here...]# Restrictions and lockdownlockdown:# Lock the IRC ident to the Quassel account usernamestrict-ident:False# Limit what networks can be used from any Quassel accountstrict-networks:# If enabled, only networks listed below are allowedenabled:False# List of allowed IRC networks (domain names and/or IP addresses)## NOTE - Domain names are translated to IP addresses, refreshed# periodically.  If you make use of round-robin DNS, you will need to# specify all possible domain names/IP addresses.hosts:            -"irc.example.invalid"            -"server-a.example.invalid"            -"server-b.example.invalid"# List of allowed ports for IRC connectionsports:            -6667            -6697

Manage software versions

Customize branding, name, help messages, etc on website

Report system status via Telegraf to a remote metrics server

  • Configurepillar/server/metrics.sls with metrics server details
  • Example receiving setup: Grafana + Telegraf HTTP Listener + InfluxDB

Set up daily automatic, PGP-encrypted backups

Credits

About

Full Quassel IRC setup in a box, via SaltStack configuration management

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp