Skip to main content

Installing oMFT

oMFT can be installed using Docker (recommended) or through a traditional installation. This guide covers both methods.

System Requirements​

  • CPU: 1+ cores (2+ recommended for production)
  • RAM: 512MB minimum (1GB+ recommended for production)
  • Disk Space: 100MB for the application plus space for your transfer data and logs
  • Operating System: Linux, macOS, or Windows with Docker support

The easiest way to deploy oMFT is using Docker. This method handles all dependencies and provides an isolated environment.

Using Docker Run​

docker run -d \
--name omft \
-p 8080:8080 \
-v /path/to/data:/app/data \
-v /path/to/backups:/app/backups \
ghcr.io/avier99/omft:latest

Replace /path/to/data and /path/to/backups with your desired local paths for persistent storage.

Using Docker Compose​

Create a docker-compose.yaml file:

version: '3'

services:
omft:
image: ghcr.io/avier99/omft:latest
container_name: omft
ports:
- "8080:8080"
volumes:
- ./data:/app/data
- ./backups:/app/backups
environment:
- TZ=UTC
restart: unless-stopped

Then run:

docker-compose up -d

Environment Variables​

You can customize your oMFT installation using environment variables:

environment:
- TZ=America/New_York
- PORT=8080
- DATA_DIR=/app/data
- BACKUP_DIR=/app/backups
- LOGS_DIR=/app/data/logs
- EMAIL_ENABLED=false
- BASE_URL=http://localhost:8080

See the Configuration section for a complete list of environment variables.

File Volume Mounts​

When running oMFT in Docker, you'll need to mount volumes to provide access to the files you want to transfer. Here are common volume mount scenarios:

For SFTP/FTP Source Files​

-v /path/to/local/files:/sftp/files

For Destination Directories​

-v /path/to/destination:/mft/destination

For Processing Temporary Files​

-v /path/to/temp:/mft/temp

Example using Docker Run with file volumes:

docker run -d \
--name omft \
-p 8080:8080 \
-v /path/to/data:/app/data \
-v /path/to/backups:/app/backups \
-v /path/to/local/files:/sftp/files \
-v /path/to/destination:/mft/destination \
ghcr.io/avier99/omft:latest

Example Docker Compose configuration with file volumes:

services:
omft:
image: ghcr.io/avier99/omft:latest
container_name: omft
ports:
- "8080:8080"
volumes:
- ./data:/app/data
- ./backups:/app/backups
- ./source_files:/sftp/files
- ./destination:/mft/destination
- ./temp:/mft/temp
environment:
- TZ=UTC
restart: unless-stopped

Note: Ensure the container has appropriate permissions to access the mounted directories. You may need to adjust host-side permissions accordingly.

Traditional Installation​

For environments where Docker is not available or preferred, you can install oMFT directly.

Prerequisites​

  • Go 1.20 or later
  • Node.js 18 or later
  • gcc (for building SQLite dependencies)

Building from Source​

  1. Clone the repository:
git clone https://github.com/avier99/oMFT.git
cd oMFT
  1. Install Node.js dependencies:
npm install
  1. Build the frontend assets:
npm run build
  1. Build the Go application:
go build -o omft
  1. Run the application:
./omft

Verifying the Installation​

After installation, access the oMFT web interface by navigating to:

http://localhost:8080

The default login credentials are:

  • Username: admin
  • Password: admin

Important: Change the default password immediately after the first login for security reasons.

Next Steps​

Once oMFT is installed, proceed to the Quick Start guide to begin configuring your file transfers.