Find a file
2015-09-08 23:17:13 -07:00
.git-crypt Add 1 git-crypt collaborator 2015-09-03 19:53:45 -07:00
app T357: Removed more characters from the fulltext query. 2015-09-08 23:17:13 -07:00
bootstrap Added detection for the staging environment. 2015-09-03 19:23:48 -07:00
logs Added Vagrant file. 2015-04-11 20:22:15 -05:00
public Implement appropriate behaviour to respond to tracks not being downloadable; fix album file size 2015-06-16 15:50:30 +01:00
tools Committed elevator's source 2015-05-20 03:22:34 -05:00
vagrant Fixes T224. Also adds the rebuild:tags Artisan command and a missing ffmpeg compilation flag. 2015-09-07 11:17:35 -07:00
.arcconfig Made history immutable for Arcanist. 2015-09-07 07:19:41 -07:00
.gitattributes Added encrypted production and staging configs. 2015-09-03 19:55:01 -07:00
.gitignore Committed composer.lock. 2015-09-07 14:33:44 -07:00
artisan Added vagrant-bindfs plugin to fix sessions in dev. 2015-05-02 02:48:57 -07:00
composer.json Added a Laravel IDE helper and type-hinted the cover art upload method. 2015-09-04 09:56:22 -07:00
composer.lock Committed composer.lock. 2015-09-07 14:33:44 -07:00
CONTRIBUTING.md Inital commit 2013-07-25 16:33:12 -05:00
gulpfile.js T126: Fixed standard profiles appearing as archived profiles. 2015-06-25 21:06:00 -07:00
package.json Add angular template cache to prevent XHR requests to fetch templates 2015-06-14 16:26:40 +01:00
phpunit.xml Inital commit 2013-07-25 16:33:12 -05:00
readme.md Update readme.md 2015-06-15 14:34:24 +01:00
server.php Inital commit 2013-07-25 16:33:12 -05:00
Vagrantfile Forward MySQL 3306 to port 33060 on host 2015-06-16 15:12:43 +01:00

Starting a dev environment

To begin development, you must do three things:

  1. Ensure that you have the following hosts entries:

192.168.33.11 pony.fm.local
192.168.33.11 api.pony.fm.local

  1. Install the "vagrant-bindfs" plugin: vagrant plugin install vagrant-bindfs

  2. Create the directory pony.fm.files in the repository's parent directory

  3. Run vagrant up from the folder in which you cloned the repository

Once everything is up and running, you'll be able to access the site at http://pony.fm.local. You can access the MySQL database by logging into 192.168.33.11:3306 with the username of homestead and the password of secret. The pony.fm database is named homestead.

Asset pipeline

Pony.fm uses gulp to mange its asset pipeline. Important due to everything being awful, you must run npm and gulp from your host machine and not the VM. You must first have it installed globally:

npm install -g gulp

And then install all of the required local packages by invoking:

npm install

Finally, build all of the scripts by executing:

gulp build

During development, you should make a point to run "gulp watch". You can do this simply by executing:

gulp watch

This will watch and compile the .less and .coffee files in real time.

Configuring the servers

Pony.fm uses nginx, php-fpm, redis, and MySQL. You can modify the configuration of these services by locating the appropriate config file in the "vagrant" folder. Once modified, you must reload the configuration by running the appropriate shell script (reload-config.sh) or bat files (reload-config.bat and reload-config.vmware.bat). These scripts simply tell Vagrant to run "copy-and-restart-config.sh" on the VM.

If you need to change any other configuration file on the VM - copy the entire file over into the vagrant folder, make your changes, and update the "copy-and-restart-config.sh" script to copy the modified config back into the proper folder. All potential configuration requirements should be represented in the vagrant folder and never only on the VM itself as changes will not be preserved.

NOTE: currently, Redis' configuration is not reloaded by the "copy-and-restart-config.sh"