diff --git a/UserManual.md b/UserManual.md index 7e93727..270e09b 100644 --- a/UserManual.md +++ b/UserManual.md @@ -47,21 +47,12 @@ See the [development README](https://github.com/ohwgiles/laminar) for instructio You can build an image that runs `laminard` by default, and contains `laminarc` for use based on `alpine:edge` using the `Dockerfile` in the `docker/` directory. -Keep in mind that this is meant to be used as a base image to build from, so it contains only the minimum packages required to run laminar. The only shell available by default is sh and it does not even have ssh or git. You can use this image to run a basic build server, but it is recomended that you build a custom image from this base to better suit your needs. - ```bash # from the repository root: docker build [-t image:tag] -f docker/Dockerfile . ``` -You can also build a docker image using a bash script provided in the root of the repository. You should already have docker installed on your machine for this to work. - -```bash -# from the repository root: -./docker-build.sh [(OPTIONAL) tag {default:latest}] -``` - -This will build an image from from the Dockerfile in `docker/` tagged as `laminar:${tag}`. +Keep in mind that this is meant to be used as a base image to build from, so it contains only the minimum packages required to run laminar. The only shell available by default is sh and it does not even have ssh or git. You can use this image to run a basic build server, but it is recommended that you build a custom image from this base to better suit your needs. ### laminard @@ -71,14 +62,14 @@ The container will execute `laminard` by default. To start a laminar server with docker run -d --name laminar_server -p 8080:8080 [-v laminardir|laminar.conf] laminar:latest ``` -You can customize laminar and persist your data by mounting your laminar directory to `/var/lib/laminar` and/or mounting a custom configuration file to `/etc/laminar.conf`. The uid:gid ownership for the files mounted to `/var/lib/laminar` should be `100:100`. +You can customize laminar and persist your data by mounting your laminar directory to `/var/lib/laminar` and/or mounting a custom configuration file to `/etc/laminar.conf`. ### laminarc You can execute `laminarc` either standalone, by running the image, or by executing `laminarc` on a running instance of the image. ```bash -docker exec -it laminar_server laminarc queue example_task +docker exec -i laminar_server laminarc queue example_task ``` --- diff --git a/docker/Dockerfile b/docker/Dockerfile index 4667ee5..cd18eec 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -34,13 +34,11 @@ RUN apk add --no-cache --virtual .build -X http://dl-3.alpinelinux.org/alpine/ed apk del .build && \ rm -rf /build +# Create laminar system user in "users" group RUN adduser -SDh /var/lib/laminar -g 'Laminar' -G users laminar - +# Set the working directory to the laminar user's home WORKDIR /var/lib/laminar - -RUN mkdir .ssh && \ - chown -R laminar:users . - +# Run the preceeding as the user laminar USER laminar ENTRYPOINT [ "/sbin/tini", "--" ]