Skip to content

Getting started

Phillipp Glanz edited this page Aug 17, 2023 · 5 revisions

Use this for setup your own instance of the schematic.cloud

Steps:

  1. Create a folder named schematic_cloud
  2. Create follwing file inside of the folder:
services:
  schematic_web:
    image: docker.io/intellectualsites/schematic-web:latest
    container_name: schematic_web
    restart: unless-stopped
    ports:
      - 3001:80
    volumes:
      - ./web/nginx.conf:/etc/nginx/conf.d/default.conf
      - ./web/config.json:/usr/share/nginx/html/config.json
    depends_on:
      - arkitektonika
  arkitektonika:
    image: docker.io/intellectualsites/arkitektonika:latest
    container_name: Arkitektonika
    restart: unless-stopped
    ports:
      -  3000:3000
    volumes:
      - ./data:/app/data
    environment:
      - LOG_LEVEL=DEBUG
  1. Create inside of the folder follwing folders:
  • data
  • web
  1. Create inside of data a config.json file with following content:
{
  "port": 3000,
  "prune": 1800000,
  "maxIterations": 20,
  "maxSchematicSize": 1000000,
  "limiter": {
    "windowMs": 60000,
    "delayAfter": 30,
    "delayMs": 500
  }
}
  1. Create two files inside of web:
  • config.json
  • nginx.conf
  1. Put follwing content into nginx.conf
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    client_max_body_size 100M; # Schematic uplaod size
    root   /usr/share/nginx/html;
    index index.html;
    location / {
      try_files $uri $uri.html $uri/ =404;
    }

    error_page 404 /404.html;
  location = /404.html {
      internal;
  }
}
  1. Put follwing content into config.json from web
{
  "public_url": "http://localhost:3001",
  "api_url": "http://localhost:3000"
}
  1. Change api_url to your real domain/ip
  2. Change public_url to your real domain/ip for end users
Clone this wiki locally