Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

https://github.com/byceps/byceps
05 January 2026, 07:42:04 UTC
  • Code
  • Branches (4)
  • Releases (0)
  • Visits
    • Branches
    • Releases
    • HEAD
    • refs/heads/main
    • refs/heads/payment-gateway-mollie
    • refs/heads/test-debug
    • refs/heads/zammad-integration
    No releases to show
  • 86abe66
  • /
  • docs
  • /
  • installation_native
  • /
  • byceps-config-file.rst
Raw File Download
Take a new snapshot of a software origin

If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.

Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.
swh spinner

Processing "take a new snapshot" request ...

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
  • revision
  • snapshot
origin badgecontent badge
swh:1:cnt:c425738f6a0950cc459e1a9605f6a32ed605a033
origin badgedirectory badge
swh:1:dir:9e395222455dae1d63eb23e2a19feee27af9e671
origin badgerevision badge
swh:1:rev:fc7747df7177f2f610c55c9709a81e7b0b618806
origin badgesnapshot badge
swh:1:snp:b09754f0c85c5c3b810600c6c93206f66fc12064

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
  • revision
  • snapshot
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Tip revision: fc7747df7177f2f610c55c9709a81e7b0b618806 authored by Jochen Kupperschmidt on 03 January 2026, 00:21:02 UTC
Display only language icon on CozyLAN locale selector dropdown button
Tip revision: fc7747d
byceps-config-file.rst
Create BYCEPS Configuration File
================================

To run BYCEPS, a configuration file is required. It usually resides in
:file:`config/`.

There is an example, :file:`config.toml.example`, that you can use as a basis
for your specific configuration.

Create a copy of the it to adjust as we go along:

.. code-block:: console

    $ cp config/config.toml.example config/config.toml


Set a Secret Key
----------------

A secret key is, among other things, required for login sessions. So let's
generate one in a cryptographically secure way:

.. code-block:: console

    $ uv run byceps generate-secret-key

Exemplary output:

.. code-block:: none

    3ac1c416bfacb82918d56720d1c3104fd96e8b8d4fbee42343ae7512a9ced293

Set this value in your configuration file so the line looks like this:

.. code-block:: toml
    :caption: excerpt from :file:`config/config.toml`

    secret_key = "3ac1c416bfacb82918d56720d1c3104fd96e8b8d4fbee42343ae7512a9ced293"

Note: This line has to be in the top part of the configuration file, before any
section (``[…]``).

.. attention:: Do **not** use the above key (or any other key you copied from
   anywhere). Generate **your own** secret key!

.. attention:: Do **not** use the same key for development and production
   environments. Generate **separate** secret keys!



Map Applications
----------------

Since a single BYCEPS instance can provide the admin frontend, the API, *and*
one or more sites, a mapping (in the ``[apps]`` section in the configuration
file) is required which defines which hostname will be routed to which
application.

- For a **local installation**, you can go with the exemplary hostnames already
  defined in the example configuration file, which are:

  - ``admin.byceps.example`` for the admin UI
  - ``api.byceps.example`` for the API
  - ``cozylan.example`` for the CozyLAN demo site

  To be able to access them, add these entries to your local :file:`/etc/hosts`
  file (or whatever the equivalent is for your operating system):

  .. code-block::
      :caption: excerpt from :file:`/etc/hosts`

      127.0.0.1       admin.byceps.example
      127.0.0.1       api.byceps.example
      127.0.0.1       cozylan.example

- But if you are **installing to a server on the Internet**, substitute above
  hostnames in the configuration with ones that use actual, registered Internet
  domains.


Specify SMTP Server
-------------------

BYCEPS needs to know of an SMTP server, or mail/message transport agent (MTA),
to forward outgoing emails to.

The default is to expect a local one on ``localhost`` and port 25 without
authentication or encryption, like Sendmail_ or Postfix_.

Another option is to use an external one (authentication and encryption are
important here!) with a configuration like this:

.. code-block:: toml
    :caption: excerpt from :file:`config/config.toml`

    [smtp]
    host = "smtp.provider.example"
    port = 465
    use_ssl = true
    username = "smtp-user"
    password = "smtp-password"

See the available :ref:`SMTP configuration properties <SMTP Section>`.

.. _Sendmail: https://www.proofpoint.com/us/products/email-protection/open-source-email-solution
.. _Postfix: https://www.postfix.org/


Set Environment Variable Automatically
--------------------------------------

The configuration file has to be specified when running most commands. This can
be done by prefixing a command with the corresponding environment variable:

.. code-block:: console

    $ BYCEPS_CONFIG_FILE=config/config.toml uv run byceps

To avoid doing that everytime, the environment variable can be saved to the
:file:`.env` file in the BYCEPS project path. For example:

.. code-block:: console

    $ echo "BYCEPS_CONFIG_FILE=$PWD/config/config.toml" > ./.env

Be sure to use an absolute path so that the file can be found even when running
commands from a sub-directory of the BYCEPS project path.

back to top

Software Heritage — Copyright (C) 2015–2026, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API