--- /dev/null
+FROM node:4
+
+MAINTAINER Risto Stevcev
+
+ENV PURESCRIPT_DOWNLOAD_SHA1 8355acb4419fcd136d7f8d19d398ae8ebf457bcd
+
+RUN npm install -g bower pulp@10.0.0
+
+RUN cd /opt \
+ && wget https://github.com/purescript/purescript/releases/download/v0.10.5/linux64.tar.gz \
+ && echo "$PURESCRIPT_DOWNLOAD_SHA1 linux64.tar.gz" | sha1sum -c - \
+ && tar -xvf linux64.tar.gz \
+ && rm /opt/linux64.tar.gz
+
+ENV PATH /opt/purescript:$PATH
+
+RUN userdel node
+RUN useradd -m -s /bin/bash pureuser
+
+WORKDIR /home/pureuser
+
+USER pureuser
+
+RUN mkdir tmp && cd tmp && pulp init
+
+CMD cd tmp && pulp psci
![Purescript](https://raw.githubusercontent.com/Risto-Stevcev/purescript-docker/master/logo.png)
-# usage
+# Build Locally
+
+You can build the image locally by cloning the repo and running `docker build .` in the project root.
+
+# Usage
Note: You may need to run docker comands as a superuser (sudo) depending on how it's configured on your system.
$ docker pull gyeh/purescript:0.9.1
```
-Check to see that your image was created:
+Check to see that your image was created:
```
$ docker images
```
$ docker run --rm -it b09608732ec8
____ ____ _ _
-| _ \ _ _ _ __ ___/ ___| ___ _ __(_)_ __ | |_
+| _ \ _ _ _ __ ___/ ___| ___ _ __(_)_ __ | |_
| |_) | | | | '__/ _ \___ \ / __| '__| | '_ \| __|
-| __/| |_| | | | __/___) | (__| | | | |_) | |_
+| __/| |_| | | | __/___) | (__| | | | |_) | |_
|_| \__,_|_| \___|____/ \___|_| |_| .__/ \__|
|_|
> :t "Foo"
String
->
+>
See ya!
```
-To start doing real work with it, you need to mount a volume to your docker container when you run it.
+To start doing real work with it, you need to mount a volume to your docker container when you run it.
Clone the [Purescript By Example](https://leanpub.com/purescript/read) code as an initial example:
```
Since you mounted the volume, you can actually edit the code outside of the running docker instance and it will update inside the container!
-Open up `chapter3/test/Main.purs` using your favorite editor, and update `example.address.street` in the `example` record to `"123 Foobar St."`. Now rerun the tests, and you'll see that it updated!
+Open up `chapter3/test/Main.purs` using your favorite editor, and update `example.address.street` in the `example` record to `"123 Foobar St."`. Now rerun the tests, and you'll see that it updated!
```
pureuser@1ddb0b0ed568:~/src/chapter3$ pulp test