plane/apps/docs/src/pages/self-hosting.mdx
sriram veeraghanta bdca84bd09
Feat: Dockerizing using nginx reverse proxy (#280)
* minor docker fixes

* eslint config changes

* dockerfile changes to backend and frontend

* oauth enabled env flag

* sentry enabled env flag

* build: get alternatives for environment variables and static file storage

* build: automatically generate random secret key if not provided

* build: update docker compose for next url env add channels to requirements for asgi server and save files in local machine for docker environment

* build: update nginx conf for backend base url update backend dockerfile to make way for static file uploads

* feat: create a default user with given values else default values

* chore: update docker python version and other dependency version in docker

* build: update local settings file to run it in docker

* fix: update script to run in default production setting

* fix: env variable changes and env setup shell script added

* Added Single Dockerfile to run the Entire plane application

* docs build fixes

---------

Co-authored-by: Narayana <narayana.vadapalli1996@gmail.com>
Co-authored-by: pablohashescobar <nikhilschacko@gmail.com>
2023-02-21 11:31:43 +05:30

84 lines
1.9 KiB
Plaintext

# Self Hosting Plane
import { Heading } from '@/components/Heading'
import { Note } from '@/components/mdx'
<Note>
Plane is still in its early days, not everything will be perfect yet, and
hiccups may happen. Please let us know of any suggestions, ideas, or bugs that
you encounter on our [Discord](https://discord.com/invite/A92xrEGCge).
</Note>
<Heading level={2} id="project-requirements">
Requirements
</Heading>
1. Git
2. Docker
3. Docker-compose
<Heading level={2} id="project-requirements">
Project set-up
</Heading>
1. Clone the code
```bash
git clone --depth 1 https://github.com/makeplane/plane
```
2. Change Directory
```bash
cd plane
```
3. Move `env.example` to `.env` in the `apiserver` directory and `apps/app`
```bash
mv.env.example.env
```
4. Add all the variables - (the below are the compulsory variables)
Frontend - `apps/app/.env`
```bash
NEXT_PUBLIC_API_BASE_URL = '<-- endpoint goes here -->'
NEXT_PUBLIC_GOOGLE_CLIENTID = '<-- google client id goes here -->'
NEXT_PUBLIC_GITHUB_ID = '<-- github id goes here -->'
NEXT_PUBLIC_APP_ENVIRONMENT = '<-- production | development -->'
```
Backend - `apiserver/.env`
```bash
# Backend
SECRET_KEY="<-- django secret -->"
EMAIL_HOST="<-- email smtp -->"
EMAIL_HOST_USER="<-- email host user -->"
EMAIL_HOST_PASSWORD="<-- email host password -->"
AWS_REGION="<-- aws region -->"
AWS_ACCESS_KEY_ID="<-- aws access key -->"
AWS_SECRET_ACCESS_KEY="<-- aws secret acess key -->"
AWS_S3_BUCKET_NAME="<-- aws s3 bucket name -->"
SENTRY_DSN="<-- sentry dsn -->"
WEB_URL="<-- frontend web url -->"
GITHUB_CLIENT_SECRET="<-- github secret -->"
DISABLE_COLLECTSTATIC=1
DOCKERIZED=1
```
5. Run
```bash
docker-compose up --build
```
6. Visit
1. [http://localhost:3000](http://localhost:3000) - (Frontend)
2. [http://localhost:8000](http://localhost:8000) - (Backend)