Variables in Docker-compose file
valentinedwv
PROOP

14 days ago

We use a complex docker compose file, deployed via portainer,
If we deploy to railway, it would be a bit simpler (no treafik routing)but would still require docker compose variable substitution

vue-client:

image: nsfearthcube/ec_facets_client:${FACETS_CLIENT_TAG:-latest}

# profiles: ["geocodes"] restart: unless-stopped

#build: ./client

environment:

- NODE_ENV=production

- DOMAIN=https://${COMMUNITY}.${HOST}/

- URIVERSION=${URIVERSION:-v2}

- VITE_APP_FACETS_CONFIG_FILE=${VITE_APP_FACETS_CONFIG_FILE:-config/config.yaml}

- VITE_APP_MAPBOX_API_KEY=${MAPBOX_API_KEY}

- VITE_APP_TITLE=${COMMUNITY_NAME:-${COMMUNITY}}

So, if I am compose a docker compose file specifically for railway, do I use mustache syntax, rather than docker compose syntax?

Or perhaps create a railway config for a stack.

(off the record, I think portainer created it's own docker compose parser... portainer is what we use now)

$10 Bounty

1 Replies

diogoribeirodev
FREETop 5% Contributor

13 days ago

According to the docs, railway doesn't support every possible docker compose file, so i think you're better off with creating a docker compose file specifically for railway.
https://docs.railway.com/builds/dockerfiles
https://docs.railway.com/variables#reference-variables

Also the env vars should be ${{ }} not ${ } for railway.


Loading...