Federated forge server

[[ 🗃 ^rjQ3E vervis ]] :: [📥 Inbox] [📤 Outbox] [🐤 Followers] [🤝 Collaborators] [🛠 Commits]

Clone

HTTPS: git clone https://vervis.peers.community/repos/rjQ3E

SSH: git clone USERNAME@vervis.peers.community:rjQ3E

Branches

Tags

main :: config /

settings-sample-prod.yaml

# Values formatted like "_env:ENV_VAR_NAME:default_value" can be overridden by
# the specified environment variable. See the Yesod wiki, Configuration page.

###############################################################################
# HTTP server
###############################################################################

# any IPv4 host
host:           "_env:HOST:*4"

# The port `yesod devel` uses is distinct from this value. Set the
# `yesod devel` port from the command line.
http-port:      "_env:PORT:3000"

ip-from-header: "_env:IP_FROM_HEADER:false"

# The instance's host (e.g. "mycoolforge.org"). Used for determining which
# requests are federated and which are for this instance, and for generating
# URLs. The database relies on this value, and you shouldn't change it once
# you deploy an instance.
instance-host:  "_env:INSTANCE_HOST:dev.example.org"

# How much time after the last request it takes for the session cookie to
# expire
client-session-timeout:
  amount:               60
  unit:                 days

# Maximal accepted time difference between request date and current time, when
# performing this check during HTTP signature verification
request-time-limit:
  amount:               5
  unit:                 minutes

# How often to generate a new actor key for HTTP-signing requests
actor-key-rotation:
  amount:               1
  unit:                 days

# Whether to use personal actor keys, or an instance-wide key
per-actor-keys:         false

###############################################################################
# Development
###############################################################################

# Optional values with the following production defaults.
# In development, they default to the inverse.
#
# development: false
# detailed-logging: false
# should-log-all: false
# mutable-static: false

# This setting isn't used anymore (because no more need for SVG fonts)
# load-font-from-lib-data: false

###############################################################################
# Database
###############################################################################

# If you need a numeric value (e.g. 123) to parse as a String, wrap it in
# single quotes (e.g. "_env:PGPASS:'123'"). See the Yesod wiki, Configuration
# page.

database:
  user:     "_env:PGUSER:vervis"
  password: "_env:PGPASS:abc123"
  host:     "_env:PGHOST:db"
  port:     "_env:PGPORT:5432"
  database: "_env:PGDATABASE:vervis_production"
  poolsize: "_env:PGPOOLSIZE:10"

max-instance-keys:  2
max-actor-keys:     2

state-dir: state

###############################################################################
# Version control repositories
###############################################################################

diff-context-lines: 5
post-receive-hook:  /app/vervis-post-receive
post-apply-hook:    /app/vervis-post-apply

###############################################################################
# SSH server
###############################################################################

ssh-port:     5022

###############################################################################
# Accounts
###############################################################################

registration: false
max-accounts: 3

# Whether to verify users' email addresses by sending them email with a
# verification link. If not set below, the default is not to verify in
# development, and to verify otherwise.
email-verification: true

# Person usernames who are allowed to create Factory actors
can-create-factories: []

# KeyHashids of local Factory actors who will auto-send a develop-Grant to
# every newly created account
#
# If empty or unset, and there's exactly 1 local factory in DB, it will
# automatically become the resident
resident-factories: []

###############################################################################
# Mail
###############################################################################

# Optional SMTP server settings for sending email. If not provided, no email
# will be sent. The login field is optional, provide if you need SMTP
# authentication.

mail:
  smtp:
    login:
      user:     "_env:SMTPUSER:vervis@dev.example.org"
      password: "_env:SMTPPASS:abcd0123456789"
    host:       "_env:SMTPHOST:smtp.example.org"
    port:       "_env:SMTPPORT:587"
  sender:
    name:       "_env:SENDERNAME:Vervis"
    email:      "_env:SENDEREMAIL:vervis@dev.example.org"
  allow-reply:  false

###############################################################################
# Federation
###############################################################################

# Whether to support federation. This includes:
#
# * Accept activities from other servers in the inbox
# * Accept activities from users in the outbox
# * Deliver local activities to other servers
federation:             true

# Whether to reject an HTTP signature when we want to insert a new key or usage
# record but reached the limit setting
reject-on-max-keys:     true

# The duration of time during which a remote actor is unreachable and we
# periodically retry to deliver them activities. After that period of time, we
# stop trying to deliver and we remove them from follower lists of local
# actors.
#
# TODO this probably isn't working anymore since the switch to DeliveryTheater
drop-delivery-after:
  amount:               25
  unit:                 weeks

# Base of the exponential backoff for inbox POST delivery to remote actors,
# i.e. how much time to wait before the first retry. Afterwards this time
# interval will be doubled with each retry.
retry-delivery-base:
  amount:               5
  unit:                 minutes

# How many activities to remember in the debug report list, showing latest
# activities received in local inboxes and the result of their processing.
# 'null' means disable the report page entirely.
#activity-debug-reports: 10

# List of (hosts of) other known federating instances.
#instances:              []

# Maximal length we allow for Grant chains (default: 16)
max-grant-chain-length: 16

###############################################################################
# User interface
###############################################################################

# Default color scheme for syntax highlighing of code blocks inside rendered
# documents. The available styles are listed in the "Text.Pandoc.Highlighting"
# module documentation.
highlight-style:        zenburn

# Color scheme to use for UI header, footer, links on pages etc., should help
# with visually identifying instances that may otherwise look very much alike.
# Any number is valid; the scheme is chosen via modulo the number of available
# schemes.
main-color:             0

###############################################################################
# Misc
###############################################################################

# Can a local Ticket Tracker be created as a copy of another (possibly remote)
# tracker
migration: false

[See repo JSON]