mirror of https://github.com/docusealco/docuseal
				
				
				
			
							parent
							
								
									8e141778c3
								
							
						
					
					
						commit
						39b832d47a
					
				| @ -0,0 +1,165 @@ | ||||
| # 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. | ||||
					Loading…
					
					
				
		Reference in new issue