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.
|