Skip to content

Docker compose installation

This guide walks through the available templates and how to get up and running in just two steps.

Start by creating a directory for the project and downloading the docker-compose.yml from GitHub:

Terminal: copy docker compose file
mkdir ~/dataramen-compose
curl -fsSL https://raw.githubusercontent.com/OleksandrDemian/dataramen/refs/heads/main/workspaces/docker/compose/default/docker-compose.yml -o ~/dataramen-compose/docker-compose.yml

Now you can run docker compose up from the ~/dataramen-compose folder:

Terminal: copy docker compose file
cd ~/dataramen-compose
docker compose up -d

The steps above use the default configuration, which relies on a local SQLite database stored on a mounted volume.

DataRamen also supports PostgreSQL and MySQL as application databases — a better choice if you anticipate migrating to a remotely hosted database later.

MySQL template

Terminal window
mkdir -p ~/dataramen-compose/mysql
cd ~/dataramen-compose/mysql
curl -fsSL https://raw.githubusercontent.com/OleksandrDemian/dataramen/refs/heads/main/workspaces/docker/compose/mysql/docker-compose.yml -o ./docker-compose.yml
docker compose up -d

Postgres template

Terminal window
mkdir -p ~/dataramen-compose/postgres
cd ~/dataramen-compose/postgres
curl -fsSL https://raw.githubusercontent.com/OleksandrDemian/dataramen/refs/heads/main/workspaces/docker/compose/postgres/docker-compose.yml -o ./docker-compose.yml
docker compose up -d

What these commands do:

  • Create the ~/dataramen-compose/postgres directory (the -p flag creates parent directories as needed)
  • Change into the newly created directory
  • Download the docker-compose.yml file from GitHub
  • Start the containers in detached mode
  • The application will be available at http://localhost:4466 (the default port — adjust if you modified the configuration)

Use the following docker-compose.yml as a starting point for a custom configuration:

version: "3.9"
name: "dataramen"
services:
dataramen:
image: ghcr.io/oleksandrdemian/dataramen:latest
container_name: app
environment:
SYMM_ENCRYPTION_KEY: ""
JWT_SECRET: ""
JWT_REFRESH_SECRET: ""
SERVER_VERSION: ""
ALLOWED_ORIGINS: ""
APP_DB_TYPE: ""
APP_DB_DATABASE: ""
APP_DB_HOST: ""
APP_DB_USERNAME: ""
APP_DB_PASSWORD: ""
APP_DB_PORT: ""
APP_DB_SCHEMA: ""
APP_DB_LOGGING: ""
ports:
- "4466:3000"
volumes:
- dataramen_data:/data
restart: no
volumes:
dataramen_data:
name: dataramen_data

See the Environment Variables guide for a full reference.

You can also supply environment variables via an .env file:

version: "3.9"
name: "dataramen"
services:
dataramen:
image: ghcr.io/oleksandrdemian/dataramen:latest
container_name: app
env_file: .env
ports:
- "4466:3000"
volumes:
- dataramen_data:/data
restart: no
volumes:
dataramen_data:
name: dataramen_data