Skip to content

FreeCAD/Ondsel-Server

 
 

Repository files navigation

Ondsel-Server

Getting Started

Clone the repository with submodules

git clone --recurse-submodules https://github.com/FreeCAD/Ondsel-Server.git
cd Ondsel-Server

Installation

You can install Ondsel-Server in two ways:

  1. Using docker-compose (Recommended, only requires Docker)
  2. Manual installation (Requires all dependencies)

Prerequisites for docker-compose

Prerequisites for manual installation

Using docker-compose (Recommended)

This is the easiest way to run the entire application stack.

Create environment file:

cp env.example .env
# or for using AWS S3 for storage:
cp env.with-aws.example .env

Start the server:

# With analytics (recommended):
docker-compose --profile matomo-enabled up --build -d

# Without analytics:
docker-compose up --build -d

# Rebuild the frontend on env change:
docker-compose build --no-cache frontend

# For development:
docker-compose -f docker-compose.dev.yml --profile matomo-enabled up --build -d

# To use prebuild docker images
docker-compose -f docker-compose.prebuilds.yml --profile matomo-enabled up --build -d

That's it! The application should now be running at http://localhost:3000

Default Credentials

Matomo Analytics
Frontend Application

These credentials can be customized using environment variables in the .env file.

Note: For production environments, it's strongly recommended to change these default credentials using environment variables.

Manual Installation

Running MongoDB

  • Install MongoDB
  • Start the MongoDB service: systemctl start mongodb
  • If necessary, remove an old database: od-backend-db, for example using MongoDB Compass

Running frontend

  • Go to the frontend directory
  • Rename env.example to .env (Or export variables)
  • Install frontend dependencies npm ci
  • Finally, run server npm run dev
$ cd frontend
$ mv env.example .env
$ set -a; . ./.env; set +a
$ npm ci
$ npm run dev

To run from Docker, recompile with:

sudo docker build -t frontend .

and run (or re-run) with:

sudo docker run --env-file .env -p 80:80 --rm --name frontend frontend:latest

If it is required to make the server accessible on the local network, change the environment variable below in .env and use the hostname or IP address where the backend is available.

VITE_APP_API_URL=http://<host-or-ip-of-backend>:3030/

Then run the frontend with:

npm run dev -- --host 0.0.0.0

Running backend

  • Go to the backend directory
  • Rename env.example or env.with-aws.example (for using AWS S3 for storage) to .env (Or export variables)
  • Install frontend dependencies npm ci
  • Optionally, initialize the MongoDB database npm run migration addDefaultAdminUser
  • Finally, run server npm run dev
$ cd backend
$ mv env.example .env # or `mv env.with-aws.example .env` for using AWS S3 for storage
$ set -a; . ./.env; set +a
$ npm ci
$ npm run migration addDefaultAdminUser

Then:

npm run dev

Running FC-Worker

The FC-Worker is a submodule and has its own repository.

  • Go to the FC-Worker directory
  • Build the docker image (docker-compose build)
  • Run the docker image (docker-compose up -d)
$ cd FC-Worker
$ docker-compose build
$ docker-compose up -d`

Check if it works:

curl -v http://127.0.0.1:9000/2015-03-31/functions/function/invocations -X POST -H "Content-Type: application/json" -d '{"command":"<your-health-check-string>"}'

About

web platform which mainly contains frontend and backend for Ondsel Service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 57.4%
  • Vue 37.4%
  • Lua 4.3%
  • Python 0.4%
  • HTML 0.2%
  • Dockerfile 0.2%
  • Other 0.1%