2022-06-05 23:07:15 +00:00
|
|
|
# Development Setup
|
|
|
|
|
|
|
|
## Development Dependencies
|
|
|
|
|
|
|
|
1. Python `3.10.4`
|
|
|
|
2. Pip
|
|
|
|
3. Virtualenv
|
|
|
|
4. GNU make
|
|
|
|
5. PostgreSQL
|
2022-06-10 17:03:35 +00:00
|
|
|
6. SMTP server(instructions available for Docker setup)
|
|
|
|
7. (Optionally) Docker: used to spin up PostgreSQL instance
|
2022-06-05 23:07:15 +00:00
|
|
|
|
|
|
|
## Setup
|
|
|
|
|
|
|
|
1. Clone the project
|
|
|
|
|
|
|
|
```bash
|
|
|
|
git clone https://gitea.hostea.org/Hostea/dashboard.git && cd dashboard
|
|
|
|
```
|
|
|
|
|
|
|
|
2. Create `virtualenv` and activate environment
|
|
|
|
|
|
|
|
```bash
|
|
|
|
virtualenv venv && source venv/bin/activate
|
|
|
|
```
|
|
|
|
|
|
|
|
4. Setup local configuration:
|
|
|
|
|
|
|
|
i) Initialize configuration file by copying `.env-sample`
|
|
|
|
|
|
|
|
```bash
|
|
|
|
cp .env-sample .env
|
|
|
|
```
|
|
|
|
|
|
|
|
ii) Modify the contents of `.env`:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
export DATABSE_URL=postgres://postgres:password@localhost:5432/postgres
|
|
|
|
export db=hostea-dashboard
|
|
|
|
```
|
|
|
|
|
|
|
|
iii) Load environment
|
|
|
|
|
|
|
|
```bash
|
|
|
|
source .env
|
|
|
|
```
|
|
|
|
|
|
|
|
3. Setup PostgreSQL
|
|
|
|
|
|
|
|
_We are using Docker but you are welcome to bring your own PostgreSQL
|
|
|
|
instance_
|
|
|
|
|
|
|
|
```bash
|
|
|
|
docker create --name $db \
|
|
|
|
-e POSTGRES_PASSWORD=password \
|
|
|
|
-p 5432:5432 \
|
|
|
|
postgres && \
|
|
|
|
docker start $db
|
|
|
|
```
|
|
|
|
|
2022-06-10 17:03:35 +00:00
|
|
|
4. Setup SMTP server
|
|
|
|
|
|
|
|
We are using the excellent development SMTP server
|
|
|
|
[maildev](https://maildev.github.io/maildev/).
|
|
|
|
|
|
|
|
```bash
|
|
|
|
docker create --name hostea-smtp \
|
|
|
|
-p 1080:1080 \
|
|
|
|
-p 10025:1025 \
|
|
|
|
maildev/maildev \
|
|
|
|
--incoming-user \
|
|
|
|
admin \
|
|
|
|
--incoming-pass password && \
|
|
|
|
docker start hostea-smtp
|
|
|
|
```
|
|
|
|
|
|
|
|
SMTP is available at port 10025 and the email web interface at port 1080
|
|
|
|
|
2022-06-05 23:07:15 +00:00
|
|
|
4. Install Dependencies
|
|
|
|
|
|
|
|
```bash
|
|
|
|
make env
|
|
|
|
```
|
|
|
|
|
|
|
|
5. Apply database migrations
|
|
|
|
|
|
|
|
```bash
|
|
|
|
make migrate
|
|
|
|
```
|
|
|
|
|
|
|
|
6. Create superuesr
|
|
|
|
|
|
|
|
```bash
|
|
|
|
python manage.py createsuperuser
|
|
|
|
```
|
|
|
|
|
|
|
|
And provide information requested
|
|
|
|
|
|
|
|
7. Launch development server
|
|
|
|
|
|
|
|
```bash
|
|
|
|
make
|
|
|
|
```
|