diff options
author | kaiyou <pierre@jaury.eu> | 2018-01-29 08:52:20 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-01-29 08:52:20 +0100 |
commit | e8395f027b6c3e3f757c740e35b20e76c51b03bd (patch) | |
tree | ee0e761357b7407b6992600342306669de880689 /support/docker/production/Dockerfile.alpine | |
parent | 8dfd8fd7ca376e7898c912bb985a7a4a997cd966 (diff) | |
download | PeerTube-e8395f027b6c3e3f757c740e35b20e76c51b03bd.tar.gz PeerTube-e8395f027b6c3e3f757c740e35b20e76c51b03bd.tar.zst PeerTube-e8395f027b6c3e3f757c740e35b20e76c51b03bd.zip |
Add production Alpine and Debian Stretch Docker images (#225)
* First pass at a (swarm-compatible) docker image
Uses an existing traefik server as a https reverse proxy.
* Add example config for a Docker swarm deployment
* Point to traefik config for docker compose setup
* Clarify that traefik is needed for the example config
* Use node:8-stretch base image and don't install yarn
(The base image already contains yarn.)
* Initial commit for an Alpine Docker image
* Fix docker volume path
* Merge #213 and #225 and move files around
* Remove unnecessary dependencies from the alpine build
* Update Dockerfiles to match install path, config path, etc.
* Update the configuration in the example compose file
* Update the configuration in the example swarm file
* Remove the declared networks and volumes from the compose example, which are not strictly required
* Update attachment path in the documentation
* Display traefik as a suggestion and not a required dependency
* Update the Docker ignored files
* Fix typos reported in #225
* Move production Dockerfiles to a production directory
* Add the redis configuration settings
* Add Docker files to the dockerignore
* Make the signup limit configurable
Diffstat (limited to 'support/docker/production/Dockerfile.alpine')
-rw-r--r-- | support/docker/production/Dockerfile.alpine | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/support/docker/production/Dockerfile.alpine b/support/docker/production/Dockerfile.alpine new file mode 100644 index 000000000..939b2d23b --- /dev/null +++ b/support/docker/production/Dockerfile.alpine | |||
@@ -0,0 +1,24 @@ | |||
1 | FROM node:8-alpine | ||
2 | |||
3 | # Install dependencies | ||
4 | RUN apk add --no-cache ffmpeg openssl bash make g++ git \ | ||
5 | && apk add --no-cache --repository https://dl-3.alpinelinux.org/alpine/edge/testing/ vips-dev fftw-dev | ||
6 | |||
7 | # Install the application | ||
8 | WORKDIR /app | ||
9 | |||
10 | COPY . ./ | ||
11 | RUN bash -c 'yarn install --pure-lockfile && npm run build' | ||
12 | |||
13 | # Configure the application | ||
14 | RUN addgroup -g 991 peertube \ | ||
15 | && adduser -D -u 991 -G peertube -h /data peertube | ||
16 | USER peertube | ||
17 | |||
18 | ENV NODE_ENV production | ||
19 | ENV NODE_CONFIG_DIR /app/support/docker/production/config/ | ||
20 | |||
21 | # Run the application | ||
22 | CMD ["npm", "start"] | ||
23 | VOLUME ["/data"] | ||
24 | EXPOSE 9000 | ||