The streaming host configuration for Airtime is shown in the file */etc/airtime/liquidsoap.cfg* which is automatically generated by the **Streams** page, found on the **System** menu of the Airtime administration interface. For this reason, you would not normally edit the streaming configuration manually, as any changes are likely to be overwritten by the administration interface.

Database and RabbitMQ hosts
---------------------------

Optionally, you may wish to edit the file */etc/airtime/airtime.conf* to set the PostgreSQL database host, and the username and password to connect to the database with:

    sudo nano /etc/airtime/airtime.conf

You can also set options for RabbitMQ messaging, the Airtime server and SoundCloud uploads in this file, although you should not normally need to adjust the defaults unless you are running a large Airtime system distributed across multiple servers. To run the Airtime server in demo mode, which changes the greeting on the login page and prevents user accounts from being created or modified, set the value of *demo* to 1.

    [database]
    host = localhost
    dbname = airtime
    dbuser = airtime
    dbpass = airtime

    [rabbitmq]
    host = 127.0.0.1
    port = 5672
    user = airtime
    password = XXXXXXXXXXXXXXXXXXXX
    vhost = /airtime

    [general]
    api_key = XXXXXXXXXXXXXXXXXXXXX
    web_server_user = www-data
    airtime_dir = /usr/share/airtime
    base_url = airtime.example.com
    base_port = 80
    base_dir = /
    cache_ahead_hours = 1

    [monit]
    monit_user = guest
    monit_password = airtime

    [soundcloud]
    connection_retries = 3
    time_between_retries = 60

    [demo]
    demo = 0

Save and close the file with **Ctrl+O** and **Ctrl+X**. If you have changed the database settings, you should now run the command:

    sudo airtime-update-db-settings

to make sure all of Airtime's database configuration files are updated. This command should output the following text to the server console:

    Airtime root folder found at /usr/share/airtime
    Updating /usr/share/airtime/application/configs/application.ini
    Updating /usr/share/airtime/build/build.properties
    Updating /usr/share/airtime/build/runtime-conf.xml
    Success!

API client configuration
------------------------

If you have changed the *base\_url*, *base\_port* or *base\_dir* setting in */etc/airtime/airtime.conf* from the defaults, you will probably also have to update the *Hostname* settings in the file */etc/airtime/api\_client.cfg* accordingly.**

    bin_dir = /usr/lib/airtime/api_clients
    api_key = 'XXXXXXXXXXXXXXXXXXXX'
    api_base = api
    host = airtime.example.com
    base_port = 80
    base_dir = /

Media monitor settings
----------------------

Airtime's media monitor has its own configuration file in */etc/airtime/media-monitor.cfg* which contains RabbitMQ settings and other preferences.

    api_client = airtime

    # where the binary files live
    bin_dir = /usr/lib/airtime/media-monitor

    # where the logging files live
    log_dir = /var/log/airtime/media-monitor

    ############################################
    # RabbitMQ settings                        #
    ############################################
    rabbitmq_host = localhost
    rabbitmq_user = airtime
    rabbitmq_password = XXXXXXXXXXXXXXXXXXXX
    rabbitmq_vhost = /airtime

    ############################################
    # Media-Monitor preferences                #
    ############################################

    #how long to queue up events performed on the files themselves.
    check_filesystem_events = 5

    #how long to queue metadata input from airtime.
    check_airtime_events = 30

    # MM2 only:
    touch_interval = 5
    chunking_number = 450
    request_max_wait = 3.0
    rmq_event_wait = 0.1
    logpath = /var/log/airtime/media-monitor/media-monitor.log
    index_path = /var/tmp/airtime/media-monitor/last_index

Playout and recorder settings
-----------------------------

Settings for pypo, the playout and recording engine used by Airtime, are found in the file */etc/airtime/pypo.cfg*. After making changes to this file, you will have to issue the command:

    sudo /etc/init.d/airtime-playout restart

for the changes to take effect.

    ############################################
    # pypo - configuration                     #
    ############################################
    # Set the type of client you are using.
    # Currently supported types:
    # 1) "obp" = Open Broadcast Platform
    # 2) "airtime"
    #
    api_client = airtime

    ############################################
    # Cache Directories                        #
    # *include* trailing slash !!              #
    ############################################
    cache_dir = /var/tmp/airtime/pypo/cache/
    file_dir = /var/tmp/airtime/pypo/files/
    tmp_dir = /var/tmp/airtime/pypo/tmp/

    ############################################
    # Setup Directories                        #
    # Do *not* include trailing slash !!       #
    ############################################
    cache_base_dir = /var/tmp/airtime/pypo
    bin_dir = /usr/lib/airtime/pypo
    log_base_dir = /var/log/airtime
    pypo_log_dir = /var/log/airtime/pypo
    liquidsoap_log_dir = /var/log/airtime/pypo-liquidsoap

    ############################################
    # Liquidsoap settings                      #
    ############################################ 
    ls_host = 127.0.0.1
    ls_port = 1234

    ############################################
    # RabbitMQ settings                        #
    ############################################
    rabbitmq_host = localhost
    rabbitmq_user = airtime
    rabbitmq_password = XXXXXXXXXXXXXXXXXXXX
    rabbitmq_vhost = /airtime

    ############################################
    # pypo preferences                         #
    ############################################
    # Poll interval in seconds.
    #
    # This will rarely need to be changed because any schedule changes are
    # automatically sent to pypo immediately.
    #
    # This is how often the poll script downloads new schedules and files from the
    # server in the event that no changes are made to the schedule.
    #
    poll_interval = 3600# in seconds.

    # Push interval in seconds.
    #
    # This is how often the push script checks whether it has something new to
    # push to liquidsoap.
    #
    # It's hard to imagine a situation where this should be more than 1 second.
    #
    push_interval = 1# in seconds

    # 'pre' or 'otf'. 'pre' cues while playlist preparation 
    # while 'otf' (on the fly) cues while loading into ls
    # (needs the post_processor patch)
    cue_style = pre

    ############################################
    # Recorded Audio settings                  #
    ############################################
    record_bitrate = 256
    record_samplerate = 44100
    record_channels = 2
    record_sample_size = 16

    #can be either ogg|mp3, mp3 recording requires installation of the package "lame"
    record_file_type = ogg

    # base path to store recorded shows at 
    base_recorded_files = /var/tmp/airtime/show-recorder/