Commit Graph

31 Commits

Author SHA1 Message Date
github-actions[bot]
af3cf62b8e
fix: SELinux labels for Caddyfile (#7261) (#7262)
(cherry picked from commit b26640fb36)

Co-authored-by: Philipp Fruck <dev@p-fruck.de>
2024-05-20 09:14:57 +10:00
github-actions[bot]
be3b22ce36
Docker fix (#7228) (#7229)
* Copy requirements file

* Test more files when building docker image

* Refactor install task

* Raise exception

* Run install task

* Fix typos

- The tests work!

(cherry picked from commit 2265055785)

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2024-05-15 09:24:22 +10:00
Oliver
6a9d833251
Nginx example (#7207)
* Add sample nginx config file

- Taken from 0.13.x branch

* Add alternative setup for nginx

* Add brief note in the docs
2024-05-13 14:15:45 +10:00
Matthias Mair
7e9d2f79ab
[PUI] More style fixes (#7142)
* fix interface names

* use Readonly for props

* fix typescript:S3863

* require hashes in package installer too
2024-04-30 19:24:52 +10:00
Matthias Mair
83191d3fbf
Improve reproduciblity of image (#7120)
* hard-pin doc requirements

* update docs and commands

* hard pin container requirements

* check hashes in image build

* remove seperate uv install (is in base_requirements)

* containers already ships 3.11 - adjust packaging

* move build deps to general ci requirements

* install yarn using native tools

Closes https://github.com/inventree/InvenTree/security/code-scanning/95
Closes https://github.com/inventree/InvenTree/security/code-scanning/96

* merge install steps

* adapt install command args to be similar

* adapt docs to suggest safer install arg

* fix install path

* update dependabot settings
2024-04-29 11:04:45 +10:00
Matthias Mair
938c724395
Pin hashes in requirements (#7081)
* use global pin for requests

* unify on yaml for workflo files

* format workflow files

* pin action versions

* fix pinned version

* use system venv

* switch args

* remove uv for now and add setting for pyyaml

* use requirements file

* also switch on docker flow

* generate hashes

* added hashes to reqs

* add hashes for CI too

* add hash checking

* require hashes everywhere possible

* require hashes where possible in docker
2024-04-23 17:15:52 +10:00
dependabot[bot]
df5fcf7d62
Bump gunicorn from 21.2.0 to 22.0.0 in /src/backend (#7054)
* Bump gunicorn from 21.2.0 to 22.0.0 in /src/backend

Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 21.2.0 to 22.0.0.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/21.2.0...22.0.0)

---
updated-dependencies:
- dependency-name: gunicorn
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* req fix

* bump versions everywhere

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2024-04-17 16:39:18 +10:00
Oliver
cdeaa81295
Fix CMD for production docker image (#6960) 2024-04-05 11:30:45 +11:00
Oliver
6730cdbccf
[Docker] Fix broken production image (#6953)
* Check for presense of manage.py

* Fix directory copying
2024-04-04 23:55:55 +11:00
Matthias Mair
85e672831b
Some small style fixes (#6916)
* fix dockerfile syntax

* remove unused import

* Merge unnecessary if statements

* fix PUI package name

* remove unused vars

* Remove unneeded pass

* merge if to reduce likelyhood of future errors

* add ignroe script to secure against shell scripts

* fix possible collisions

* export strings

* fix types
2024-04-03 19:26:03 +11:00
Matthias Mair
0bace3f3af
Code structure refactor (#5582)
* moved docker files to /contrib/container

* changed code owners to make more precise

* updated CI to use new subdirs

* added manual trigger for testing

* moved ci files

* moved assets into subdir

* moved deploy template file to contrib

* moved django files to src/backend

* updated paths in scripts etc

* updated reqs path

* fixed version file path

* fixed flake8 path

* fixed path to node ressources

* fixed task paths

* added dep path for node

* removed unused yarn lockfile

* removed unused ci script

* updated internal backend paths for tasks

* updated translation stats path

* fixed source path for coverage

* fixed main commit repo path

* fit in changes from testing

* gather packager improvements (#149)

* Matmair/issue5578 (#143)

* moved docker files to /contrib/container

* changed code owners to make more precise

* updated CI to use new subdirs

* added manual trigger for testing

* moved ci files

* moved assets into subdir

* moved deploy template file to contrib

* moved django files to src/backend

* updated paths in scripts etc

* updated reqs path

* fixed version file path

* fixed flake8 path

* fixed path to node ressources

* fixed task paths

* added dep path for node

* removed unused yarn lockfile

* removed unused ci script

* updated internal backend paths for tasks

* updated translation stats path

* fixed source path for coverage

* fixed main commit repo path

* fix docker path

* use project dir

* move project dir command

* fixed docker paths

* another fix?

* seperate tasks out

* remove tasks

* some debugging

* ci: add .deepsource.toml

* Update .deepsource.toml

* also ignore migrations

* more debugging

* fix path issues

* remove debug script

* fix style

* change locale path

* Fixed paths for requirements

* Added dummy requirements to fool packager

* fixed exec path

* remove deepsource

---------

Co-authored-by: deepsource-io[bot] <42547082+deepsource-io[bot]@users.noreply.github.com>

* Added docs for file structure

* Fixed style errors

* updated deepsource paths

* fix deepsource paths

* fixed reqs

* merge fixes

* move newly added dirs too

* fix reqs files

* another dep fix

* merge upstream/master

* revert removal of tags

* merge upstream

* enabled detection of old config files

* adapt coverage src

* also detect and support old location for plugins.txt

* style fix

* fix ~/init.sh location

* fix requirements path

* fix config to current master

* move new folders

* fix import order

* fix paths for qc_check

* fix docs build

* fix fix path

* set docker project dir

* just use a cd

* set image path?

* set file correct

* fix copy path

* fix tasks dir

* fix init path

* fix copy path

* set prject dir

* fix paths

* remove old prod files

* fix dev env path

* set docker file

* Fix devcontainer docker compose file

* fix login attempt values

* fix init.sh path

* Fix pathing for Docker

* Docker build fix

- Set INVENTREE_BACKEND_DIR separately

* Update init.sh

* Fix path

* Update requirements.txt

* merge

* fix rq merge

* fix docker compose usage

---------

Co-authored-by: deepsource-io[bot] <42547082+deepsource-io[bot]@users.noreply.github.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2024-04-03 12:16:59 +11:00
Matthias Mair
4db61df8cd
Security improvements (#6890)
* Set write permissions at job level

* publish scorecard results

* Update scorecard.yml

* Update scorecard.yml

* Create .sonarcloud.properties

* Delete .deepsource.toml

* replace badge

* pin requests, pyyaml, jc

* pin yarn version

* pin uv

* reduce settings

* set test path
2024-04-02 17:35:01 +11:00
Oliver
eb3d51f8a7
Adjust pkgr.yml (#6608)
* Adjust pkgr.yml

- Ref: https://github.com/inventree/InvenTree/issues/6154#issuecomment-1970536725
- Ref: https://doc.packager.io/documentation/customizing-the-build/#dependencies

* add in nginx config again

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2024-03-01 12:49:06 +11:00
Oliver
148bf0764b
Remove --no-frontend option from installer (#6111)
- This swtich is no longer present in `invoke update`
- Frontend installation is off by default
- Fixes https://github.com/inventree/InvenTree/discussions/6109
2023-12-18 10:44:15 +11:00
Oliver
5b5df279c0
Installer CLI fix (#6049)
* Update heroku procfile

- Fix command to run on ubuntu 20.04
- Add "invoke" command (duplicate of "cli")

* Update docs for installer

* Fix typo

* Update root_commands.sh
2023-12-08 13:10:44 +11:00
Matthias Mair
19810d0965
Use gpg for install script instead of apt-key (#5856)
* possible fix to #5838

* fixed syntax
2023-11-04 13:11:57 +11:00
Matthias Mair
2f224b3c19
Packages - force python 3.9 (#5206)
* specify python 3.9

* now support 12 too

* rmove 12

* change deps

* add dedicated wheel install

* add dev headers (for rappidfuzz)
2023-08-06 21:50:38 +10:00
Matthias Mair
2259de7f31
P UI: Added frontend publishing for bare-metal (git) (#5277)
* Add SPA views for react #2789

* split up frontend urls

* Add settings for frontend url loading

* add new UI scaffold

* remove tracking insert

* add platform app

* ensure static indexes work too

* add lingui

* add lingui config

* add mgmt tasks

* add base locales

* settings for frontend dev

* fix typo

* update deps

* add pre-commit

* add eslint

* add testing scaffold

* fix paths

* remove error - tests trip correctly

* merge workflow

* cleanup samples

* use name inline with other tests

* Add real worl frontend tests

* setup env

* tun migrations first

* optimize setup time

* setup demo dataset

* optimize run setup

* add test for class ui

* rename

* fix typo

* and another typo

* do install

* run migrations first

* fix name

* cleanup

* use other credentials

* use other credentials

* fix qc

* move envs to qc

* remove create_site

* reduce testing env

* fix test

* fix test call

* allaccess user

* add ui plattform check

* add better check

* remove unneeded env

* enable debug

* reduce wait time

* also build frontend on static

* add sort plugin

* fix order

* run pre-commit fixes

* add node min version

* Docker container (#129)

* Fix allocation check for completing build order (#5199)

- Allocation check only applies to untracked line items

* docker dev

Install required node packages to docker development image

* add import order settings

* cleanout built ui

* remove default arg from build

* remove eslint

* optimize svg

* add build step for plattform UI

* fix install command

* use alpine commands

* do not use cache when creating image

* Added release pipeline

* trigger: ci

* Fix ci

* Fix ci

* Fix ci

* fix: workflow

* fix: workflow

* fix: doubble zipping

* fix: doubble zipping

* fix: doubble zipping

* fix: doubble zipping

* fix: doubble zipping

* Added frontend-download helper to tasks.py

* revert unrelated change

* Add frontend step to update task

* add frontend stuff to version info

* small change to trigger ci

* keep terminal output clean

* return found versions

* fix suggested command

* revert small change

* move to multiline

* add flag to stop frontend compile

* make node building optional on static

* add node trans to transalte task

* ammend commands to use new flag

* remove unneeded flag

* add warning

* add yarn bypass

* docstrings

* check for docker env

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
Co-authored-by: wolflu05 <76838159+wolflu05@users.noreply.github.com>
2023-07-20 10:12:08 +10:00
Matthias Mair
ae046c778e
support debian 12 (#5205) 2023-07-09 08:40:53 +10:00
Matthias Mair
15ab911da6
Add more version information (#5014)
* Add info for installer, branch, publisher

* include version info

* fix permissions

* fix typo

* add more info

* use GH url

* fix node

* remove publisher

* remove more logging

* Add info to version view

* enable branch discovery when not set

* fix ref to github version

* add branch to about dialog

* use precise plattform information - if no env is set

* fix ref names

* load VERSION info

* rename plattform to target

* extend installer var

* add generic plattform info

* add docs for version info

* add more info

* add installer codes

* Ammend navigation
2023-06-12 00:32:03 +10:00
Matthias Mair
21ed4b2081
Fix common spelling mistakes (#4956)
* add codespell

* first fixes

* doc fixes

* fix docstrings and comments

* functional changes

* docstrings again

* and docs again

* rename args

* add ignore

* use pre-commit for filtering instead

* ups

* fix typo in filter
2023-06-04 00:04:52 +10:00
Matthias Mair
478fec4a4b
Bashscript update (#4552)
* fix wget command in Readme
Fixes https://github.com/inventree/InvenTree/issues/4548
reported by @liuqun

* change doc links int markdown

* update bash script

* Add typing

* regenerate script

* fix link to contribute

* update more links

* update bash script

* revert changes
2023-04-02 20:21:51 +10:00
Matthias Mair
c28c991591
Fix wget command and links in Readme (#4551)
* fix wget command in Readme
Fixes https://github.com/inventree/InvenTree/issues/4548
reported by @liuqun

* change doc links int markdown

* update bash script

* Add typing

* regenerate script

* fix link to contribute

* update more links

* remove additional whitespace
2023-04-02 07:34:53 +10:00
Matthias Mair
1862904a2f
[BUG] Quick Installer: INVENTREE_DB_PORT errors (#4224)
Fixes #4222
2023-01-25 09:31:55 +11:00
Matthias Mair
c78e712a16
Fix debian 11 detection on installer (#4241)
* Fix debian 11  detection
Fixes #4236

* compile installer script

* fix typo
2023-01-25 09:30:14 +11:00
Matthias Mair
2dae60292e
Fix typos/naming (#4242)
* fix usage of InvenTree name

* small typo fix

* rename notification plugin
all builtins should be named inventree...
2023-01-25 09:29:50 +11:00
Matthias Mair
b43729dca3
add option to install on ubuntu 22.04 (#3970)
seperate os and ver from pulled package
2022-11-21 22:03:32 +11:00
Matthias Mair
a2abdc297b
Installer fixes (#3962)
* Switch variable to make it easier to debug
Fixes #3933

* rename output file

* add setting to directly generate refs

* use prod mode

* fix check

* add debug flags

* remove debug marker

* pre-safe keys

* update installer ref

* split installer steps

* split steps further

* try static adding

* remove split key add

* try dry rn again

* do not dry run keys

* fix debian 11 detection

* add ci to let install run through

* remove flags

* remove dryrun

* run on master

* query api on test

* fix missing env

* use matmair for tests

* use specific version

* remove old python first

* check python version

* add more version checks

* multiline marker for action

* add option to select python env

* set python version before running installer

* cleanup script

* use inline apt for python install

* package 3.9 by default

* remove custom python install

* add some sleeps

* fix package names

* reduce double depb definition

* set python version

* remove 3.9 requirement

* do invoke and wheel install in the right context

* fix typing for 3.8

* use var for config file if it exsists

* fix discovery

* use raw output for jq

* remove tests

* revert change in tasks.py
2022-11-20 19:29:12 +11:00
Matthias Mair
adcb975853
Installer v2 (#3798)
* add initial advanced installer

* add symlink

* add dist detection

* make output uniform

* switch command to use wget
leave the installer on device

* regen script

* only install if not already there

* add os/version check
Closes #3835

* regenerate script

* fix case syntax

* fix typo

* rename assets to replace installer

* Add issue template for install problems

* Add link to open issue

* Update linked file
2022-11-08 10:12:43 +11:00
Matthias Mair
182bc29053
Add db an media backups (#3783)
* [FR] Add backup into inventrees lifecycle
Fixes #3778

* Add env to testing enviros

* block backup from running app commands

* Add more commands

* fix postgres version

* Update used env

* add daily task to run backups

* add installer changes
2022-10-17 00:09:31 +11:00
Matthias Mair
2800d843e0
Add package-based install method (#3743)
* Add runtime

* add procfile

* add settings for packaging

* use heroku buildpack

* maybe a hash works?

* try brnach instead of tag or hash

* remove reference alltogether

* maybe this syntax?

* switch back to normal buildpack

* and heroku again

* try official sample

* maybe a tar?

* just git clone?

* lower version

* lower version

* switch of settings

* try this again

* maybe install python before?

* no sudo?

* just build for ubuntu?

* set runtime lower and use custom buildpack

* remove initial command

* add release command

* do not collect static while releaseing

* switch to custom backend

* Update .pkgr.yml

* new backend

* upgrade runtime version

* consolidate env

* update python version

* add debian as target

* fix os name

* extend requirements

* remove release command

* remove ssl dep

* add worker command

* add scripts

* debug listing

* make scripts executable

* use python3

* add python install

* add python as dep

* debug step

* switch to app home

* set paths right

* check local command

* remove path

* update path

* add sample install script

* more debugging

* dbg msg

* more enviroment stuff

* more dbugging

* more defined install script

* reduce function

* add debug script

* and more

* remove before

* reduce lines

* cleanup deps

* maybe this way?

* rm "

* rename env

* fix files

* use dot annotation

* ls

* add msgs

* move activation

* ref?

* use source

* use point annotation

* remove activate

* create env and add it to the enviroment

* use full paths

* move python init

* use modern python

* use version numbers for ubuntu

* add default env vars ( for now)

* use export

* use shorthand command

* add more variables

* use apphome reference in paths

* add wasyprint dependencies

* also use wheels

* add gettext for comiling messages

* add nginx setting

* remove postgres from required stack

* refactor fiel configs

* make sure parent dirs exsist

* add wheels

* move python setup again

* update packe name

* update gunicron command

* move to config

* try cleaner procfile

* use python 3 wheels

* update service def

* Add enviroment settings to packaging

* restart nginx

* remove slack

* change nginx config name

* fix styles

* set permissions on update

* Add single line install to README

* move nginx names back

* use production sample as nginx config

* fix sed statement

* cleaner nginx setup

* keep configs in config file instead of packaging index

* fix sed connamds to remove spaces

* reintroduce spaces

* Also disable debug mode

* fix file permissions

* remove unneeded commands

* readd missing spaces

* add admin user generation

* Show public ipadress in final message

* small cleanups

* Add log to setup

* remove logging

* remove logging parts

* chown all dirs

* run update command as right user already

* set path before running command

* fix permission setup

* switch right assignment

* run commands with sudo

* pass in envs

* preserve only selected enviroment

* show enviroment variables

* silence curl

* fix envs

* clean up final message

* move nginx file to variable

* make admin creation conditional

* a bit more overview for setup variables

* test if nginx is available

* unlink instead of delet

* clean up functions

* well that was dumb

* ok double dumb - now i tested it

* use config for admin generation

* fix logic

* show value - not call it

* switch functions to sh

* fix syntax

* add admin data to exposed envs

* remove keeping of admin pwd

* switch to true/false

* make nginx file location configureable

* use gunicorn instead

* fix syntax

* set base dir

* move env to seperate function

* Also use/write database settings

* use conf values if available

* format sh

* update passed envs

* fix dep

* enable installing extra packages via env (ie database backends)

* ann more logging steps

* add more debuggin steps

* get local envs

* add more debug and reorder

* more code for testing

* fix call

* Add debug msg

* turn install quiet

* fix syntax

* reduce debugging

* add log step

* add datestamp

* add marker to inv execution

* fix syntax

* add codeowner
2022-10-16 10:14:18 +11:00