Skip to content

Commit

Permalink
vscode
Browse files Browse the repository at this point in the history
  • Loading branch information
Bernt Christian Egeland committed Jan 23, 2022
1 parent 574be0a commit dbe753a
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 68 deletions.
47 changes: 28 additions & 19 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,8 @@
{
"name": "development",
"service": "dev",
// Sets the run context to one level up instead of the .devcontainer folder.
// "context": "..",

// Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename.
// "dockerFile": "../docker-compose.yml",
"dockerComposeFile": "../docker-compose.yml",

"workspaceFolder": "/app/uavcast",
Expand All @@ -20,21 +17,33 @@
},

// Add the IDs of extensions you want installed when the container is created.
"extensions": [],

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

"extensions": [
"esbenp.prettier-vscode",
"apollographql.vscode-apollo",
"dbaeumer.vscode-eslint",
"eamodio.gitlens",
"xabikos.reactsnippets",
"jawandarajbir.react-vscode-extension-pack",
"graphql.vscode-graphql",
"christian-kohler.npm-intellisense",
"christian-kohler.path-intellisense",
"gruntfuggly.todo-tree",
"formulahendry.auto-rename-tag",
"aaron-bond.better-comments",
"ms-vscode.cpptools",
"austin.code-gnu-global",
"ms-azuretools.vscode-docker",
"dsznajder.es7-react-js-snippets",
"xabikos.javascriptsnippets",
"alduncanson.react-hooks-snippets",
"mtxr.sqltools",
"mtxr.sqltools-driver-sqlite",
"wayou.vscode-todo-highlight",
"rbbit.typescript-hero",
"pkief.material-icon-theme",
"formulahendry.auto-close-tag",
"mikestead.dotenv"
],
// Uncomment the next line to run commands after the container is created - for example installing curl.
"postCreateCommand": "sudo docker/bin/./dev-build.sh",

// Uncomment when using a ptrace-based debugger like C++, Go, and Rust
"runArgs": [ "--net=host", "--privileged", "-v /dev:/dev", "-v /var/lib/zerotier-one:/var/lib/zerotier-one", "-v /var/run/docker.sock:/var/run/docker.sock" ],

// Uncomment to use the Docker CLI from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker.
// "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ],

// Uncomment to connect as a non-root user if you've added one. See https://aka.ms/vscode-remote/containers/non-root.
// "remoteUser": "uavcast"
// "containerUser": "uavcast"
"postCreateCommand": "sudo docker/bin/./dev-build.sh"
}
28 changes: 1 addition & 27 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,29 +1,3 @@
{
"recommendations": [
"esbenp.prettier-vscode",
"apollographql.vscode-apollo",
"dbaeumer.vscode-eslint",
"eamodio.gitlens",
"xabikos.reactsnippets",
"jawandarajbir.react-vscode-extension-pack",
"graphql.vscode-graphql",
"christian-kohler.npm-intellisense",
"christian-kohler.path-intellisense",
"gruntfuggly.todo-tree",
"formulahendry.auto-rename-tag",
"aaron-bond.better-comments",
"ms-vscode.cpptools",
"austin.code-gnu-global",
"ms-azuretools.vscode-docker",
"dsznajder.es7-react-js-snippets",
"xabikos.javascriptsnippets",
"alduncanson.react-hooks-snippets",
"mtxr.sqltools",
"mtxr.sqltools-driver-sqlite",
"wayou.vscode-todo-highlight",
"rbbit.typescript-hero",
"pkief.material-icon-theme",
"formulahendry.auto-close-tag",
"mikestead.dotenv"
]
"recommendations": []
}
8 changes: 3 additions & 5 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,20 @@
version: '3'
version: '3.4'
services:
dev:
container_name: uavcast-dev
user: uavcast
privileged: true
network_mode: host
build:
context: .
dockerfile: docker/Dockerfile.dev
restart: always
volumes:
- .:/app/uavcast:cached
- uavdata:/app/uavcast/data
- /var/lib/zerotier-one:/var/lib/zerotier-one:ro
- /var/lib/zerotier-one:/var/lib/zerotier-one
- /var/run/docker.sock:/var/run/docker.sock
- /dev:/dev:ro
ports:
- '3000:3000'
- '80:80'
entrypoint:
- '/bin/systemctl'
# command: /bin/sh -c "while sleep 1000; do :; done"
Expand Down
24 changes: 7 additions & 17 deletions docker/bin/dev-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,28 +10,18 @@ APPROOT="/app/uavcast"
# install global dependencies
npm i concurrently ts-node-dev typescript -g

sudo apt-get install -y libsqlite3-dev
sudo apt-get install -y libjsoncpp-dev \
libsqlite3-dev \
libv4l-dev \
libcap2-bin

sudo apt-get install -y jq dnsutils usb-modeswitch modemmanager openvpn \
network-manager-openvpn dh-autoreconf gstreamer-1.0 gstreamer1.0-tools gstreamer1.0-omx \
gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad python-pip \
libgstreamer-plugins-base1.0* libgstreamer1.0-dev libgstrtspserver-1.0-dev gstreamer1.0-plugins-base-apps \
python3-gi python3 python3-dev python3-pip python3-gst-1.0 network-manager

sudo apt-get install -y libv4l-dev && sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
sudo apt-get install -y libjsoncpp-dev

# Allow non sudo user to host on port 80
sudo apt-get install -y libcap2-bin
sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
sudo setcap cap_net_bind_service=+ep `readlink -f \`which node\``

# fetch translations
# https://github.com/UAVmatrix/uavcast-pro-translations
git submodule update --init --recursive

# Build binaries
cd /app/uavcast/bin && make

# Generate UAVcast.service file
UAVCAST=$Systemd/"uavcast.service"
touch $UAVCAST
Expand Down Expand Up @@ -117,5 +107,5 @@ sudo touch /var/run/docker.sock
sudo chmod 666 /var/run/docker.sock
sudo chown uavcast:docker /var/run/docker.sock

## vscode
code --install-extension ${APPROOT}/.vscode/extensions.json
# Build binaries
cd /app/uavcast/bin && make

0 comments on commit dbe753a

Please sign in to comment.