Docker workflow (#24)

This commit is contained in:
Cullen Watson
2023-08-28 12:15:13 -05:00
committed by GitHub
parent 9eb14a74a3
commit b9b7754703
6 changed files with 153 additions and 59 deletions

View File

@@ -138,13 +138,51 @@ linkedin, Software Engineer 1, Public Partnerships | PPL, https://www.linkedin.c
```
## Installation
_Python version >= [3.10](https://www.python.org/downloads/release/python-3100/) required_
1. Clone this repository `git clone https://github.com/cullenwatson/jobspy`
2. Install the dependencies with `pip install -r requirements.txt`
4. Run the server with `uvicorn main:app --reload`
## Usage
### Google Sheets Integration (Optional)
## Docker Image (simple)
_Requires [Docker Desktop](https://www.docker.com/products/docker-desktop/)_
[JobSpy API Image](https://ghcr.io/cullenwatson/jobspy:latest) is continuously updated and available on GitHub Container Registry. You can pull and use the image with:
## Usage Docker
To pull the Docker image:
```bash
docker pull ghcr.io/cullenwatson/jobspy:latest
```
### Params
By default,
* `client_secret.json` in current directory (if using Google Sheets, see below to obtain)
* Listens on port `8000`
* Places the jobs into a sheet that is named JobSpy
To run the image with these default settings, use:
Example (Windows):
```bash
docker run -v %cd%/client_secret.json:/app/client_secret.json -p 8000:8000 ghcr.io/cullenwatson/jobspy
```
Example (Unix):
```bash
docker run -v $(pwd)/client_secret.json:/app/client_secret.json -p 8000:8000 ghcr.io/cullenwatson/jobspy
```
### Using custom params
For example,
* port `8030`,
* path `C:\config\client_secret.json`
* Google sheet name `JobSheet`
```bash
docker run -v C:\config\client_secret.json:/app/client_secret.json -e GSHEET_NAME=JobSheet -e PORT=8030 -p 8030:8030 ghcr.io/cullenwatson/jobspy
```
### Google Sheets Integration
#### Obtaining an Access Key: [Video Guide](https://youtu.be/w533wJuilao?si=5u3m50pRtdhqkg9Z&t=43)
* Enable the [Google Sheets & Google Drive API](https://console.cloud.google.com/)
@@ -161,8 +199,6 @@ _Python version >= [3.10](https://www.python.org/downloads/release/python-3100/)
### How to call the API
#### [Postman](https://www.postman.com/downloads/) (preferred):
To use Postman:
1. Locate the files in the `/postman/` directory.
@@ -171,6 +207,12 @@ To use Postman:
#### Swagger UI:
Or you can call the API with the interactive documentation at [localhost:8000/docs](http://localhost:8000/docs).
## Python installtion (alternative to Docker)
_Python version >= [3.10](https://www.python.org/downloads/release/python-3100/) required_
1. Clone this repository `git clone https://github.com/cullenwatson/jobspy`
2. Install the dependencies with `pip install -r requirements.txt`
4. Run the server with `uvicorn main:app --reload`
## FAQ
### I'm having issues with my queries. What should I do?