The open-source Document Lifecycle Management platform.
Wraft is an open-source content authoring platform that's helps businesses produce their most important set of documents. Wraft helps author structured business content. From official letters to contracts, and beyond.
Our goal is to give people complete control over their most important documents, from drafting to collaborating and distributing.
Wraft is built on top of open formats, using markdown and JSON. This means your content is always accessible and future-proof.
- Elixir 1.14
- Erlang/OTP 26.0
- Postgres
- Minio - S3 compatible object storage
- Pandoc
- Latex
.tools_version
will have the exact versions defined in it.
$ git clone https://github.com/wraft/wraft.git
$ cd wraft
As these 2 are defined in the .tool_versions
, asdf
will install the right versions with the following set of commands:
Please refer the given link for the installation of asdf-version-manager.
Add the following plugins to your asdf for elixir and erlang:
$ asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git
$ asdf plugin add elixir https://github.com/asdf-vm/asdf-elixir.git
$ asdf install
inotify-tools
- command-line utilities to monitor file system activity
In macOS:
$ brew install inotify-tools
In Linux:
$ sudo apt install inotify-tools
Select your OS from the options here and follow the instruction to install the latest version of postgres. Check your installation using:
$ postgres -V
Test your connectivity:
$ psql -h 127.0.0.1 -p 5432 -U postgres postgres
Download the latest version of minio from here and follow the instructions to install based on your OS.
Run the following command from the system terminal or shell to start a local MinIO instance using the ~/minio folder. You can replace this path with another folder path on the local machine:
$ minio server ~/minio
$ minio server ~/minio --console-address :9001
Open http://127.0.0.1:9000 in a web browser to access the MinIO Console.
The easiest way to install it on OSX is via brew:
$ brew install pandoc
For Linux machines, follow the instructions below.
- Download the pandoc package that suits your device here
- To install the deb:
$ sudo dpkg -i $DEB
where $DEB
is the path to the downloaded deb.
These instructions are taken from Official Pandoc Documentations. You may refer if the official documentation if you have any doubts.
To use Latex in OSX, install the MacTex Distribution. You can download MacTex here. Choose the correct version that supports your device, download and install. Latex editor comes with the distribution.
In Linux machines, we suggest to use Tex Live LaTeX distribution. Easiest way to install Tex Live distribution in
Linux/Ubuntu is to use apt-get
.
$ sudo apt-get install texlive-full
In case you need latex editor, type in:
$ sudo apt-get install texmaker
To start your Wraft app:
Load env variables
Make a .env.dev file in the root directory and add the environment variables.
Refer .env.example
for the list of variables.
Source the environment variables from the file and start the server.
$ mv .env.example .env.dev
$ source .env.dev
Setup the project
$ mix setup
Start Phoenix endpoint
- With interactive shell
$ iex -S mix phx.server
- Without interactive shell
$ source .env.dev && mix phx.server
Now you can visit localhost:4000
from your browser.
To get the API documentation, go here.
Clone the frontend repository separately.
$ cd ..
$ git clone https://github.com/wraft/wraft-frontend.git
$ cd wraft-frontend
Refer the README.md in the frontend repository for the setup.
The default username and password
username: [email protected]
password: password
The easiest way to get started with wraft-backend is using Docker by running the following command.
$ git clone https://github.com/wraft/wraft.git
$ cd wraft
# Copy the example env to your own file and edit it
$ cp .env.example .env.dev
#Load the development environment variables
$ source .env.dev
# Start the Docker containers
$ docker-compose up -d
# Visit localhost:3200
$ http://localhost:3200
The default username and password
username: [email protected]
password: password
Wraft is open-source software licensed under the AGPLv3.