# Possible to use Dockerfile but \*not\* docker-compose?

**URL:** https://forum.heroiclabs.com/t/possible-to-use-dockerfile-but-not-docker-compose/4930
**Category:** Local Setup
**Created:** [January 29, 2024, 10:52pm UTC](https://forum.heroiclabs.com/t/possible-to-use-dockerfile-but-not-docker-compose/4930 "2024-01-29T22:52:33Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![seltzerfish](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.heroiclabs.com/seltzerfish/32/1571_2.png) [@seltzerfish](https://forum.heroiclabs.com/u/seltzerfish)
#### Post date: [January 29, 2024, 10:52pm UTC](https://forum.heroiclabs.com/t/possible-to-use-dockerfile-but-not-docker-compose/4930/1 "2024-01-29T22:52:33Z")

</div>

## Overview

I want to run nakama (go runtime) on [railway.app](https://railway.app), but railway does not support docker compose. I have my own remote instance of cockroachdb, so i do not need the cockroach service in the default compose file. Im not entirely sure what prometheus is but i suspect i might not need it. I’ve tried to modify my Dockerfile appropriately but I am a Docker noob so i might have done something blatantly wrong.

## Dockerfile

```auto
FROM heroiclabs/nakama-pluginbuilder:3.16.0 AS go-builder

ENV GO111MODULE on
ENV CGO_ENABLED 1

WORKDIR /backend

COPY go.mod .
COPY main.go .
COPY vendor/ vendor/

RUN go build --trimpath --mod=vendor --buildmode=plugin -o ./backend.so

FROM registry.heroiclabs.com/heroiclabs/nakama:3.20.0

COPY --from=go-builder /backend/backend.so /nakama/data/modules/
COPY local.yml /nakama/data/

ENTRYPOINT ["/bin/sh", "-ecx", "/nakama/nakama migrate up --database.address <my-cockroachdb-connection-string> --config /nakama/data/local.yml --database.address <my-cockroachdb-connection-string>"]

```

## Error

```auto
2024-01-29 14:40:07 {"level":"info","ts":"2024-01-29T22:40:07.169Z","caller":"server/runtime.go:630","msg":"Initialising runtime","path":"/nakama/data/modules"}
2024-01-29 14:40:07 {"level":"info","ts":"2024-01-29T22:40:07.169Z","caller":"server/leaderboard_rank_cache.go:183","msg":"Leaderboard rank cache initialization completed successfully","cached":[],"skipped":[],"duration":"117.552µs"}
2024-01-29 14:40:07 {"level":"info","ts":"2024-01-29T22:40:07.169Z","caller":"server/runtime.go:637","msg":"Initialising runtime event queue processor"}
2024-01-29 14:40:07 {"level":"info","ts":"2024-01-29T22:40:07.169Z","caller":"server/runtime.go:639","msg":"Runtime event queue processor started","size":65536,"workers":8}
2024-01-29 14:40:07 {"level":"info","ts":"2024-01-29T22:40:07.169Z","caller":"server/runtime_go.go:2701","msg":"Initialising Go runtime provider","path":"/nakama/data/modules"}
2024-01-29 14:40:06 + /nakama/nakama migrate up --database.address <my-cockroachdb-connection-string>
2024-01-29 14:40:06 + exec /nakama/nakama --config /nakama/data/local.yml --database.address <my-cockroachdb-connection-string>
2024-01-29 14:40:07 fatal error: runtime: no plugin module data

```

I’ve verified that a backend.so is indeed being built and placed in nakama/data/modules in the docker image. Ive also tried a couple different versions of go (1.21 and 1.20) but i thought `nakama-pluginbuilder` was supposed to handle that issue. Not sure what else to try from here.

Any help or tips greatly valued! Thanks in advance

---

<div class="post-metadata">

### Author: ![seltzerfish](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.heroiclabs.com/seltzerfish/32/1571_2.png) [@seltzerfish](https://forum.heroiclabs.com/u/seltzerfish)
#### Post date: [January 29, 2024, 11:17pm UTC](https://forum.heroiclabs.com/t/possible-to-use-dockerfile-but-not-docker-compose/4930/2 "2024-01-29T23:17:10Z")

</div>

I think i’ve solved the problem by updating the nakama-pluginbuilder version to 3.20 (same as what nakama was set to below in the Dockerfile). I would suggest updating the the [code snippet in the docs](https://heroiclabs.com/docs/nakama/server-framework/go-runtime/#with-docker) to reflect this. I assumed it was safe to copy/paste.
