mirror of
https://github.com/PiBrewing/craftbeerpi4.git
synced 2024-11-21 14:38:15 +01:00
Configure devcontainer for python
This commit is contained in:
parent
c781f9cd2f
commit
9366c18a38
8 changed files with 132 additions and 3 deletions
14
.devcontainer/Dockerfile
Normal file
14
.devcontainer/Dockerfile
Normal file
|
@ -0,0 +1,14 @@
|
|||
ARG VARIANT=3-bullseye
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT}
|
||||
|
||||
RUN python3 -m pip install --no-cache-dir --upgrade pip setuptools wheel
|
||||
|
||||
# Install craftbeerpi requirements for better caching
|
||||
COPY ./requirements.txt /workspace/requirements.txt
|
||||
RUN pip3 install --no-cache-dir -r /workspace/requirements.txt
|
||||
|
||||
# Install current version of cbpi-ui
|
||||
RUN mkdir /opt/downloads \
|
||||
&& curl https://github.com/avollkopf/craftbeerpi4-ui/archive/main.zip -L -o /opt/downloads/cbpi-ui.zip \
|
||||
&& pip3 install --no-cache-dir /opt/downloads/cbpi-ui.zip \
|
||||
&& rm -rf /opt/downloads
|
48
.devcontainer/devcontainer.json
Normal file
48
.devcontainer/devcontainer.json
Normal file
|
@ -0,0 +1,48 @@
|
|||
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
|
||||
// https://github.com/microsoft/vscode-dev-containers/tree/v0.177.0/containers/docker-existing-docker-compose
|
||||
// If you want to run as a non-root user in the container, see .devcontainer/docker-compose.yml.
|
||||
{
|
||||
"name": "CraftBeerPi4 Development Container",
|
||||
|
||||
// Update the 'dockerComposeFile' list if you have more compose files or use different names.
|
||||
// The .devcontainer/docker-compose.yml file contains any overrides you need/want to make.
|
||||
"dockerComposeFile": [
|
||||
"docker-compose.dev.yml"
|
||||
],
|
||||
|
||||
// The 'service' property is the name of the service for the container that VS Code should
|
||||
// use. Update this value and .devcontainer/docker-compose.yml to the real service name.
|
||||
"service": "craftbeerpi4-development",
|
||||
|
||||
// The optional 'workspaceFolder' property is the path VS Code should open by default when
|
||||
// connected. This is typically a file mount in .devcontainer/docker-compose.yml
|
||||
"workspaceFolder": "/workspace",
|
||||
|
||||
// Set *default* container specific settings.json values on container create.
|
||||
"settings": {
|
||||
//"terminal.integrated.shell.linux": null
|
||||
},
|
||||
|
||||
// Add the IDs of extensions you want installed when the container is created.
|
||||
"extensions": [
|
||||
"ms-python.python",
|
||||
"ms-azuretools.vscode-docker",
|
||||
"editorconfig.editorconfig",
|
||||
"eamodio.gitlens"
|
||||
],
|
||||
|
||||
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||
"forwardPorts": [80],
|
||||
|
||||
// Uncomment the next line if you want start specific services in your Docker Compose config.
|
||||
// "runServices": [],
|
||||
|
||||
// Uncomment the next line if you want to keep your containers running after VS Code shuts down.
|
||||
"shutdownAction": "stopCompose",
|
||||
|
||||
// Uncomment the next line to run commands after the container is created - for example installing curl.
|
||||
//"postCreateCommand": "pip3 install -r ./requirements.txt",
|
||||
|
||||
// Uncomment to connect as a non-root user if you've added one. See https://aka.ms/vscode-remote/containers/non-root.
|
||||
"remoteUser": "vscode"
|
||||
}
|
30
.devcontainer/docker-compose.dev.yml
Normal file
30
.devcontainer/docker-compose.dev.yml
Normal file
|
@ -0,0 +1,30 @@
|
|||
version: '3.4'
|
||||
services:
|
||||
mqtt:
|
||||
image: eclipse-mosquitto:2
|
||||
volumes:
|
||||
- "./mosquitto/config:/mosquitto/config"
|
||||
restart: unless-stopped
|
||||
|
||||
craftbeerpi4-development:
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: .devcontainer/Dockerfile
|
||||
command: /bin/sh -c "while sleep 1000; do :; done"
|
||||
user: vscode
|
||||
depends_on:
|
||||
- mqtt
|
||||
volumes:
|
||||
# Update this to wherever you want VS Code to mount the folder of your project
|
||||
- ../:/workspace:cached
|
||||
|
||||
mqtt-explorer:
|
||||
image: smeagolworms4/mqtt-explorer
|
||||
environment:
|
||||
HTTP_PORT: 4000
|
||||
CONFIG_PATH: /mqtt-explorer/config
|
||||
volumes:
|
||||
- "./mqtt-explorer/config:/mqtt-explorer/config"
|
||||
depends_on:
|
||||
- mqtt
|
||||
restart: unless-stopped
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -14,6 +14,5 @@ node_modules
|
|||
.vscode
|
||||
.venv*
|
||||
.DS_Store
|
||||
.vscode/
|
||||
config/*
|
||||
logs/
|
16
.vscode/launch.json
vendored
Normal file
16
.vscode/launch.json
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
// Verwendet IntelliSense zum Ermitteln möglicher Attribute.
|
||||
// Zeigen Sie auf vorhandene Attribute, um die zugehörigen Beschreibungen anzuzeigen.
|
||||
// Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
|
||||
{
|
||||
"name": "Run CraftBeerPi4",
|
||||
"type": "python",
|
||||
"request": "launch",
|
||||
"module": "run",
|
||||
"args": ["--config-folder-path=./.devcontainer/cbpi-dev-config", "start"]
|
||||
}
|
||||
]
|
||||
}
|
8
.vscode/settings.json
vendored
Normal file
8
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"python.pythonPath": "/bin/python3",
|
||||
"python.testing.pytestArgs": [
|
||||
"tests"
|
||||
],
|
||||
"python.testing.unittestEnabled": false,
|
||||
"python.testing.pytestEnabled": true
|
||||
}
|
14
README.md
14
README.md
|
@ -21,7 +21,19 @@ in the documentation, that can be found here: [gitbook.io](https://openbrewing.g
|
|||
Plugins extend the base functionality of CraftBeerPi 4.
|
||||
You can find a list of available plugins [here](https://openbrewing.gitbook.io/craftbeerpi4_support/master/plugin-installation#plugin-list).
|
||||
|
||||
## 🧑🤝🧑 Contributers
|
||||
## 🧑🤝🧑 Contribute
|
||||
You want to help develop CraftBeerPi4? To get you quickly stated, this repository comes with a preconfigured
|
||||
development environment. To be able to use this environment you need 2 things installed on your computer:
|
||||
|
||||
- docker
|
||||
- visual studio code (vscode)
|
||||
|
||||
To start developing clone this repository, open the folder in vscode and use the _development container_ feature. The command is called _Reopen in container_. Please note that this quick start setup does not work if you want to develop directly on a 32bit raspberry pi os because docker is only available for 64bit arm plattform. Please use the regular development setup for that.
|
||||
|
||||
For a more detailed description of a development setup without the _development container_ feature see the documentation page:
|
||||
[gitbook.io](https://openbrewing.gitbook.io/craftbeerpi4_support/)
|
||||
|
||||
### Contributors
|
||||
Thanks to all the people who have contributed
|
||||
|
||||
[![contributors](https://contributors-img.web.app/image?repo=craftbeerpi/craftbeerpi4)](https://github.com/craftbeerpi/craftbeerpi4/graphs/contributors)
|
||||
|
|
|
@ -21,4 +21,6 @@ asyncio-mqtt
|
|||
psutil==5.9.0
|
||||
zipp>=0.5
|
||||
PyInquirer==1.0.3
|
||||
colorama==0.4.4
|
||||
colorama==0.4.4
|
||||
pytest-aiohttp
|
||||
coverage==6.3.1
|
||||
|
|
Loading…
Reference in a new issue