Files
Termix/docs/docs.md

3.1 KiB

Termix Documentation

Termix is a powerful web-based Homepage terminal emulator that allows you to connect to your servers directly from your browser. With features like split screen, tab system, and saved hosts, Termix makes server management easier than ever.

Installation

Termix can be installed using Docker, Docker Compose, or manually. Choose the method that works best for your environment.

Docker Installation

The simplest way to get Termix up and running is with Docker:

# Create a persistent volume for MongoDB data
docker volume create mongodb-data

# Run the Termix container
docker run -d \
  --name termix \
  --restart unless-stopped \
  -p 8080:8080 \
  -v mongodb-data:/data/db \
  -e SALT="2v.F7!6a!jIzmJsu|[)h61$ZMXs;,i+~" \
  ghcr.io/lukegus/termix:latest

::: warning Make sure to replace the SALT value with your own secure random string, using all characters and a maximum length of 32 characters. You can generate one at LastPass Password Generator. :::

Docker Compose Installation

For a more comprehensive setup, you can use Docker Compose:

services:
  termix:
    image: ghcr.io/lukegus/termix:latest
    container_name: termix
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - termix-data:/app/data
    environment:
      # Generate random salt here https://www.lastpass.com/features/password-generator
      # (max 32 characters, include all characters for settings)
      SALT: "2v.F7!6a!jIzmJsu|[)h61$ZMXs;,i+~"
      PORT: "8080"

volumes:
  termix-data:
    driver: local

To start the container, run:

docker-compose up -d

Manual Installation

If you prefer a manual installation, follow these steps:

Required Packages

  • NPM
  • NodeJS
  • MongoDB

Installation Steps

  1. Clone the repository:
git clone https://github.com/LukeGus/Termix.git
cd Termix
  1. Install dependencies and build the project:
npm install
npm run build
  1. Start the application:
npm run start

::: tip For production environments, we recommend running the website via Nginx. See the Nginx configuration in the Docker directory of the repository. :::

  1. Start the backend services. Navigate to the backend directory:
cd src/backend
node database.cjs
node ssh.cjs

This will start the WebSocket services on ports 8081 and 8082.

Usage

Once installed, Termix will be available at http://localhost:8080 (or whichever port you configured).

  1. Create an account or log in
  2. Add your Homepage connection details
  3. Connect to your servers
  4. Enjoy the terminal experience right in your browser!

Security Considerations

  • Always use a strong, unique SALT value
  • Keep your server up to date with the latest Termix releases
  • Consider using key-based authentication rather than passwords
  • For production deployments, set up HTTPS using a reverse proxy

Troubleshooting

If you encounter any issues:

  1. Check the container logs: docker logs termix
  2. Ensure the correct ports are exposed and not blocked by a firewall
  3. Check the GitHub repository for known issues or to file a new one