mirror of https://github.com/Hoffelhas/autodoist
Merge pull request #31 from obbardc/wip/obbardc/docker-dev
Build and publish Docker image in GitHub actionsdev^2
commit
1f8f6ab182
|
@ -0,0 +1,41 @@
|
||||||
|
name: Build and publish Docker image
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
|
||||||
|
env:
|
||||||
|
REGISTRY: ghcr.io
|
||||||
|
IMAGE_NAME: ${{ github.repository }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-publish-docker-image:
|
||||||
|
name: Build and publish Docker image
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Log in to the Container registry
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
registry: ${{ env.REGISTRY }}
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Extract metadata (tags, labels) for Docker
|
||||||
|
id: meta
|
||||||
|
uses: docker/metadata-action@v3
|
||||||
|
with:
|
||||||
|
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v2
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
push: true
|
||||||
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
labels: ${{ steps.meta.outputs.labels }}
|
|
@ -0,0 +1,10 @@
|
||||||
|
FROM python:3-slim-bullseye
|
||||||
|
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
|
COPY requirements.txt ./
|
||||||
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
ENTRYPOINT [ "python", "./autodoist.py" ]
|
11
README.md
11
README.md
|
@ -182,3 +182,14 @@ In addition, if you experience issues with syncing you can increase the api sync
|
||||||
For all arguments, please check out the help:
|
For all arguments, please check out the help:
|
||||||
|
|
||||||
python autodoist.py --help
|
python autodoist.py --help
|
||||||
|
|
||||||
|
|
||||||
|
## Docker container
|
||||||
|
|
||||||
|
To build the docker container, check out the repository and run:
|
||||||
|
|
||||||
|
docker build . --tag autodoist:latest
|
||||||
|
|
||||||
|
To run autodoist inside the docker container:
|
||||||
|
|
||||||
|
docker run -it autodoist:latest
|
||||||
|
|
|
@ -324,7 +324,7 @@ def initialise_api(args):
|
||||||
# Check we have a API key
|
# Check we have a API key
|
||||||
if not args.api_key:
|
if not args.api_key:
|
||||||
logging.error(
|
logging.error(
|
||||||
"\n\nNo API key set. Run Autodoist with '-a <YOUR_API_KEY>'\n")
|
"\n\nNo API key set. Run Autodoist with '-a <YOUR_API_KEY>' or set the environment variable TODOIST_API_KEY.\n")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
# Check if alternative end of day is used
|
# Check if alternative end of day is used
|
||||||
|
@ -1448,8 +1448,8 @@ def main():
|
||||||
# Main process functions.
|
# Main process functions.
|
||||||
parser = argparse.ArgumentParser(
|
parser = argparse.ArgumentParser(
|
||||||
formatter_class=make_wide(argparse.HelpFormatter, w=120, h=60))
|
formatter_class=make_wide(argparse.HelpFormatter, w=120, h=60))
|
||||||
parser.add_argument('-a', '--api_key',
|
parser.add_argument(
|
||||||
help='takes your Todoist API Key.', type=str)
|
'-a', '--api_key', help='takes your Todoist API Key.', default=os.environ.get('TODOIST_API_KEY'), type=str)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'-l', '--label', help='enable next action labelling. Define which label to use.', type=str)
|
'-l', '--label', help='enable next action labelling. Define which label to use.', type=str)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
|
|
Loading…
Reference in New Issue