Skip to content

The whole guide for starting Plasmic-App backend selfhosted, could be used with Medusajs #13322

@daic11

Description

@daic11

Here is a guide how to run Plasmic visual editor self-hosted on your own hardware for creating frontend without code.
To connect backend of plasmic editor with the webiste, you should run Medusa Starter first.

Than integrate it by the following instruction:
https://docs.plasmic.app/learn/nextjs-quickstart/

You need to run your self-hosted instance on any server or your own pc.
It requires at minimum 8GB Ram.

# Run Plasmic App admin locally with self-hosting to edit Medusa frontend  
# Node.js 24.4.0, Python 3.10.13 (or newer)  
# yarn and npm must be installed  
# corepack enable yarn  
# rsync and bash must be installed  
# docker and docker-compose installed and running  
# postgresql-client and postgresql installed and running  

# For Alpine  

# Edit repositories for latest packages (node 24)  
vi /etc/apk/repositories  

# Should be edge  
# https://dl-cdn.alpinelinux.org/alpine/edge/main  
# https://dl-cdn.alpinelinux.org/alpine/edge/community  

apk update && apk upgrade  

apk add postgresql-client build-base python3 py3-pip postgresql postgresql-contrib wget screen rsync python3 nodejs-current openssh neovim docker docker-cli-compose  

rc-update add sshd && rc-service sshd start && rc-update add docker default && service docker start && adduser user  

addgroup webuser docker  
addgroup webuser wheel  

nvim /etc/doas.conf # allow wheel group  

# Build and run steps  

git clone https://github.com/plasmicapp/plasmic.git  
cd plasmic  

# Start database in docker  
docker-compose up -d --no-deps plasmic-db  

# Add .env according to instructions  
echo -e "DATABASE_URI=postgres://wab:SEKRET@localhost:5432/wab\nWAB_DBNAME=plasmic-db\nWAB_DBPASSWORD=SEKRET\nNODE_ENV=development" > .env  

echo -e "DATABASE_URI=postgres://wab:SEKRET@localhost:5432/wab\nWAB_DBNAME=plasmic-db\nWAB_DBPASSWORD=SEKRET\nNODE_ENV=development" > platform/wab/.env  

# Install dependencies in root  
yarn install  

cd platform/wab  

# Fix error with observability logger module  
echo -e "import { PinoLogger } from \"./PinoLogger\";\n\nexport function logger() {\n  return new PinoLogger();\n}" >> src/wab/server/observability/index.ts  

# Install dependencies for wab  
yarn install  

cd ../..  

# Return and configure root beforehand  
yarn setup-all  

cd platform/wab  

# This should pass without errors — the most critical step  
PGHOST=localhost PGPORT=5432 yarn seed  

# If errors occur: yarn typeorm migration:run  
# If errors occur: PGHOST=localhost PGPORT=5432 yarn db:reset  
# If errors occur: PGHOST=localhost PGPORT=5432 yarn db:setup  

cd ../..  

# Configure in root  
yarn setup-all  

# Bootstrap  
yarn bootstrap  

# Run  
yarn dev  

# To run as background process  
nohup yarn dev > dev.log 2>&1 &

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions