Giter VIP home page Giter VIP logo

airsonic-docs's Introduction

Airsonic

Build Status Coverity scan Language grade: JavaScript Language grade: Java codecov.io coverage

Airsonic isn't maintained anymore, you should migrate to airsonic-advanced instead.


What is Airsonic?

Airsonic is a free, web-based media streamer, providing ubiquitous access to your music. Use it to share your music with friends, or to listen to your own music while at work. You can stream to multiple players simultaneously, for instance to one player in your kitchen and another in your living room.

Airsonic is designed to handle very large music collections (hundreds of gigabytes). Although optimized for MP3 streaming, it works for any audio or video format that can stream over HTTP, for instance AAC and OGG. By using transcoder plug-ins, Airsonic supports on-the-fly conversion and streaming of virtually any audio format, including WMA, FLAC, APE, Musepack, WavPack and Shorten.

If you have constrained bandwidth, you may set an upper limit for the bitrate of the music streams. Airsonic will then automatically resample the music to a suitable bitrate.

In addition to being a streaming media server, Airsonic works very well as a local jukebox. The intuitive web interface, as well as search and index facilities, are optimized for efficient browsing through large media libraries. Airsonic also comes with an integrated Podcast receiver, with many of the same features as you find in iTunes.

Based on Java technology, Airsonic runs on most platforms, including Windows, Mac, Linux and Unix variants.

Screenshot

History

The original Subsonic is developed by Sindre Mehus. Subsonic was open source through version 6.0-beta1, and closed-source from then onwards.

Libresonic was created and maintained by Eugene E. Kashpureff Jr. It originated as an unofficial("Kang") of Subsonic which did not contain the Licensing code checks present in the official builds. With the announcement of Subsonic's closed-source future, a decision was made to make a full fork and rebrand to Libresonic.

Around July 2017, it was discovered that Eugene had different intentions/goals for the project than some contributors had. Although the developers were hesitant to create a fork as it would fracture/confuse the community even further, it was deemed necessary in order to preserve a community-focused fork. To reiterate this more clearly:

Airsonic's goal is to provide a full-featured, stable, self-hosted media server based on the Subsonic codebase that is free, open source, and community driven.

Pull Requests are always welcome. Keep in mind that we strive to balance stability with new features. As such, all Pull Requests are reviewed before being merged to ensure we continue to meet our goals.

License

Airsonic is free software and licensed under the GNU General Public License version 3. The code in this repository (and associated binaries) are free of any "license key" or other restrictions. If you wish to thank the maintainer of this repository, please consider a donation to the Electronic Frontier Foundation.

The Subsonic source code was released under the GPLv3 through version 6.0-beta1. Beginning with 6.0-beta2, source is no longer provided. Binaries of Subsonic are only available under a commercial license. There is a Subsonic Premium service which adds functionality not available in Airsonic. Subsonic also offers RPM, Deb, Exe, and other pre-built packages that Airsonic currently does not.

The cover zooming feature is provided by jquery.fancyzoom, released under MIT License.

The icons are from the amazing feather project, and are licensed under MIT license.

Usage

Airsonic can be downloaded from GitHub.

Please use the Airsonic documentation for instructions on running Airsonic.

Community

We have several places outside of github for community discussion, questions, etc:

Note that the Matrix room and IRC channel are bridged together.

airsonic-docs's People

Contributors

4oo4 avatar adamhsparks avatar benasse avatar brendan-r avatar captn3m0 avatar charlesschaack avatar davis-a avatar eugenekay avatar faeb35 avatar foobarjo avatar fxthomas avatar heyarne avatar hyask avatar jaimelive avatar jef avatar jooola avatar joshuaboniface avatar jvoisin avatar loki666 avatar marenz avatar mkinsella avatar mshick avatar muff1nman avatar nate2014jatc avatar sbrubes avatar sumnerevans avatar superpiffer avatar tari avatar watercrossing avatar zifnab06 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

airsonic-docs's Issues

Centos 7 doc

Centos 7 - Setup Guide

Install java 1.8 - openjdk

