Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nicell/docker-lune

Docker files for Lune
https://github.com/nicell/docker-lune

docker dockerfile luau lune

Last synced: 26 days ago
JSON representation

Docker files for Lune

Awesome Lists containing this project

README

        

# Docker Lune

Docker files for [Lune](https://github.com/lune-org/lune).

Available images:
- Debian: [`nicell/lune:debian`](https://hub.docker.com/r/nicell/lune)
- Default. Uses the `debian:stable-slim` base image.
- Distroless: [`nicell/lune:distroless`](https://hub.docker.com/r/nicell/lune)
- Barebones image. Uses the `gcr.io/distroless/cc` base image. No shell, package manager, or other tools are included.
- Binary only: [`nicell/lune:bin`](https://hub.docker.com/r/nicell/lune)
- Contains only the Lune binary. Used for adding Lune to other images.

## Run Lune

Enter the Lune REPL:

```bash
docker run -it nicell/lune repl
```

Enter the container shell:

```bash
docker run -it nicell/lune sh
```

Run a `server.luau` file:

```bash
docker run --init -it -p 3000:3000 -v $PWD:/app nicell/lune run app/server
```

The `--init` flag is required to properly handle signals such as `SIGINT` from `CTRL+C`. `-p 3000:3000` maps the container port 3000 to the host port 3000. `-v $PWD:/app` mounts the current directory to the `/app` directory in the container.

## Dockerfile Usage

```Dockerfile
FROM nicell/lune

# Port your app listens on
EXPOSE 3000

WORKDIR /app

COPY . .

# Run server.luau
CMD ["run", "server"]
```

## Custom Base Image

You can use the `nicell/lune:bin` image to add Lune to any base image.

```Dockerfile
FROM ubuntu
COPY --from=nicell/lune:bin /lune /usr/local/bin/
```