mirror of https://github.com/docusealco/docuseal
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							166 lines
						
					
					
						
							3.6 KiB
						
					
					
				
			
		
		
	
	
							166 lines
						
					
					
						
							3.6 KiB
						
					
					
				# DocuSeal Local Development Setup
 | 
						|
 | 
						|
This guide will help you set up DocuSeal locally for development and testing purposes.
 | 
						|
 | 
						|
## Prerequisites
 | 
						|
 | 
						|
Before you begin, make sure you have the following installed on your system:
 | 
						|
 | 
						|
### Required Software
 | 
						|
- **Ruby 3.4.2** - Use your preferred Ruby version manager (rbenv, rvm, asdf, etc.)
 | 
						|
- **Node.js 18** - Required for frontend assets compilation
 | 
						|
- **Yarn** - Package manager for Node.js dependencies
 | 
						|
- **PostgreSQL** (optional) - For production-like database setup
 | 
						|
- **Redis** - For background job processing (Sidekiq)
 | 
						|
 | 
						|
### macOS Dependencies
 | 
						|
- **Homebrew** - For installing system dependencies
 | 
						|
- **VIPS** - For image processing
 | 
						|
- **LibreOffice** (optional) - For document conversion if you encounter upload errors
 | 
						|
 | 
						|
## Installation Steps
 | 
						|
 | 
						|
### 1. Clone the Repository
 | 
						|
 | 
						|
```bash
 | 
						|
git clone https://github.com/CareerPlug/docuseal.git
 | 
						|
cd docuseal
 | 
						|
```
 | 
						|
 | 
						|
### 2. Install Ruby Dependencies
 | 
						|
 | 
						|
Make sure you're using Ruby 3.4.2:
 | 
						|
 | 
						|
```bash
 | 
						|
# If using rbenv
 | 
						|
rbenv install 3.4.2
 | 
						|
rbenv local 3.4.2
 | 
						|
 | 
						|
# If using rvm
 | 
						|
rvm install 3.4.2
 | 
						|
rvm use 3.4.2
 | 
						|
 | 
						|
# If using asdf
 | 
						|
asdf install ruby 3.4.2
 | 
						|
asdf local ruby 3.4.2
 | 
						|
```
 | 
						|
 | 
						|
Install Ruby gems:
 | 
						|
 | 
						|
```bash
 | 
						|
bundle install
 | 
						|
```
 | 
						|
 | 
						|
### 3. Install System Dependencies
 | 
						|
 | 
						|
#### macOS
 | 
						|
```bash
 | 
						|
# Install VIPS for image processing
 | 
						|
brew install vips
 | 
						|
 | 
						|
# Install LibreOffice (optional, for document conversion)
 | 
						|
brew install --cask libreoffice
 | 
						|
```
 | 
						|
 | 
						|
### 4. Setup Database
 | 
						|
 | 
						|
The application uses SQLite by default for development. Create and migrate the database:
 | 
						|
 | 
						|
```bash
 | 
						|
rails db:create db:migrate
 | 
						|
```
 | 
						|
 | 
						|
If you prefer to use PostgreSQL for a more production-like setup:
 | 
						|
 | 
						|
1. Install PostgreSQL
 | 
						|
2. Create a database
 | 
						|
3. Update `config/database.yml` to use PostgreSQL for development
 | 
						|
4. Run the migration commands
 | 
						|
 | 
						|
### 5. Install Node.js Dependencies
 | 
						|
 | 
						|
Make sure you're using Node.js 18:
 | 
						|
 | 
						|
```bash
 | 
						|
# Check your Node version
 | 
						|
node --version
 | 
						|
 | 
						|
# If you need to switch to Node 18, use your preferred version manager
 | 
						|
# Example with nvm:
 | 
						|
nvm install 18
 | 
						|
nvm use 18
 | 
						|
 | 
						|
# Install dependencies
 | 
						|
yarn install
 | 
						|
```
 | 
						|
 | 
						|
### 6. Start the Development Servers
 | 
						|
 | 
						|
In separate terminal windows:
 | 
						|
 | 
						|
```bash
 | 
						|
# Terminal 1: Rails server
 | 
						|
PORT=3001 bundle exec rails s -p 3001
 | 
						|
 | 
						|
# Terminal 2: Webpack dev server
 | 
						|
bundle exec ./bin/shakapacker-dev-server
 | 
						|
```
 | 
						|
 | 
						|
### 7. Access the Application
 | 
						|
 | 
						|
Open your browser and navigate to:
 | 
						|
- **DocuSeal**: http://localhost:3001
 | 
						|
 | 
						|
## Initial Setup
 | 
						|
 | 
						|
### 1. Create Admin Account
 | 
						|
 | 
						|
1. Go to http://localhost:3001
 | 
						|
2. You'll be prompted to create the first admin account
 | 
						|
3. Fill in the required information to set up your admin user
 | 
						|
 | 
						|
### 2. Upload a Document
 | 
						|
 | 
						|
1. Log in with your admin account
 | 
						|
2. Click "New Form" or "Upload Document"
 | 
						|
3. Upload a PDF document to test the system
 | 
						|
4. If you encounter upload errors, make sure LibreOffice is installed
 | 
						|
 | 
						|
## Troubleshooting
 | 
						|
 | 
						|
### Common Issues
 | 
						|
 | 
						|
#### Node.js Version Issues
 | 
						|
If you get errors during `yarn install`, ensure you're using Node.js 18:
 | 
						|
```bash
 | 
						|
node --version  # Should show v18.x.x
 | 
						|
```
 | 
						|
 | 
						|
#### Image Processing Errors
 | 
						|
If you encounter VIPS-related errors:
 | 
						|
```bash
 | 
						|
# macOS
 | 
						|
brew install vips
 | 
						|
```
 | 
						|
 | 
						|
#### Document Upload Issues
 | 
						|
If document uploads fail, install LibreOffice:
 | 
						|
```bash
 | 
						|
# macOS
 | 
						|
brew install --cask libreoffice
 | 
						|
```
 | 
						|
 | 
						|
#### Database Issues
 | 
						|
If you encounter database connection issues:
 | 
						|
```bash
 | 
						|
# Reset the database
 | 
						|
rails db:drop db:create db:migrate
 | 
						|
```
 | 
						|
 | 
						|
## Notes
 | 
						|
This is a standalone DocuSeal instance, this is to more easily make customizations to the fork itself without needing to integrate with another application.
 | 
						|
- The application runs on port 3001 by default
 | 
						|
- All data is stored locally in SQLite database for development
 | 
						|
- File uploads are stored in the `attachments/` directory
 | 
						|
- This setup is for local development only.
 |