yum install java-1.8.0-openjdk.x86_64

Tomcat 8 setup:

  • Create Tomcat user and group:

    sudo groupadd tomcat
    sudo useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat	
    
  • Install Tomcat 8:

    cd /tmp
    wget http://mirror.nohup.it/apache/tomcat/tomcat-8/v8.5.43/bin/apache-tomcat-8.5.43.tar.gz
    

    Info:

    sudo mkdir /opt/tomcat
    sudo tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
    cd /opt/
    sudo chown -R tomcat. tomcat
    sudo chmod -R g+r conf
    sudo chmod g+x conf
    
  • Systemd Unit:

    sudo vi /etc/systemd/system/tomcat.service

    Paste this:

# Systemd unit file for tomcat

[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
:wq
sudo systemctl daemon-reload

Install Airsonic:

sudo mkdir /var/airsonic/
sudo chown -R tomcat. /var/airsonic/
sudo mv airsonic.war /var/lib/tomcat8/webapps/airsonic.war
sudo chown tomcat. /opt/tomcat/webapps/airsonic.war

Start tomcat service:

sudo systemctl start tomcat.service

Info:

  • Logs are stored in /opt/tomcat/logs/catalina.out

  • Change default port:

    vi /opt/tomcat/conf/server.xml
    

    Change the Connector port="8080" port to any other port number:

     -->
        <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        <!-- A "Connector" using the shared thread pool-->
        <!--
    
    

    For example

     -->
        <Connector port="9999" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        <!-- A "Connector" using the shared thread pool-->
        <!--
    
    

Fixing bad links on install.md

Issue by CharlesSchaack
Thursday May 18, 2017 at 19:50 GMT
Originally opened as https://github.com/Libresonic/documentation/pull/4


I noticed none of these links are working after the names were switched to lowercase. I see you guys are working on drawing up comprehensive documentation but I just wanted to fix this while it still exists.
Signed-off-by: Charles Schaack [email protected]


CharlesSchaack included the following code: https://github.com/Libresonic/documentation/pull/4/commits

install docs

Wasn't sure if you wanted this reported in here or airsonic.github.io - but your link from the Migrate page needs to be fixed. https://airsonic.github.io/docs/install/ gives a 404 (found on the Migrate page under "Install Airsonic as described in the install guide.") because there is no install.md in the /pages/ directory on the airsonic.github.io repo.

Are the IntelliJ instructions missing -Dairsonic.development=true?

I followed the instructions found here -> https://airsonic.github.io/docs/developer/intellij/, however the application would not start. Instead I got the following exception;

org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:138) ~[spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:536) ~[spring-context-4.3.25.RELEASE.jar:4.3.25.RELEASE]
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:123) ~[spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:666) ~[spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:353) ~[spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:300) ~[spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
	at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:135) [spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
	at org.airsonic.player.Application.main(Application.java:222) [classes/:na]
Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
	at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:135) ~[spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
	at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:87) ~[spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
	at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:535) ~[spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
	at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:177) ~[spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:162) ~[spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:135) ~[spring-boot-1.5.22.RELEASE.jar:1.5.22.RELEASE]
	... 7 common frames omitted
Caused by: java.lang.NullPointerException: null
	at java.io.SequenceInputStream.nextStream(SequenceInputStream.java:112) ~[na:1.8.0_152]
	at java.io.SequenceInputStream.read(SequenceInputStream.java:211) ~[na:1.8.0_152]
	at java.io.SequenceInputStream.read(SequenceInputStream.java:207) ~[na:1.8.0_152]

I was able to move past this error by setting the following system property;

-Dairsonic.development=true

Apps - is Substreamer open source?

Just curious if anyone knew where the source code for this was, since their website (substreamerapp.com) seems to be down? It's a great app but if we can't find source code, it should be marked it as non-free in apps/docs.md.

Document workaround for #281 under ARM platforms

Issue by qlyoung
Monday Jul 03, 2017 at 03:40 GMT
Originally opened as https://github.com/Libresonic/documentation/issues/12


