Commit Graph

32 Commits

Author SHA1 Message Date
Oliver
d842942fa9
Fix comment in docker-compose.yml (#6656)
- Reference Caddy, not nginx
2024-03-07 14:40:09 +11:00
Oliver
f6123cc261
[WIP] docker / Caddy (#6551)
* remove docker-sqlite file

- Do not want to encourage use of sqlite

* Add Caddyfile

* Add default site URL to .env

- Matches Caddyfile

* Cleanup / simplify .env file

* Remove dev nginx conf file

* Further cleanup of .env file

* Update docker-compose.yml

- Use caddy image instead of nginx as proxy

* Set max body size

* gunicorn: enable external logging

* Update file structure

* Cleanup docker-compose file

* Update docker/docker-compose.yml

Co-authored-by: Matthias Mair <code@mjmair.com>

* Update docker/Caddyfile

Co-authored-by: Matthias Mair <code@mjmair.com>

* Fix for postgresql packages

- Need postgresql13-client to be installed, it contains pg_dump
- Without this, backup / restore *does not work*

* Create static_i18n dir if it does not exist

* Reduce output from collectstatic

* Revert gunicorn logging

- Want to see the logs in docker

* Fix trailing slash

Ref: https://github.com/inventree/InvenTree/pull/6551#issuecomment-1962423765

* tasks.py - pass 'nouv' option through

* Update package requirements:

- Allow installation of rapidfuzz without building

* Install uv as part of docker image

* Add environment variable to control downstream URL

* Do not use uv package manager by default

- Currently does not work "correctly" - ignores installed packages
- Requires further work to run reliably

* Fix docker-compose file

- Do not build locally

* Cleanup gunicorn file

- Remove unused lien

* Cleanup docker-compose.yml

- Simpler volume management

* Update Caddyfile

Add newline

* Update requirements.txt

Add newline

* Update tasks.py

Add missing blank line

* Simplify Caddyfile

* Adds option for customizing web port

* cleanup docker-compose.yml

- Better mapping of caddy data
- Cleaner volume setup

* Add django version template

- Ensure all docs links point to the current django version we are using

* docs: cleanup intro.md

* Cleanup serving_files.md

* Cleanup config.md

* docker install docs updates

* Enable code block copying

* Fix include file

* Fix link

* Update docker install docs

* Update docker.md

* Add info about demo dataset

* Tweak heading

* Update docs link checks

* Fix workflow

* Another fix

* More ignore pattearns

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2024-02-28 01:06:19 +11:00
Oliver
b9fd263899
Docker improvements (#3042)
* Simplified dockerfile

- Changed from alpine to python:slim
- Removed some database libs (because we *connect* to a db, not host it)

* - Add gettext as required package
- Only create inventree user as part of production build (leave admin access for dev build)

* Tweaks for tasks.py

* Fix user permissions (drop to inventree user)

* Drop to the 'inventree' user level as part of init.sh

- As we have mounted volumes at 'run time' we need to ensure that the inventree user has correct permissions!
- Ref: https://stackoverflow.com/questions/39397548/how-to-give-non-root-user-in-docker-container-access-to-a-volume-mounted-on-the

* Adjust user setup

- Only drop to non-root user as part of "production" build
- Mounted external volumes make it tricky when in the dev build
- Might want to revisit this later on

* More dockerfile changes

- reduce required system packages
-

* Add new docker github workflow

* Print some more debug

* GITHUB_BASE_REF

* Add gnupg to base requirements

* Improve debug output during testing

* Refactoring updates for label printing API

- Update weasyprint version to 55.0
- Generate labels as pdf files
- Provide filename to label printing plugin
- Additional unit testing
- Improve extraction of some hidden debug data during TESTING
- Fix a spelling mistake (notifaction -> notification)

* Working on github action

* More testing

* Add requirement for pdf2image

* Fix label printing plugin and update unit testing

* Add required packages for CI

* Move docker files to the top level directory

- This allows us to build the production image directly from soure
- Don't need to re-download the source code from github
- Note: The docker install guide will need to be updated!

* Fix for docker ci file

* Print GIT SHA

* Bake git information into the production image

* Add some exta docstrings to dockerfile

* Simplify version check script

* Extract git commit info

* Extract docker tag from check_version.py

* Newline

* More work on the docker workflow

* Dockerfile fixes

- Directory / path issues

* Dockerfile fixes

- Directory / path issues

* Ignore certain steps on a pull request

* Add poppler-utils to CI

* Consolidate version check into existing CI file

* Don't run docker workflow on pull request

* Pass docker image tag through to the build

Also check .j2k files

* Add supervisord.conf example file back in

* Remove --no-cache-dir option from pip install
2022-05-29 09:40:37 +10:00
Oliver Walters
6929d07f42 Cache the pre-built image
- The worker container can then use it
- Saves a *lot* of time (and otherwise wasted resources)
2022-04-20 23:52:56 +10:00
Oliver Walters
e87e478009 Fix env file reference for docker-compose.yml (development) 2022-04-20 23:34:50 +10:00
Oliver Walters
85feb30812 Refactor development docker-compose setup 2022-04-20 23:15:37 +10:00
Oliver Walters
f0a01587ac Rename default docker-compose file 2022-04-20 21:18:12 +10:00
Oliver
ab3acc4601 Target production docker-compose script to inventree:stable 2021-11-05 07:52:15 +11:00
Oliver
d756579a06 Split production environment variables out into a .env file 2021-08-18 13:02:36 +10:00
Oliver Walters
8e9bf2aadd Fix typo in docker-compose.yml 2021-06-16 23:31:36 +10:00
Oliver Walters
d85b906560 Fix comment in docker-compose.yml file 2021-06-16 22:57:31 +10:00
Oliver Walters
7dd63b36da Simplify dockerfile / docker-compose
- Single data volume now also includes 'static' files
- InvenTree source repo is now cloned into /home/inventree (to match the "dev" image)
2021-06-16 22:36:05 +10:00
Oliver Walters
0c572486ba Revert volume path 2021-04-22 12:49:11 +10:00
Oliver Walters
52deb20e85 docker-compose improvements
- Prepend "inventree" to the name of each container
- Explicitly expose more env variables required for InvenTree db lookup
- Adjust server name in nginx-conf file
2021-04-22 12:15:25 +10:00
Oliver Walters
aced0e73c7 compose file cleanup 2021-04-18 18:58:00 +10:00
Oliver Walters
61eba2f7fc Typo fix 2021-04-18 18:54:21 +10:00
Oliver Walters
0926992b4f Updated nginx conf 2021-04-18 18:53:30 +10:00
Oliver Walters
d8e1e18f4d change web -> inventree 2021-04-18 17:21:06 +10:00
Oliver Walters
eb108edb60 Adds entrypoint for starting a development server 2021-04-18 16:26:32 +10:00
Oliver Walters
270c0ea85d Cleanup docker files 2021-04-18 15:24:33 +10:00
Oliver Walters
c2f85b0447 docker-compose tweaks 2021-04-11 15:25:32 +10:00
Oliver Walters
f9449da576 Merge remote-tracking branch 'upstream/master' into django-q
# Conflicts:
#	InvenTree/InvenTree/version.py
2021-04-11 15:03:33 +10:00
Oliver Walters
5f9236d280 Updates to docker files 2021-04-11 14:46:40 +10:00
Oliver Walters
f6f3815f31 Include worker status in main API call 2021-04-11 13:58:59 +10:00
Oliver Walters
5a168abbfe Separated docker file into separate directory 2021-04-10 22:42:08 +10:00
Oliver Walters
8f626d305e Fix location of entrypoint scripts 2021-04-10 22:35:10 +10:00
Oliver Walters
5d9e273559 Adds nxinx service 2021-04-10 22:25:07 +10:00
Oliver Walters
2f1db486a0 Do not use python virtual environment inside container 2021-04-10 21:40:27 +10:00
Oliver Walters
823f84e46a Simplified volume management in docker-compose 2021-04-10 20:58:51 +10:00
Oliver Walters
9086c8a3bf Simplify external directory structure
- All InvenTree data now in a single subdir
- Copy default config file (if it does not exist)
- Config file is accessible from outside world
- Update start_server and start_worker scripts
2021-04-10 17:36:19 +10:00
Oliver Walters
1372343bd5 Updates to docker-compose file
- Note: not ready yet!
2021-04-10 15:27:50 +10:00
Oliver Walters
14aead038e Adds docker_compose file 2021-04-07 23:46:30 +10:00