Back to Maxun

Local Installation

SETUP.md

0.0.386.3 KB
Original Source

Local Installation

  1. Create a root folder for your project (e.g. 'maxun')
  2. Create a file named .env in the root folder of the project
  3. Example env file can be viewed here. Copy all content of example env to your .env file.
  4. Choose your installation method below

Docker Compose

  1. Copy paste the docker-compose.yml file into your root folder
  2. Ensure you have setup the .env file in that same folder
  3. Run the command below from a terminal
docker-compose up -d

You can access the frontend at http://localhost:5173/ and backend at http://localhost:8080/

Without Docker

  1. Ensure you have Node.js, PostgreSQL, MinIO and Redis installed on your system.
  2. Run the commands below
git clone https://github.com/getmaxun/maxun

# change directory to the project root
cd maxun

# install dependencies
npm install

# change directory to maxun-core to install dependencies
cd maxun-core 
npm install

# get back to the root directory
cd ..

# install chromium and its dependencies
npx playwright install --with-deps chromium

# get back to the root directory
cd ..

# start frontend and backend together
npm run start

You can access the frontend at http://localhost:5173/ and backend at http://localhost:8080/

Environment Variables

  1. Create a file named .env in the root folder of the project
  2. Example env file can be viewed here.
VariableMandatoryDescriptionIf Not Set
BACKEND_PORTYesPort to run backend on. Needed for Docker setupDefault value: 8080
FRONTEND_PORTYesPort to run frontend on. Needed for Docker setupDefault value: 5173
BACKEND_URLYesURL to run backend on.Default value: http://localhost:8080
VITE_BACKEND_URLYesURL used by frontend to connect to backendDefault value: http://localhost:8080
PUBLIC_URLYesURL to run frontend on.Default value: http://localhost:5173
VITE_PUBLIC_URLYesURL used by backend to connect to frontendDefault value: http://localhost:5173
JWT_SECRETYesSecret key used to sign and verify JSON Web Tokens (JWTs) for authentication.JWT authentication will not work.
DB_NAMEYesName of the Postgres database to connect to.Database connection will fail.
DB_USERYesUsername for Postgres database authentication.Database connection will fail.
DB_PASSWORDYesPassword for Postgres database authentication.Database connection will fail.
DB_HOSTYesHost address where the Postgres database server is running.Database connection will fail.
DB_PORTYesPort number used to connect to the Postgres database server.Database connection will fail.
ENCRYPTION_KEYYesKey used for encrypting sensitive data (proxies, passwords).Encryption functionality will not work.
SESSION_SECRETNoA strong, random string used to sign session cookiesUses default secret. Recommended to define your own session secret to avoid session hijacking.
MINIO_ENDPOINTYesEndpoint URL for MinIO, to store Robot Run Screenshots.Connection to MinIO storage will fail.
MINIO_PORTYesPort number for MinIO service.Connection to MinIO storage will fail.
MINIO_CONSOLE_PORTNoPort number for MinIO WebUI service. Needed for Docker setup.Cannot access MinIO Web UI.
MINIO_ACCESS_KEYYesAccess key for authenticating with MinIO.MinIO authentication will fail.
GOOGLE_CLIENT_IDNoClient ID for Google OAuth. Used for Google Sheet integration authentication.Google login will not work.
GOOGLE_CLIENT_SECRETNoClient Secret for Google OAuth. Used for Google Sheet integration authentication.Google login will not work.
GOOGLE_REDIRECT_URINoRedirect URI for handling Google OAuth responses.Google login will not work.
AIRTABLE_CLIENT_IDNoClient ID for Airtable, used for Airtable integration authentication.Airtable login will not work.
AIRTABLE_REDIRECT_URINoRedirect URI for handling Airtable OAuth responses.Airtable login will not work.
MAXUN_TELEMETRYNoDisables telemetry to stop sending anonymous usage data. Keeping it enabled helps us understand how the product is used and assess the impact of any new changes. Please keep it enabled.Telemetry data will not be collected.