Per my comment on libresonic/libresonic#281, issues with extremely long deployment times under OpenJDK are not limited to Raspbian / *Pi platforms but in fact appear to be caused by OpenJDK under any Jessie + ARM platform. It looks like the response to that issue was to add an installation guide for Raspbian that simply noted that Oracle's JRE should be used on that platform (#10).

While helpful, since this problem appears to affect all ARM platforms (at least under Jessie), I believe the problem itself should be explicitly documented along with the appropriate workaround. Among other things this will improve google-ability; I was on the verge of giving up and resorting to the crappy adware subsonic deb because it Just Worked ™️

Unless core devs object to this I'll open a pull request to this effect when I have some spare time.

Document the required configuration

Someone asked me what is the minimum configuration required to run airsonic.

I know that a raspi3 is waaaaaaaay more than enough, but what about other popular devices, like a raspi zero?

Rename documentation repo to airsonic-docs

I think it would be a good idea to rename this repo to airsonic-docs, so that it is clear from the name where it came from when people fork it, and to avoid conflicting with other documentation projects. documentation is way too generic.

share link disappeared

I am running Airsonic 10.4 on ubuntu server 18.04 LTS. At the time of setting it up, everything was fine, I even shared several albums through airsonic share link, but suddenly, without apparent reason, the share link disappeared. I first thought it could be resolved after updating airsonic to the latest version (because I originally installed Airsonic 10.2), but it did not. I try to gather some information here and there on internet, but it seems I'm pretty lonesome. I have openjdk-8-jre installed as required, so I'm a bit lost. Have you ever seen this before ? Or am I missing something, somewhere ? Thank you

Caddy Reverse Proxy not working

I am running airsonic in a Docker container with URL base set as airsonic.

CADDYFILE

  • Internal access to localhost only works when "without /airsonic" is used
https://mydomain.net/ http://localhost/ {
    proxy / 192.168.1.103:4040/airsonic {          # https://github.com/airsonic/airsonic
    transparent
	without /airsonic
  }
}

https://mydomain.net gets redirected to http//mydomain.net after I provide valid user name and password. Seems like Airsoni is redirecting HTTPS traffic to HTTP which is not configured in Caddy or allwed through the firewall.

Hoping I am missing something simple.

Airsonic log file
airsonic.log

Clarify requirements for Content-Security-Policy behind reverse proxy

When running airsonic behind a reverse proxy with restrictive Content-Security-Policy settings the example config mentioned in the documentation may not be enough.

I had to add the following line to my nginx configuration for airsonic, to get it running without errors:

add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' www.gstatic.com; img-src 'self' *.akamaized.net; style-src 'self' 'unsafe-inline' fonts.googleapis.com; font-src 'self' fonts.gstatic.com; frame-src 'self'; object-src 'none'";

The documentation should be more specific on what has to be allowed and what may be restricted.

Deploy script + daemoniz libresonic on systemd

Issue by jooola
Sunday May 28, 2017 at 19:25 GMT
Originally opened as https://github.com/Libresonic/documentation/issues/11


I don't know if some others made this already but it have some files to run libresonic.war as standalone using systemd on Debian/Ubuntu systems.

We could provide files like those right ?

I think i'm going to build a deploy script that create the libresonic /varlibresonic folders, download the package, deploy it using the standalone verion, and finally setup a systemd daemon control

If anyone want to add some details to my files please tell me !

@muff1nman I know you have some scripts would you share some of them ? What do you think ?

Add comparison between standalone and tomcat installation

From matrix community channel

I'm trying to install airsonic. What exactly is the difference of tomcat vs non-tomcat? (except for the end URL)?

We need to document this comparison and suggest either one depending on each situation

Add substreamer into apps.md

Hi Everyone,

It's been a while, as previously requested, I have opened a new issue to get substreamer added back into the list of available apps for airsonic.

New website is up and running:
https://substreamerapp.com/

App is available for both Android and iOS with a huge update just released to both stores this week. I know I've been quiet for a while but I have been working on substreamer in the background and using the various betas myself and finally got everything together and properly released again!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.