Organization, expansion on conrtibuting and radio 101 sections

This commit is contained in:
Zachary Klosko 2020-05-18 21:34:56 -04:00
parent 10ca6b6d78
commit f6a8ff4ede
13 changed files with 91 additions and 183 deletions

View File

@ -5,13 +5,13 @@ sidebar:
url: features
- page: FAQ
url: faq
- page: Contribute to LibreTime
url: contribute
- page:
- title: Installation
subfolderitems:
- page: Quick Install
url: quickstart
- page: Advanced Install
url: install
subsubfolderitems:
- page: Host Configuration
url: host-configuration
@ -35,18 +35,11 @@ sidebar:
subsubfolderitems:
- page: More Tutorials
url: tutorials
- page:
- title: Contribute to LibreTime
- page:
- title: Radio Broadcasting 101
subfolderitems:
- page: Testing with Vagrant
url: vagrant
- page: Testing with Multipass
url: multipass
- page: Database Access
url: database
- page: Translating LibreTime
url: interface-localization
- page:
- page: UNESCO Public Radio Guide
url: learnradio-unescoguide
- title: Appendix
subfolderitems:
- page: Help!

49
docs/contribute.md Normal file
View File

@ -0,0 +1,49 @@
# How to Contribute to the LibreTime Project
LibreTime is a community project, maintained by an awesome group of volunteers. Being a "free as in freedom" project,
we need the help of our users to keep the project going. You don't have to know how to write code in order to help.
Check out some of ways you can give back to the LibreTime project below.
## Bug reporting
If you think you've found a bug, please report it on our [Github issues page](https://github.com/LibreTime/libretime/issues/new/choose).
Create a bug report by selecting **Get Started** next to **Bug Report**. That way, the LibreTime team can keep track of
your problem and notify you when it has been fixed. You can also suggest
improvements and new features for LibreTime on that site.
## Feature requests
Have an idea that would make LibreTime even better than it is right now? Start a **Feature request** on our
[Github issues page](https://github.com/LibreTime/libretime/issues/new/choose).
## Help translate LibreTime
LibreTime can run in over 15 different languages due to the gracious help of our volunteers. Is your language not
supported? Follow [this guide](interface-localization) to add your language to LibreTime!
## Help build and text LibreTime
Are you familar with coding in PHP? Have you made projects in Liquidsoap and some of the other services we use?
Take a look at the bugs and feature requests [here](https://github.com/LibreTime/libretime/issues), and then
fork our repo and have a go! Just use the **Fork** button at the top of our **Code** page, clone the forked repo to
your desktop, open up a favorite editor and make some changes, and then commit, push, and open a pull request.
Knowledge on how to use [Github](https://guides.github.com/activities/hello-world/) and [Git](https://git-scm.com/docs/gittutorial)
will suit you well, use the links for a quick 101.
Before submitting code to the project, it's a good idea to test it first. To do this, it's easiest to install
LibreTime in a virtural machine on your local system or in a cloud VM. Instructions on how to set up a virtural
instance of LibreTime with Vagrant are located [here](vagrant), and with Canonical's Multipass are [here](multipass).
If you would like to try LibreTime in a Docker image,
Odclive has instructions [here](https://github.com/kessibi/libretime-docker) for setting up a test image
and a more persistant install.
### Modifying the Database
LibreTime is designed to work with a [PostgreSQL](https://www.postgresql.org/) database server running locally.
LibreTime uses [PropelORM](http://propelorm.org) to interact with the ZendPHP components and create the database.
If you are a developer seeking to add new columns to the database here are the steps.
1. Modify `airtime_mvc/build/schema.xml` with any changes.
2. Run `dev_tools/propel_generate.sh`
3. Update the upgrade.sql under `airtime_mvc/application/controllers/upgrade_sql/VERSION` for example
`ALTER TABLE imported_podcast ADD COLUMN album_override boolean default 'f' NOT NULL;`

View File

@ -1,16 +0,0 @@
---
sidebar: devs
---
# Database
LibreTime is designed to work with a [PostgreSQL](https://www.postgresql.org/) database server running locally.
LibreTime uses [PropelORM](http://propelorm.org) to interact with the ZendPHP components and create the database.
## Modifying the Database
If you are a developer seeking to add new columns to the database here are the steps.
1. Modify `airtime_mvc/build/schema.xml` with any changes.
2. Run `dev_tools/propel_generate.sh`
3. Update the upgrade.sql under `airtime_mvc/application/controllers/upgrade_sql/VERSION` for example
`ALTER TABLE imported_podcast ADD COLUMN album_override boolean default 'f' NOT NULL;`

View File

@ -9,24 +9,3 @@ for new users. Further down, there is also a link to the online version of this
You can visit the LibreTime online support forum at
<https://discourse.libretime.org/c/get-help> to ask for help from the community
regarding your LibreTime setup.
Bug reporting
-------------
LibreTime needs your input to improve. If you think you've found a bug, please
visit <https://github.com/LibreTime/libretime>. Create a bug report by selecting
**Issues**, then **New Issue**. That way, the LibreTime team can keep track of
your problem and notify you when it has been fixed. You can also suggest
improvements and new features for LibreTime on that site.
Other help
----------
The UNESCO publication [*Community Radio - A user's guide to the technology*](img/CommunityRadioUserGuide.pdf)
features a very comprehensive guide to setting up a community radio station.
This guide is aimed at people thinking about setting up a radio station in
India, but includes lots of practical advice that would be useful in any
country.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

View File

@ -1,98 +0,0 @@
---
sidebar: installer
---
# Advanced Installation
This guide is for administrators who need to install LibreTime using a more hands-on method, such as
manually configuring depenencies and services or containerizing LibreTime. Running LibreTime in the cloud can be manually set up using the same steps in the
[Quick Install](quickstart). Please complete the [Preparing the server](preparing-the-server) and
[Setting the server time](manual/setting-the-server-time/index) guides before proceeding.
## Ubuntu Package
LibreTime maintains amd64 .deb packages for Ubuntu 16.04 (Xenial) and 18.04
(Bionic). These can be downloaded using their PPA in apt or your favorite package manager.
```
sudo add-apt-repository ppa:libretime/libretime
sudo apt-get update
sudo apt-get install libretime icecast2
```
## Alternative OS installations
Athough these are less tested, it is possible to install LibreTime on
- CentOS 7
- Ubuntu 16.04 LTS
- Debian 9 and 10
- Raspbian 9 and 10
Follow the [Quick Install] instructions for these OSes. If something goes wrong, please open a Github
[issue request](https://github.com/LibreTime/libretime/issues).
## Containerization using Docker
If you would like to try LibreTime in a Docker image,
Odclive has instructions [here](https://github.com/kessibi/libretime-docker) for setting up a test image
and a more persistant install.
## Reverse proxy connections
Instuctions for setting up a reverse proxy can be found [here](reverse-proxy).
## Manual configuration
If you need to manually configure dependencies or services for LibreTime, below is a list of the options
the LibreTime installer can use.
```
Usage: sudo bash install [options]
-h, --help, -?
Display usage information
-V, --version
Display version information
-v, --verbose
More output
-q, --quiet, --silent
No output except errors
-f, --force
Turn off interactive prompts
--distribution=DISTRIBUTION
Linux distribution the installation is being run on
--release=RELEASE
Distribution release
-d, --ignore-dependencies
Don't install binary dependencies
-w, --web-user=WEB_USER
Set the apache web user. Defaults to www-data. Only change
this setting if you've changed the default apache web user
-r, --web-root=WEB_ROOT
Set the web root for Airtime files
This will copy the Airtime application files, but you will need
to give your web user access to the given directory if it is
not accessible
--web-port=WEB_PORT
Set what port the LibreTime interface should run on.
-I, --in-place
Set the current Airtime directory as the web root
Note that you will need to give your web user permission to
access this directory if it is not accessible
-p, --postgres
Create a default postgres user named 'airtime' with password
'airtime'
-a, --apache
Install apache and deploy a basic configuration for Airtime
-i, --icecast
Install Icecast 2 and deploy a basic configuration for Airtime
--selinux
Run restorecon on directories and files that need tagging to
allow the WEB_USER access
--no-postgres
Skips all postgres related install tasks (Useful if you configure
postgresql as part of another script / docker builds)
--no-rabbitmq
Skips all rabbitmq related install tasks.
"
```
Plans are in the works for `.rpm` packages, as well as Docker and AWS images.

View File

@ -0,0 +1,9 @@
# Radio Broadcasting 101 - UNESCO Public Radio Guide
The UNESCO publication [*Community Radio - A user's guide to the technology*](img/CommunityRadioUserGuide.pdf)
features a very comprehensive guide to setting up a community radio station.
This guide is aimed at people thinking about setting up a radio station in
India, but includes lots of practical advice that would be useful in any
country.
More guides will be coming soon. Don't touch that dial!

View File

@ -5,8 +5,6 @@
This how to is intended for DJs using BUTT or MIXXX to stream to their LibreTime
server with an external USB audio card setup to route a mixer and sound.
**Audience**: DJs
Live shows with MIXXX
---------------------

View File

@ -67,16 +67,26 @@ sudo ufw enable 8001/tcp
sudo ufw enable 8002/tcp
```
> If needed, instuctions for setting up a reverse proxy can be found [here](reverse-proxy).
## Installing LibreTime
Installing LibreTime consists of running these commands in the terminal:
Installing LibreTime consists of running the following commands in the terminal:
Option 1:
```
git clone https://github.com/LibreTime/libretime.git
cd libretime
sudo ./install -fiap
```
Option 2:
```
sudo add-apt-repository ppa:libretime/libretime
sudo apt-get update
sudo apt-get install libretime icecast2
```
After the install is completed, head to the IP address of the server LibreTime was just installed on
to complete the welcome wizard. While not strictly necessary, it is recommended that you change the passwords prompted in the welcome wizard if you intend on accessing the server from the Internet. The welcome wizard will
walk you through the rest of the installation process.

View File

@ -2,24 +2,13 @@
sidebar: mainmenus
---
The Users page
---------------
# The Users page
If your Airtime server is accessible from the public Internet, it will not be secure until you set your own, strong password for the all-powerful *admin* user. Should the password for the *admin* user still be set to *admin* or some other easily guessed word, you should set a new password immediately, via the **Users** page on the <span style="font-weight: bold;">System</span> menu. Only users with the **User Type** of *Admin* can see the **System** menu when they log in.
> Note: if your Airtime server is accessible from the public Internet (ex. being hosted in a cloud VM)
it is recommended that you create a second administrator account with a secure password and then
delete the `admin` account, for best security practice.
Setting passwords and contact details
-------------------------------------
On the left side of the **Users** page, click on *admin* in the table. The details for this user will appear in the box on the right side. To begin with, on a freshly installed Airtime server, the *admin* user only has a **Username**, **Password** and **User Type** set.
![](img/Screenshot473-Manage_user_admin.png)
To set a new password for the *admin* user, enter a string of letters and numbers (as long and as varied as is practical) into the **Password** field, then again into the **Verify Password** field to guard against typing errors. Keeping this password secret is essential for the smooth running of your station, because it enables access to all scheduling and management features. You can also enter other details for the *admin* user account on this page, including full name and contact details. Then click the **Save** button.
![](img/Screenshot474-Save_user_details.png)
Adding user accounts
--------------------
## Adding user accounts
To add further user accounts to the system, one for each of your station staff that need access to Airtime, click the **New User** button with the plus icon. Enter a user name, password and contact details, and then select the **User Type** from the drop down menu, which can be *Admin*, *Program Manager*, *DJ*, or *Guest*. The difference between these user types is:
@ -46,24 +35,19 @@ To add further user accounts to the system, one for each of your station staff t
- Configure Track Types for easy sorting of uploaded content
- Change system settings
Editing or deleting user accounts
---------------------------------
## Editing or deleting user accounts
New user accounts that you add will be shown in the table on the left side of the **Users** page. If you have a large number of users on the system, you can use the search tool above the table (which has a magnifying glass icon) to identify specific user accounts. Click the white chevrons in the table headings to sort the search results by **Username**, **First Name**, **Last Name** or **User Type**.
New user accounts that you add will be shown in the table on the left side of the **Users** page. If you have a
large number of users on the system, you can use the search tool above the table (which has a magnifying glass icon)
to identify specific user accounts. Click the white chevrons in the table headings to sort the search results
by **Username**, **First Name**, **Last Name** or **User Type**.
To edit a user account, click on that user's row in the table, change the user's details in the box on the right side, and then click the **Save** button. To remove a user account, click the small **x** icon to the right side of its row in the table. You cannot delete your own user account, and usernames cannot be changed once created.
To edit a user account, click on that user's row in the table, change the user's details in the box on the
right side, and then click the **Save** button. To remove a user account, click the small **x** icon to the right
side of its row in the table. You cannot delete your own user account, and usernames cannot be changed once created.
If the Airtime server is running in demo mode, user accounts cannot be created or updated. See the chapter *Host configuration* for details of how to enable demo mode.
![](img/Screenshot474-Save_user_details.png)
![](img/Screenshot531-Passwords_locked_down.png)
Users can update their own password, and their contact, language and time zone details, by clicking their username on the
right side of the main menu bar, next to the **Logout** link.
Updating your own account
-------------------------
Users can update their own password, and their contact, language and time zone details, by clicking their username on the right side of the main menu bar, next to the **Logout** link.
![](img/Screenshot475-Edit_own_user_account.png) 
This action opens a separate, individual page which the user can update regardless of their **User Type** and access to the **System** menu. Click the **Save** button to update your account.
![](img/Screenshot532-Personal_settings_250.png)