Commit Graph

46 Commits

Author SHA1 Message Date
Jonas L 1b601e2ac1
chore: allow no port fowarding in vagrant (#1498) 2022-01-10 08:20:45 +02:00
Jonas L 4057c88cf0
feat: debian 11 support (#1292)
* Debian 11 Support

Run api ci test on bullseye as well

* Silan does not work for mp3 on bullseye

* Liquisoap does not fail with wma files on bullseye
2021-11-09 11:21:40 +02:00
Kyle Robbertze 83e904d06d fix: correct vagrantfile function call 2021-11-08 20:57:41 +01:00
Kyle Robbertze 7182390000
feat: add support for Ubuntu Focal 20.04 (#1168)
Co-authored-by: Valerio Bozzolan <gnu@linux.it>
2021-11-04 09:55:50 +02:00
Jonas L fc2f0ad842
Make vagrant file more configurable (#1424) 2021-10-21 17:16:24 +02:00
Kyle Robbertze ece9e2a17e use 1Gb of RAM on libvirt 2021-09-21 10:39:23 +02:00
Kyle Robbertze fa5db502ed Drop Ubuntu Xenial support
Fixes: #1226
2021-07-06 10:27:17 +02:00
Kyle Robbertze c26abba7a9 drop Debian Stretch support
Fixes #1194
2021-06-18 22:26:56 +02:00
Kyle Robbertze 2df0189a90 add API v2 2021-05-14 13:04:46 +02:00
Lucas Bickel 194682d89c fix: update to CentOS 8 2020-12-26 12:59:54 +01:00
Zachary Klosko dc57d08bd5 Removing Jekyll from Vagrant 2020-11-18 16:37:35 -05:00
Zachary Klosko 852cf63834 Giving Jekyll a place in Vagrantfile 2020-11-18 14:16:29 -05:00
Zachary Klosko 2dfb9dae7f Merge remote-tracking branch 'upstream/master' 2020-07-02 16:58:08 -04:00
Zachary Klosko 3374b6ca75 Updated Vagrantfile 2020-07-02 16:49:28 -04:00
Kyle Robbertze 9467415b27 fix mkdocs references 2020-05-19 23:10:56 +02:00
Zachary Klosko d7ee6a6f4c @paddatrapper changes 2020-05-19 16:18:46 -04:00
Kyle Robbertze d06469309d use bento box for debian buster 2019-10-21 18:27:27 +02:00
Kyle Robbertze e44472152d always use latest debian stretch box 2019-10-21 18:26:35 +02:00
Codenift f06ce1d538 macOS Catalina support using Vagrant 2019-10-16 09:36:43 -04:00
Kyle Robbertze fa8f9739c6 use generic buster boxes 2019-07-16 15:39:13 +02:00
Lucas Bickel f75c533d0b 💥 (ubuntu) drop trusty from installer 2019-07-14 11:30:36 +02:00
Robb 977b5c002c
Merge pull request #824 from paddatrapper/vagrant-buster
Use official Debian Buster Vagrant image
2019-06-30 08:11:31 -04:00
Kyle Robbertze c78a8e178e Deprecate Debian Jessie
Closes #684
2019-06-02 13:23:33 +02:00
Kyle Robbertze 0f36511ff8 use official debian buster image 2019-06-02 13:15:23 +02:00
Kyle Robbertze a414bc3418 Add support for Buster in the installer 2019-02-28 21:56:59 +02:00
Kyle Robbertze 4556318967 merge ubuntu and debian provision scripts 2019-01-18 11:43:18 +02:00
Kyle Robbertze 04e155885e Bump Debian Stretch to latest point release 2019-01-18 11:23:38 +02:00
Lucas Bickel 1d7823468f drop wheezy support
Removes the Vagrant set up for Debian wheezy and makes the installer abort and complain if started
on wheezy.
2018-11-22 00:39:55 +01:00
Lucas Bickel 6898c4dc8e 📦 (installer) add Ubuntu Bionic Beaver Vagrant box 2018-10-12 21:12:07 +02:00
Lucas Bickel d012bb2864 Mark debian-wheezy box as deprecated in Vagrantfile 2018-06-30 12:12:20 +02:00
Lucas Bickel 71a2c111d3 Remove deprecated boxes from Vagrantfile 2018-06-30 12:11:40 +02:00
Robb Ebright c9cf0fbb1e Added debian-stretch to vagrant setup 2017-11-13 10:42:11 -05:00
Bill Burton 3179651dec Installer auto-detects distro, portable system init
The theme of this commit is to make the install process more
resiliant to differences in distros by testing for specific
features or versions of executables rather than making as many
assumptions just on the distro and release.

* Distro and Release detection (install, Vagrantfile)
  - Added detection logic for distro and release based on
    /etc/os-release which is available on all potential supported
    distros. The --distribution and --release options can be used
    to override detection.
  - Added distro and release checks to ensure values specified are
    for a supported release.
  - Changed some distro checks to use booleans, e.g.
    if $is_centos_7; then ...
  - Added a simple check so if --distribution is specified, it will
    ensure it's at least sane, e.g. centos on debian or debian on
    centos will be caught.
  - In Vagrantfile, removed --distribution and --release options for
    all distro and release combinations.

* Portable Init System Detection and Management (install, centos.sh)
  - Added detection logic for init system type - systemd, Upstart or
    System V in the function systemInitDetect().
  - Added portable init system install in the function
    systemInitInstall() which depends on systemInitDetect(). After
    installing files, enables and starts service.
  - Added portable init system commands in the function
    systemInitCommand() for start, stop, reload, restart and status.
  - Python services don't support systemd but unconditionally install
    scripts for both Upstart and System V. Disabled by passing
    --no-init-script to setup.py for each service.
  - When upgrading, remove all old system init files in /etc/init,
    /etc/init.d, /etc/default and /etc/systemd/system.
  - In centos.sh, removed install of airtime systemd service files
    as it's now handled by install.
  - Created an Upstart .conf for airtime-celery
  - In systemd file for airtime-celery, changed absolute path to
    /usr/local/bin/celery and for centos, the install symlinks
    celery to /usr/local/bin.

* External Dependencies Install (install)
  - For external dependencies, only attempt to install for Debian-
    based distros with apt-get. For centos, a warning is displayed.
  - For systems with apt-get, detect version and if 1.1 or greater,
    use new force options, otherwise use --force-yes option.

* Configuring Apache (install)
  - For Apache, check for centos and use httpd for binary and
    service, otherwise use apache2ctl and apache2.
  - Detect Apache version 2 or better in a more reliable manner.
  - Detect Apache root folder and conf file name by running
    apache2ctl -V or httpd -V as appropriate.
  - Various checks for centos as it doesn't support the Debian
    Apache utilities a2ensite/a2dissite, a2enmod/a2dismod, etc.

* Installing Airtime Services (install)
  - Detect Python version. If less than 2.7.9, install OpenSSL
    support.
  - Prevent installing init files by passing --no-init-script to
    setup.py for each service.
  - Use systemInitInstall to install, enable and start each service
    after setup.py has run.
  - Removed filtering for WEB_USER for files in
    /etc/init/airtime*.template as that is handled in the
    systemInitInstall() function.

* Configuring PHP in Apache (install)
  - Detect PHP conf folder by checking a list of locations rather
    than making assumptions based on the distro and release.

* Configuring PostgreSQL (install)
  - Detects if the airtime user has already been created. If not,
    then creates the user.

* Installing Locales (install)
  - Minor changes to check for centos and prevent from running.
2017-04-28 11:00:50 -04:00
Bill Burton 450a92384f Switch Vagrantfile to use bento boxes for Debian #170 2017-04-19 14:42:12 -04:00
Bill Burton 5ef232a72c Switch Vagrantfile to use bento boxes for ubuntu #158 2017-04-12 12:51:36 -04:00
Robb Ebright f31236fe66 Fixed Override Javascript and Functionality 2017-03-14 23:03:37 -04:00
Lucas Bickel 9a6d5b0175 Restore SELinux tags after install 2017-03-13 14:10:29 +01:00
Lucas Bickel c29285ae48 Vagrant Debian support (and experimental CentOS)
This changes the Vagrant setup to support multiple installations as multiple
boxes. In addition to Ubuntu Vagrant can now be used to install on Debian
as well as on CentOS.

I took the chance to clean up the .deb install a bit and backported analyzer
and celery to SysV proper so it runs there. Some of the distro specfics were
moved to the install script from the python setup scripts to acheive this.

For the CentOS support I added a rather involved OS prepare script. In the
long term this will be added to the preparing-the-server docs we already have.

I had to switch the default port to http-alt (8080). On CentOS 9080 is registered
for ocsp and getting it to work for apache without hacking SELinux is hard. I
think 8080 is the RFC way to go anyhow. If anyone want to override this it
should be rather easy using the --web-port arg and by hacking Vagrantfile.

The PyOpenSSL code has been refactored for all the distros that the Vagrantfile
now supports.

As far as my checks go, I tried this code with all the distros, uploaded a track
and downloaded a unicode and a ssl podcast and was able to listen to them
in each case.

In the experimental CentOS case, the UI is not up to spec since services
need to get scheduled through systemctl and the status overview (ie. on the /?config page)
do not work properly. They need to be as follows:

```
sudo systemctl start airtime-playout
sudo systemctl start airtime-liquidsoap
sudo systemctl start airtime_analyzer.service
sudo systemctl start airtime-celery.service
```
2017-03-12 13:42:22 +01:00
Lucas Bickel e2fd3b00f3 Allow apache user alsa access 2017-03-07 16:16:03 +01:00
Lucas Bickel 2350650e26 Enable icecast autoinstall
And fix docs :)
2017-03-07 15:36:18 +01:00
Lucas Bickel 216a5f98eb Expose liquidsoap instreaming harbor port 2017-03-07 15:15:16 +01:00
Lucas Bickel 13c676a886 Set up alsa on vagrant
Should work on linux and macos, I only tested osx and was able to hear sound coming out of it using mpg123 on the command line.

LibreTime probably still needs some fixes to make this work as intended.
2017-03-07 15:13:26 +01:00
Lucas Bickel bd2f96acf2 Switch LibreTime port to 9080 in vagrant
Also expose icecast and make the airtime port generally configurable from the installer.

To aid in debugging and support the -v (verbose) argument was added to the call.
2017-03-07 13:26:52 +01:00
Lucas Bickel e394df83a5 Grab 1GB of memory on vagrant 2017-03-07 12:18:34 +01:00
Lucas Bickel 8ed1dce4b1 Install airtime in vagrant env
Uses the old installer to get LibreTime installed quick and dirty on vagrant.

It uses the `install -fIap` command that does a local install and points the apache config
directly to the local working copy mounted in /vagrant.

While we don't have fancy autoloading for libretime like the docs do, this way
it's already easy to work against a local branch.

I'm not sure if the `-I` arg to the installer also covers the python parts of libretime.
2017-03-06 12:05:22 +01:00
Christopher Gervais 7546030985 Add basic Vagrantfile. 2017-03-03 09:45:04 -05:00