fix(docker): run in docker, and build scripts for docker (#1291)

Updates unnecessary need to grant special privileges when running in Docker.
This commit is contained in:
Egidijus Ligeika
2020-12-11 17:13:11 +00:00
committed by GitHub
parent 67b19a7a8b
commit c74ea28014
5 changed files with 63 additions and 1 deletions
+17
View File
@@ -0,0 +1,17 @@
.DEFAULT_GOAL := run
.PHONY: build
build:
docker-compose build streetmerchant
.PHONY: run
run:
docker-compose up
.PHONY: run-detached
run-detached:
docker-compose up -d
.PHONY: stop
stop:
docker-compose down
+10
View File
@@ -0,0 +1,10 @@
version: '3.0'
services:
streetmerchant:
build:
context: .
dockerfile: Dockerfile
container_name: streetmerchant
env_file: .env
# ports:
# - 7997:7997
+25
View File
@@ -0,0 +1,25 @@
# Docker
You will need:
* `docker` (tested on Docker version 19.03.13-ce, build 4484c46d9d)
* `make` (not a strict requirement, but helps out with stages)
* `docker-compose` (tested on docker-compose version 1.27.4,)
## What
It is assumed you know what docker is.
You can build and run this project inside docker, headless. All the depencies will be downloaded in to the docker image.
## Why
There is no need to install node, or anything else (apart from above) on your machine to run this.
## How
1. Copy pasta the `.env-example` in to `.env`.
2. Edit `.env` in your favourite editor, pick stores, options what ever you want.
3. If you have make, simply run `make` in your terminal to get started. You should see a docker build, and container start automatically.
4. If you want a webserver running, so you can edit the options via web interface, uncomment lines 13-14 in `docker-compose.yml` to open up ports `7997`. Update `.env` file `WEB_PORT="7997"` this is so the service listens on `7997` and we expose the same ports on docker.
5. If you do not have make, because windows, run these commands in order:
```
docker-compose build streetmerchant-shop-bot
docker-compose up
```
+5
View File
@@ -53,6 +53,11 @@ docker run --cap-add=SYS_ADMIN \
To customize streetmerchant, make a copy of `dotenv-example` as `dotenv` and make any changes to your liking. View [Reference](reference/application.md) for more information on variables and their usage.
## Building docker
[Docker-Docs](docs/docker.md)
???+ tip
All environment variables are optional.
+6 -1
View File
@@ -26,8 +26,13 @@ async function main() {
}
// https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md#tips
// https://stackoverflow.com/questions/48230901/docker-alpine-with-node-js-and-chromium-headless-puppeter-failed-to-launch-c
if (config.docker) {
args.push('--disable-dev-shm-usage');
args.push('--no-sandbox');
args.push('--disable-setuid-sandbox');
args.push('--headless');
args.push('--disable-gpu');
}
// Add the address of the proxy server if defined
@@ -38,7 +43,7 @@ async function main() {
}
await stop();
logger.warn(' printing puppeteer configs::', args);
browser = await puppeteer.launch({
args,
defaultViewport: {