Konfigurasi

Konfigurasi didasarkan pada berkas config.hjson, yang di mana ditempatkan secara baku di config/config.hjson. Untuk mengubah lokasi baku, Anda bisa mengatur variabel lingkungan LEMMY_CONFIG_LOCATION.

Variabel lingkungan tambahan LEMMY_DATABASE_URL juga tersedia, yang bisa digunakan dengan string koneksi PostgreSQL seperti postgres://lemmy:password@lemmy_db:5432/lemmy, meneruskan semua detail koneksi sekaligus.

Jika kontainer Docker tidak digunakan, buat basis data yang disebutkan di atas secara manual dengan menjalankan perintah berikut:

cd server
./db-init.sh

Federasi tidak diatur secara baku. Anda bisa menambahkan blok federasi ini ke lemmy.hjson Anda dan minta peladen lain untuk menambahkan Anda ke daftar yang diperbolehkan mereka.

Semua konfigurasi dengan nilai baku

{
  # settings related to the postgresql database
  database: {
    # Username to connect to postgres
    user: "lemmy"
    # Password to connect to postgres
    password: "password"
    # Host where postgres is running
    host: "localhost"
    # Port where postgres can be accessed
    port: 5432
    # Name of the postgres database for lemmy
    database: "lemmy"
    # Maximum number of active sql connections
    pool_size: 5
  }
  # rate limits for various user actions, by user ip
  rate_limit: {
    # Maximum number of messages created in interval
    message: 180
    # Interval length for message limit, in seconds
    message_per_second: 60
    # Maximum number of posts created in interval
    post: 6
    # Interval length for post limit, in seconds
    post_per_second: 600
    # Maximum number of registrations in interval
    register: 3
    # Interval length for registration limit, in seconds
    register_per_second: 3600
    # Maximum number of image uploads in interval
    image: 6
    # Interval length for image uploads, in seconds
    image_per_second: 3600
    # Maximum number of comments created in interval
    comment: 6
    # Interval length for comment limit, in seconds
    comment_per_second: 600
    search: 6
    # Interval length for search limit, in seconds
    search_per_second: 600
  }
  # Settings related to activitypub federation
  federation: {
    # Whether to enable activitypub federation.
    enabled: false
    # Allows and blocks are described here:
    # https://join-lemmy.org/docs/en/administration/federation_getting_started.html
    # 
    # list of instances with which federation is allowed
    allowed_instances: [
      instance1.tld
      instance2.tld
      /* ... */
    ]
    # Instances which we never federate anything with (but previously federated objects are unaffected)
    blocked_instances: [
      string
      /* ... */
    ]
    # If true, only federate with instances on the allowlist and block everything else. If false
    # use allowlist only for remote communities, and posts/comments in local communities
    # (meaning remote communities will show content from arbitrary instances).
    strict_allowlist: true
    # Number of workers for sending outgoing activities. Search logs for Activity queue stats to
    # see information. If running number is consistently close to the worker_count, you should
    # increase it.
    worker_count: 64
  }
  captcha: {
    # Whether captcha is required for signup
    enabled: false
    # Can be easy, medium, or hard
    difficulty: "medium"
  }
  # Email sending configuration. All options except login/password are mandatory
  email: {
    # Hostname and port of the smtp server
    smtp_server: "localhost:25"
    # Login name for smtp server
    smtp_login: "string"
    # Password to login to the smtp server
    smtp_password: "string"
    # Address to send emails from, eg noreply@your-instance.com
    smtp_from_address: "noreply@example.com"
    # Whether or not smtp connections should use tls. Can be none, tls, or starttls
    tls_type: "none"
  }
  # Parameters for automatic configuration of new instance (only used at first start)
  setup: {
    # Username for the admin user
    admin_username: "admin"
    # Password for the admin user. It must be at least 10 characters.
    admin_password: "my_passwd_longer_than_ten_characters"
    # Name of the site (can be changed later)
    site_name: "My Lemmy Instance"
    # Email for the admin user (optional, can be omitted and set later through the website)
    admin_email: "string"
    sidebar: "string"
    description: "string"
    icon: "string"
    banner: "string"
    enable_downvotes: true
    open_registration: true
    enable_nsfw: true
    community_creation_admin_only: true
    require_email_verification: true
    require_application: true
    application_question: "string"
    private_instance: true
    default_theme: "string"
    default_post_listing_type: "string"
  }
  # the domain name of your instance (mandatory)
  hostname: "unset"
  # Address where lemmy should listen for incoming requests
  bind: "0.0.0.0"
  # Port where lemmy should listen for incoming requests
  port: 8536
  # Whether the site is available over TLS. Needs to be true for federation to work.
  tls_enabled: true
  # Address where pictrs is available (for image hosting)
  pictrs_url: "http://localhost:8080"
  slur_filter: "(\bThis\b)|(\bis\b)|(\bsample\b)"
  # Maximum length of local community and user names
  actor_name_max_length: 20
  # Maximum number of HTTP requests allowed to handle a single incoming activity (or a single object fetch through the search).
  http_fetch_retry_limit: 25
}