ircu2/docker-compose.yml-example

57 lines
2.0 KiB
Plaintext

services:
nefarious:
image: ghcr.io/evilnet/nefarious2:latest
container_name: nefarious
restart: unless-stopped
ports:
- "6667:6667" # IRC (plaintext)
- "6697:6697" # IRC (SSL)
- "7000:7000" # IRC (plaintext)
- "4497:4497" # Server link (SSL)
- "9998:9998" # Services link (SSL)
environment:
IRCD_GENERAL_NAME: irc.example.com
IRCD_GENERAL_DESCRIPTION: "My IRC Server"
IRCD_GENERAL_NUMERIC: 1
IRCD_ADMIN_LOCATION: "New York, USA"
IRCD_ADMIN_CONTACT: "admin@example.com"
volumes:
# Persist SSL certificate
- ./ircd.pem:/home/nefarious/ircd/ircd.pem
# Custom configuration (optional)
- ./local.conf:/home/nefarious/ircd/local.conf
# Linesync Sidecar - Git-based configuration sync
# Uncomment to enable automatic config updates from a git repository
#
# Setup steps:
# 1. docker compose run --rm linesync keygen
# 2. Add the public key to your git repo's deploy keys
# 3. docker compose run --rm -e GIT_REPOSITORY=git@github.com:yourorg/linesync-data.git linesync setup
# 4. docker compose up -d
#
# linesync:
# image: ghcr.io/evilnet/nefarious2-linesync:latest
# # Or build locally:
# # build: ./tools/linesync
# container_name: linesync
# restart: unless-stopped
# depends_on:
# - nefarious
# volumes:
# # SSH keys directory
# - ./linesync-ssh:/home/linesync/.ssh
# # Config file - same bind mount as nefarious
# - ./local.conf:/home/linesync/ircd/local.conf
# # Linesync git repo directory (created by setup)
# - ./linesync:/home/linesync/ircd/linesync
# # Docker socket for sending SIGHUP to nefarious
# - /var/run/docker.sock:/var/run/docker.sock
# environment:
# NEFARIOUS_CONTAINER: nefarious
# SYNC_INTERVAL: 300
# IRCD_CONF: /home/linesync/ircd/local.conf
# # Optional: sync SSL certs from git tag
# # CERT_TAG: myserver-cert