blob: 8bc01860a0849a2e74218b0d1fa495e0db3e2829 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# Python Discord Forms (Backend)
API for Python Discord forms (https://forms.pythondiscord.com) that handles Discord login and forms, submissions.
## Setup
### Prerequisites
To start working on forms-backend, you need few things:
1. Discord Application (in [Developers Portal](https://discord.com/developers/applications))
2. Poetry
3. Docker and docker-compose (optional)
4. Running MongoDB instance (when not using Docker)
### Running with Docker
Easiest way to run this is using Docker (and docker-compose).
#### Environment variables
Set following environment variables to `.env` file:
- `OAUTH2_CLIENT_ID`: Client ID of Discord Application (prerequisites point 1).
- `OAUTH2_CLIENT_SECRET`: Client Secret of Discord Application (prerequisites point 1).
- `ALLOWED_URL`: Allowed origin for CORS middleware.
#### Running
Running is really for this way: `docker-compose up`! And this is all: You can access now API from `http://localhost:8000`.
### Running on host
Another way to run forms-backend is manually in host.
#### Environment variables
First all same than in Docker environment variables section, with following additions:
- `DATABASE_URL`: MongoDB instance URI, in format `mongodb://(username):(password)@(database IP or domain):(port)`.
- `MONGO_DB`: MongoDB database name, defaults to `pydis_forms`.
#### Running
Almost same easy than for Docker: `uvicorn --reload --host 0.0.0.0 --debug "backend:app`.
|