Oliver
d9efe27f8a
Adds redis support to production docker-compose ( #3171 )
...
* Adds a redis container to the production docker-compose script
* Fix ports
2022-06-10 20:16:19 +10:00
Matthias Mair
f38386b13c
Add more checks to pre-commit ( #3132 )
...
* Add bandit to pre-commit checks
* fix catchall exceptions
* remove unused definitons
* remove unuseed ariables
* Add docstring
* fix B006, B008 errors
* fix B007 error
* ignore B009
* Add checks for formatting and naming
2022-06-06 08:56:52 +10: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
Matthias Mair
e1d22f538d
resort imports
2022-05-20 17:24:51 +02:00
Matthias Mair
93b6934127
fix trailing
2022-05-20 13:20:55 +02:00
Oliver Walters
7e6d3d81b9
Update dockerfile to 3.14
2022-05-16 21:47:09 +10:00
Oliver Walters
495798dc98
Install libwebp-dev as part of dockerfile
2022-05-15 23:20:12 +10:00
Oliver Walters
bb5d6815df
Mark inventree home directory as safe for git.
...
Ref: https://github.blog/2022-04-12-git-security-vulnerability-announced/
2022-05-10 23:24:32 +10:00
Oliver
86f562f3b8
Add gdk-pixbuf
...
- Required for weasyprint (reports) to render jpg files
2022-04-27 13:46:50 +10:00
Oliver Walters
0cd5a2b005
Revert location of init.sh for Dockerfile
2022-04-21 20:17:12 +10:00
Oliver
6d56dbd266
Adds project names for docker-compose files
2022-04-21 12:04:05 +10:00
Oliver Walters
67196b866e
Compose script fixes
...
- Define INVENTREE_DB_NAME
- Cache built image
2022-04-21 01:13:34 +10:00
Oliver Walters
a376625088
Force INVENTREE_DB_USER and INVENTREE_DB_PASSWORD to be set manually
...
- Only for the "production" docker setup
2022-04-21 01:04:46 +10:00
Oliver Walters
ced9c6c050
Sqlite docker-compose file no longer requires .env file
...
As this is only used for CI this is OK
2022-04-21 01:02:55 +10:00
Oliver Walters
0974fde59e
Add sqlite-config file back in
...
- required for CI steps
- might refactor this out later on
2022-04-21 00:34:24 +10:00
Oliver Walters
e15a4b73cd
Restore docker-compose.sqlite.yml
...
This is used for docker build testing in CI!
2022-04-21 00:03:48 +10:00
Oliver Walters
0c93009bf7
Tweaks to dockerfile
2022-04-21 00:01:11 +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
0b3aac21ea
The production docker-compose file now no longer needs to be touched at all
...
Everything can be specified in the .env file!
2022-04-20 22:46:25 +10:00
Oliver Walters
c3fff02bd8
Automatically create a database (with the correct name) when the db container is started!
2022-04-20 22:11:07 +10:00
Oliver Walters
a50f26e84d
Adjust naming of nginx production file
2022-04-20 21:52:25 +10:00
Oliver Walters
e4e735a71b
Refactoring docker-compose.postgresql.yml
...
- Do not require duplication of username / password values
- Specify different env file
- Move to a new child directory which simplifies setup
2022-04-20 21:44:22 +10:00
Oliver Walters
f0a01587ac
Rename default docker-compose file
2022-04-20 21:18:12 +10:00
Oliver Walters
85c8b94d80
Update nginx conf files
2022-04-19 22:09:30 +10:00
husas
f76cc89d5a
Updated setuptools version
2022-03-28 17:27:22 +05:30
Oliver Walters
fcfdec0ad6
Fix requirements.txt formatting
2022-03-25 21:47:38 +11:00
Oliver Walters
03eb5441c7
Pin setuptools version
...
- Recent update seems to have borked it
2022-03-25 21:43:10 +11:00
Oliver Walters
f9ffbe322a
Adds note
2022-01-19 12:32:30 +11:00
Oliver Walters
fcb958c5c0
Adds an option to enable nginx proxy for "dev mode" in docker
...
- Commented out by default
- No functional change unless code is un-commented in the docker-compose script
2022-01-19 12:31:35 +11:00
Oliver
934de1f772
Adds the ability for 'scheduled tasks' to be member functions of plugins
2022-01-13 10:24:47 +11:00
Oliver
31df4eae83
Set default environment variables for docker setups
2022-01-11 12:35:32 +11:00
Oliver
836b6275b6
Removes custom plugins directory
...
- rely on plugins.txt instead
2022-01-06 13:31:04 +11:00
Oliver
75d5f9d6e6
Allow specification of an external plugin directory
...
- Specify directory using INVENTREE_PLUGIN_DIR
- Specify installation file using INVENTREE_PLUGIN_FILE
2022-01-06 12:39:01 +11:00
Oliver
690ba811ef
require gnupg in docker image
2021-12-30 22:58:52 +11:00
Oliver
15c95e9dd0
re-add gunicorn to core docker requirements
...
(oops, broke the demo server)
2021-12-22 11:23:57 +11:00
Oliver
ecb9643cc1
Use sqlite config for docker build test
2021-12-21 16:14:04 +11:00
Oliver
11d3cd3c0c
Change dev environment setup to use postgresql
...
- sqlite causes too many errors
- fix requirements file
- fixes for docker setup
- A lot of concurrency issues
- Bite the bullet, time to go!
2021-12-21 00:34:23 +11:00
Oliver
5307f0f51b
Collect translation stats as part of docker container initialization
2021-11-26 20:43:01 +11:00
Oliver
b17d6f932a
Merge pull request #2165 from nwns/feature/redisascache
...
Add support for using Redis as a cache and a broker
2021-11-11 17:08:41 +11:00
Oliver
ab3acc4601
Target production docker-compose script to inventree:stable
2021-11-05 07:52:15 +11:00
Nigel
e8c2d4da10
Add support for using redis as a cache and a broker
2021-11-02 16:37:28 -06:00
Oliver Walters
1832a6f1fa
Run APK upgrade
...
Ref:
2021-10-13 00:53:41 +11:00
Oliver Walters
c3e0c9378f
Upgrade pip as part of dockerfile
2021-10-13 00:52:48 +11:00
Oliver Walters
ac242c01c1
Updates for building cryptography lib
2021-10-13 00:46:46 +11:00
Matthias
c872412d04
rust for SSO needed
2021-10-07 00:26:37 +02:00
Oliver
47524f6ea3
Fix for docker development env file
2021-08-23 08:39:09 +10:00
Antonin Kral
7f126e58d2
Fix for production docker environment
...
Values are passed as written resulting in `"WARNING"` being passed to python logger, which will complain and panic. Fix is simply to remove `"` from the value.
2021-08-22 20:59:51 +02:00
Oliver
9ed2025021
Add a TODO for future reference
2021-08-19 11:14:13 +10:00
Oliver
52bdfe5465
Env interpolation doesn't seem to work in the CMD
2021-08-18 20:52:14 +10:00
Oliver
eeac561b9b
typo fix
2021-08-18 17:07:23 +10:00
Oliver
2095d66677
Fix entrypoint / cmd for production server
2021-08-18 16:29:54 +10:00
Oliver
79d7a9f922
fix typo in dockerfile
2021-08-18 15:16:22 +10:00
Oliver
db477bceab
typo fix
2021-08-18 14:47:34 +10:00
Oliver
d756579a06
Split production environment variables out into a .env file
2021-08-18 13:02:36 +10:00
Oliver
c1ea6dbb9b
Remove commented out functionality from the entrypoint command
2021-08-18 12:28:09 +10:00
Oliver
c2af401854
Pin base python package requirements
...
- Require invoke to be installed before we can run "invoke update"
2021-08-18 12:03:24 +10:00
Oliver
8fea9bc645
Re-add docker file git version info
2021-08-18 11:25:19 +10:00
Oliver
7bfddd6d51
Simplify init scripts
...
Single script init.sh which performs the following tasks:
- Creates required directory structure
- Activates python venv (if required)
- Waits for database connection
- Runs command
2021-08-18 09:52:27 +10:00
Oliver
3b8ee48581
Fix env defines in dockerfile
2021-08-18 09:34:09 +10:00
Oliver
b48db6f8fe
Dockerfile fixes
2021-08-17 23:15:05 +10:00
Oliver
187c9b0971
Add server init script
...
- Taken (mostly) from https://github.com/inventree/InvenTree/pull/1949
2021-08-17 23:10:57 +10:00
Oliver
8b66babd49
Refactor dockerfile
...
- Ref: https://github.com/inventree/InvenTree/pull/1949
- Squash all apk commands into single line
- Drop to inventree user rather than running as root
- Separate entrypoint and cmd for each target
- Set the INVENTREE_PY_ENV variable in development mode
2021-08-17 22:58:44 +10:00
Oliver
895f9f3ce0
Pull debug level out into the .env file
2021-08-17 20:45:57 +10:00
Oliver
a474000361
Fix critical error in dockerfile
...
- Don't' be putting no spaces in!
2021-08-17 20:29:48 +10:00
Oliver
7bf3229595
Add comment to docker-compose file
2021-08-17 20:00:54 +10:00
Oliver
07857c3088
Simplify dev-config.env file
...
- Don't need to re-specify the internal docker variables
- Add comments
2021-08-17 19:59:32 +10:00
Oliver
206743b58d
Add a default value for INVENTREE_WEB_ADDR
2021-08-17 19:58:55 +10:00
Oliver
7df4451c08
Move some core pypi deps into requirements file
2021-08-12 22:06:47 +10:00
Oliver
31bb7734ce
Update dockerfile to allow downloading against a specific git tag
2021-08-12 22:01:14 +10:00
Mark De Deuge
fc06bc7574
Update nginx.conf to use http_host rather than host fixes #1930
...
Using proxy_set_header Host $host; does not pass through the port. This causes the /api-doc/ route to miss the port when attempting to render routes.
This fixes : #1930
2021-08-10 10:27:40 +10:00
Oliver Walters
d9f4c34a42
logging.get -> logging.getLogger
2021-07-29 23:44:52 +10:00
Oliver
dd12a593f4
Specify how many workers to use
2021-07-29 16:37:34 +10:00
Oliver
bc3c3be751
force linux-style line endings for .sh files
2021-07-29 09:10:46 +10:00
Oliver
399e44fce7
Copy static files when starting dev server
2021-07-28 22:30:41 +10:00
Oliver
fa1644ed2c
python -> python3
2021-07-02 13:07:42 +10:00
Oliver
9cdc5a1fa1
Explicitly install python3-pip
2021-07-02 12:59:54 +10:00
Oliver
56c3697e34
docker: Use a specific version of alpine
2021-07-02 12:57:37 +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
acd7322ff0
Files under /media require session to be authenticated
...
References:
- https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/apache-auth/
- https://stackoverflow.com/questions/46421589/nginx-location-and-django-auth
- https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-subrequest-authentication/
- https://pawamoy.github.io/posts/django-auth-server-for-shiny/
2021-06-16 21:30:25 +10:00
Oliver Walters
058fc57ff1
Serve media files via nginx
2021-06-16 20:57:24 +10:00
Oliver Walters
632ea593fe
Fix default port association
2021-06-15 23:40:50 +10:00
Oliver Walters
8bfdb0bec6
Comment fix
2021-06-15 23:19:50 +10:00
Oliver Walters
01328075ea
All "development" related stuff now goes under ./dev
...
- Update dev-config.env
- Update docker-compose.dev.yml
- Development target of Dockerfile no longer creates any folders
- Update entry point scripts
2021-06-15 23:05:03 +10:00
Oliver Walters
ff80c722fb
Docker: Add parent directories if they do not exist
2021-05-25 09:32:21 +10:00
Matthias
b2a912c770
docker-mode switch in settings and tags
2021-05-16 18:19:35 +02:00
Oliver Walters
719b1775f2
Add entrypoint for running development worker
2021-05-12 22:12:26 +10:00
Oliver Walters
530f28ba95
Fix for running webserver
2021-05-12 21:35:54 +10:00
Oliver Walters
00c5a88383
Split environment variables out into a .env file
...
- No need to collect "static" file when we are running in DEBUG mode
2021-05-12 21:15:53 +10:00
Oliver Walters
3381c5e257
Improvements to development docker-compose script
...
- Python packages are installed in a virtual environment within the src dir
- This prevents a LONG installation process each time the docker image is rebuilt
2021-05-12 20:53:50 +10:00
Oliver Walters
914db9e913
Development docker image
...
- Uses multistage build
- Adds a docker compose file for dev
2021-05-12 19:28:04 +10:00
Matthias
d8769748f5
config
2021-05-06 14:46:32 +02:00
Oliver Walters
b08cd8da20
Remove dbbackup integration
...
- Data dumping and restoring is now very complex!
- We should use the invoke export-records function now, rather than relying on dbbackup / dbrestore
- Documentation will be updated to match
2021-04-25 12:14:36 +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
Matthias
5a7f83798e
docker-start - collect static js #1485
2021-04-20 18:46:35 +02:00
Matthias
fdf3e3a333
added expiry headers to nginx-docker #1485
2021-04-20 18:45:59 +02:00