All Projects → MattDrivenDev → FSharp.ServiceStack.Mono

MattDrivenDev / FSharp.ServiceStack.Mono

Licence: other
A template for developing Service Stack web service applications, using F# on Linux (using mono/fastcgi/nginx via vagrant).

Programming Languages

ruby
36898 projects - #4 most used programming language
F#
602 projects
C#
18002 projects
Puppet
460 projects
shell
77523 projects
Classic ASP
548 projects

Service Stack, with F# on Linux

A solution template to quickly help get up and running with Service Stack using F#. Code is built using FAKE and deployed to a local Ubuntu Server via Vagrant - where it runs on mono fastcgi and nginx...

Phew!

Instructions

You'll need to ensure that you have Oracle Virtual Box and Vagrant installed first. Plus obviously some .NET and F# development tools/libraries.

  1. Clone this repo, and navigate to the working directory
  2. Ensure that the puppet modules are brought in (through git submodules): git submodule init and then git submodule update.
  3. From a command line, run fake build - this will install any dependencies using nuget and then build the service and copy it into the www/ directory.
  4. From a command line, run vagrant up - this will provision you a local Ubuntu Server and use the Puppet scripts to set everything up. Your www/ directory is shared with the new virtual machine, which is where the application runs from.
  5. Navigate to localhost:8080 in your browser to test.

In theory, everything will work a treat (works on my machine, haha).

Branches

There are a few branches of this repository that contain some changes to this, for example: the with_mysql contains some extra configuration to spin up a mysql database as part of the puppet configuration.

Thanks

  • pipe-devnull for some help with provisioning mono fastcgi with the correct user.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].