docker run --rm -p 3030:3000 gotenberg/gotenberg:8 ## Configuration This application is configured using a `config.json` file in the root of the project. You can use the `config.json.example` file as a starting point. ```json { "email": { "smtp": { "host": "smtp.example.com", "port": 587, "username": "user", "password": "password" }, "from": "from@example.com" }, "pdf": { "hostname": "http://localhost:3030" }, "gitea": { "url": "https://gitea.example.com", "token": "your-gitea-token" } } ``` ## API Endpoints ### POST /invoice Creates a new invoice. ```bash curl -X POST -H "Content-Type: application/json" -d '{ "debtor": { "name": "John Doe", "Address": { "street": "Musterstrasse", "number": "1", "zipCode": "1234", "place": "Musterstadt", "country": "CH" }, "contact": "john.doe@example.com" }, "creditor": { "name": "Jane Doe", "Address": { "street": "Beispielweg", "number": "2", "zipCode": "5678", "place": "Beispielhausen", "country": "CH" }, "contact": "jane.doe@example.com", "iban": "CH1234567890123456789" }, "durationThreshold": "1h", "hourlyRate": 100, "repositories": [ "lou-taylor/accounting" ] }' http://localhost:8080/invoice ``` ### POST /invoice/send Creates a new invoice and sends it by email. ```bash curl -X POST -H "Content-Type: application/json" -d '{ "to": ["john.doe@example.com"], "subject": "Invoice for project lou-taylor/accounting", "body": "Hi John,\n\nPlease find attached the invoice for the project lou-taylor/accounting.\n\nBest regards,\nJane Doe", "invoice": { "debtor": { "name": "John Doe", "Address": { "street": "Musterstrasse", "number": "1", "zipCode": "1234", "place": "Musterstadt", "country": "CH" }, "contact": "john.doe@example.com" }, "creditor": { "name": "Jane Doe", "Address": { "street": "Beispielweg", "number": "2", "zipCode": "5678", "place": "Beispielhausen", "country": "CH" }, "contact": "jane.doe@example.com", "iban": "CH1234567890123456789" }, "durationThreshold": "1h", "hourlyRate": 100, "repositories": [ "lou-taylor/accounting" ] } }' http://localhost:8080/invoice/send ``` ``` ```