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
  • 8087ce4
  • /
  • 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:0b1a439476c65f3b469e5421c005b377c3a9972c
origin badgedirectory badge
swh:1:dir:24dd6c1d660fa4446e8dce549c6491e4692db940
origin badgerevision badge
swh:1:rev:e6de5c6813f0f20a555b19347f248f29add50079
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: e6de5c6813f0f20a555b19347f248f29add50079 authored by Jochen Kupperschmidt on 08 February 2025, 23:20:01 UTC
Fail early
Tip revision: e6de5c6
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