Overview
This guide covers installing Rexec manually without Docker Compose. This approach gives you more control and is useful for:- Development environments
- Custom deployment setups
- Environments where Docker Compose isn’t available
- Integration with existing infrastructure
Prerequisites
Database Setup
Build Rexec
Setup Development Environment
Run the setup script to install dependencies and create required directories:This command:
- Downloads Go dependencies
- Pulls base Docker images (ubuntu, debian, arch)
- Creates
/var/lib/rexec/volumesdirectory - Copies
.env.exampleto.env
Build Frontend
Build the Svelte web UI:Or manually:The built frontend will be in the
web/ directory.Build Backend
Compile the Go binary:This creates
bin/rexec with the main server binary.To build everything (frontend + backend + CLI tools):Configuration
Create Environment File
The setup script created Minimum required configuration:
.env from .env.example. Edit it:.env
Running Rexec
Start the Server
Using Make:Or directly:The server will start on port 8080 (or your configured PORT).
Development Mode
For development with hot-reloading:Building for Distribution
To build binaries for multiple platforms:downloads/ directory:
Docker Image Build
To build the Docker image manually:Running as a System Service
Systemd Service (Linux)
Create/etc/systemd/system/rexec.service:
Makefile Commands
The Makefile provides many helpful commands:Troubleshooting
Docker Socket Permission Denied
Add your user to the docker group:Port Already in Use
Change thePORT variable in .env or stop the conflicting service:
Database Connection Failed
Verify PostgreSQL is running and credentials are correct:Frontend Build Fails
Clear npm cache and reinstall:Next Steps
Configuration
Learn about all environment variables and advanced configuration
Docker Compose
Deploy using Docker Compose for easier management