Merge pull request #374 from SamR1/update-docker-files

Docker - install fittrackee in a virtualenv
This commit is contained in:
Sam 2023-06-21 17:47:28 +02:00 committed by GitHub
commit 6eed1e61f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 13 additions and 17 deletions

View File

@ -8,13 +8,12 @@ WORKDIR /usr/src/app
COPY . /usr/src/app COPY . /usr/src/app
# install requirements # install requirements
ENV VIRTUAL_ENV=/opt/venv
RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
RUN pip install --upgrade pip RUN pip install --upgrade pip
RUN pip install poetry RUN pip install poetry
RUN poetry config virtualenvs.create false RUN . $VIRTUAL_ENV/bin/activate && poetry install --no-interaction --quiet
RUN poetry install --no-interaction --quiet
# create uploads folder
CMD mkdir /usr/src/app/uploads
# run fittrackee server # run fittrackee server
CMD flask run --with-threads -h 0.0.0.0 CMD flask run --with-threads -h 0.0.0.0

View File

@ -43,7 +43,7 @@ clean-install: clean
## Docker commands for evaluation purposes ## Docker commands for evaluation purposes
docker-bandit: docker-bandit:
docker-compose -f docker-compose-dev.yml exec fittrackee $(DOCKER_BANDIT) -r fittrackee -c pyproject.toml docker-compose -f docker-compose-dev.yml exec fittrackee bandit -r fittrackee -c pyproject.toml
docker-build: docker-build:
docker-compose -f docker-compose-dev.yml build fittrackee docker-compose -f docker-compose-dev.yml build fittrackee
@ -56,7 +56,7 @@ docker-build-client:
docker-check-all: docker-bandit docker-lint-all docker-type-check docker-test-client docker-test-python docker-check-all: docker-bandit docker-lint-all docker-type-check docker-test-client docker-test-python
docker-downgrade-db: docker-downgrade-db:
docker-compose -f docker-compose-dev.yml exec fittrackee $(DOCKER_FLASK) db downgrade --directory $(DOCKER_MIGRATIONS) docker-compose -f docker-compose-dev.yml exec fittrackee flask db downgrade --directory $(DOCKER_MIGRATIONS)
docker-init: docker-run docker-init-db docker-restart docker-run-workers docker-init: docker-run docker-init-db docker-restart docker-run-workers
@ -76,7 +76,7 @@ docker-logs:
docker-compose -f docker-compose-dev.yml logs --follow docker-compose -f docker-compose-dev.yml logs --follow
docker-migrate-db: docker-migrate-db:
docker-compose -f docker-compose-dev.yml exec fittrackee $(DOCKER_FLASK) db migrate --directory $(DOCKER_MIGRATIONS) docker-compose -f docker-compose-dev.yml exec fittrackee flask db migrate --directory $(DOCKER_MIGRATIONS)
docker-rebuild: docker-rebuild:
docker-compose -f docker-compose-dev.yml build --no-cache docker-compose -f docker-compose-dev.yml build --no-cache
@ -86,7 +86,7 @@ docker-restart:
docker-compose -f docker-compose-dev.yml exec -d fittrackee docker/run-workers.sh docker-compose -f docker-compose-dev.yml exec -d fittrackee docker/run-workers.sh
docker-revision: docker-revision:
docker-compose -f docker-compose-dev.yml exec fittrackee $(DOCKER_FLASK) db revision --directory $(DOCKER_MIGRATIONS) --message $(MIGRATION_MESSAGE) docker-compose -f docker-compose-dev.yml exec fittrackee flask db revision --directory $(DOCKER_MIGRATIONS) --message $(MIGRATION_MESSAGE)
docker-run-all: docker-run docker-run-workers docker-run-all: docker-run docker-run-workers
@ -123,13 +123,13 @@ docker-test-python: docker-run
docker-type-check: docker-type-check:
echo 'Running mypy in docker...' echo 'Running mypy in docker...'
docker-compose -f docker-compose-dev.yml exec fittrackee $(DOCKER_MYPY) fittrackee docker-compose -f docker-compose-dev.yml exec fittrackee mypy fittrackee
docker-up: docker-up:
docker-compose -f docker-compose-dev.yml up fittrackee docker-compose -f docker-compose-dev.yml up fittrackee
docker-upgrade-db: docker-upgrade-db:
docker-compose -f docker-compose-dev.yml exec fittrackee $(DOCKER_FTCLI) db upgrade docker-compose -f docker-compose-dev.yml exec fittrackee ftcli db upgrade
downgrade-db: downgrade-db:
$(FLASK) db downgrade --directory $(MIGRATIONS) $(FLASK) db downgrade --directory $(MIGRATIONS)

View File

@ -31,10 +31,6 @@ FTCLI = $(VENV)/bin/ftcli
# Docker env # Docker env
export DOCKER_APP_DIR = /usr/src/app export DOCKER_APP_DIR = /usr/src/app
export DOCKER_MIGRATIONS = $(DOCKER_APP_DIR)/fittrackee/migrations export DOCKER_MIGRATIONS = $(DOCKER_APP_DIR)/fittrackee/migrations
export DOCKER_FLASK = /usr/local/bin/flask
export DOCKER_FTCLI = /usr/local/bin/ftcli
export DOCKER_BANDIT = /usr/local/bin/bandit
export DOCKER_MYPY = /usr/local/bin/mypy
# Node env # Node env
NODE_MODULES = $(PWD)/fittrackee_client/node_modules NODE_MODULES = $(PWD)/fittrackee_client/node_modules

View File

@ -28,7 +28,6 @@ services:
- mail - mail
volumes: volumes:
- .:/usr/src/app - .:/usr/src/app
- ./data/workouts:/usr/src/app/workouts
- ./data/uploads:/usr/src/app/uploads - ./data/uploads:/usr/src/app/uploads
networks: networks:
- fittrackee-net - fittrackee-net

View File

@ -5,4 +5,6 @@ cd /usr/src/app
source .env source .env
mypy fittrackee mypy fittrackee
pytest --flake8 --isort --black -m "flake8 or isort or black" fittrackee e2e --ignore=fittrackee/migrations pytest --isort --black -m "isort or black" fittrackee e2e --ignore=fittrackee/migrations
echo 'Running flake8...'
flake8 fittrackee e2e