Browse Source

Optimize docker nonsense

master
Wesley Kerfoot 4 years ago
parent
commit
ce42426c02
  1. 31
      app/Dockerfile
  2. 2229
      app/package-lock.json
  3. 6
      app/package.json
  4. 2
      app/rollup.config.editor.js
  5. 2
      app/rollup.config.riotblog.js
  6. 2
      app/styles/riotblog.scss
  7. 4
      app/website.py
  8. 12
      docker-compose-dev.yml
  9. 5
      docker-compose.yml

31
app/Dockerfile

@ -2,6 +2,8 @@ FROM ubuntu:latest
MAINTAINER wes kerfoot "wjak56@gmail.com"
RUN mkdir -p /{styles,scripts} && mkdir -p /src
RUN apt-get update -y
RUN apt-get install -y curl
RUN curl -sL https://deb.nodesource.com/setup_13.x | bash
@ -9,20 +11,27 @@ RUN apt-get update -y
RUN apt-get install -y python3-pip python3-dev build-essential sassc jq nodejs
RUN npm install -g uglifycss uglifyjs
COPY . ./src
COPY run.sh /run.sh
COPY blogPosts.json /blogPosts.json
COPY requirements.txt /requirements.txt
RUN pip3 install -r /requirements.txt
COPY package-lock.json package.json /
RUN npm install
COPY rollup.config.riotblog.js rollup.config.editor.js /scripts/
COPY link.json list.js admin.py posts.py projects.py website.py ./src/
WORKDIR /src
# Docker has ridiculous behaviour with regards to COPY
# COPY foo bar /baz/ won't actually copy the directories, but their contents
COPY templates /src/templates
COPY images /src/images
COPY blogPosts.json run.sh /
RUN npm install && pip3 install -r /src/requirements.txt && \
mkdir -p ./build/styles ./build/scripts && \
npm run-script build_riotblog && \
npm run-script build_editor
COPY scripts /scripts
RUN npm run-script build_riotblog && npm run-script build_editor
RUN sassc ./styles/riotblog.scss > ./styles/riotblog.intermediate.min.css && \
cp ./styles/*.css ./build/styles/ && \
uglifycss ./styles/*.css > ./build/styles/riotblog.min.css
COPY styles /styles
RUN sassc /styles/riotblog.scss > /styles/riotblog.intermediate.min.css && \
uglifycss /styles/*.css > /styles/riotblog.min.css
ENTRYPOINT ["/bin/bash", "/run.sh"]
CMD ["/src/website.py"]

2229
app/package-lock.json

File diff suppressed because it is too large

6
app/package.json

@ -2,10 +2,10 @@
"name": "riotblog",
"version": "1.0.0",
"description": "Riot Blog",
"main": "src/scripts/riotblog.js",
"main": "/scripts/riotblog.js",
"scripts": {
"build_riotblog": "rollup /src/scripts/riotblog.js --config /src/rollup.config.riotblog.js",
"build_editor": "rollup /src/scripts/editor.js --config /src/rollup.config.editor.js"
"build_riotblog": "rollup /scripts/riotblog.js --config /scripts/rollup.config.riotblog.js",
"build_editor": "rollup /scripts/editor.js --config /scripts/rollup.config.editor.js"
},
"repository": {
"type": "git",

2
app/rollup.config.editor.js

@ -24,4 +24,4 @@ function makeBundle(item) {
};
}
export default makeBundle(["./scripts/editor.js", "./build/scripts/editor.min.js"]);
export default makeBundle(["./scripts/editor.js", "/scripts/editor.min.js"]);

2
app/rollup.config.riotblog.js

@ -24,4 +24,4 @@ function makeBundle(item) {
};
}
export default makeBundle(["./scripts/riotblog.js", "./build/scripts/riotblog.min.js"]);
export default makeBundle(["./scripts/riotblog.js", "/scripts/riotblog.min.js"]);

2
app/styles/riotblog.scss

@ -6,7 +6,7 @@ $branding: black;
$branding2: blue;
$branding3: #1b4c6c;
$menuWidth: 60px;
$menuWidth: 65px;
$navbarHeight: 100px;

4
app/website.py

@ -69,11 +69,11 @@ def NeverWhere(configfile=None):
@app.route("/blog/styles/<path:path>")
def send_styles(path):
return send_from_directory("build/styles", path)
return send_from_directory("/styles", path)
@app.route("/blog/scripts/<path:path>")
def send_scripts(path):
return send_from_directory("build/scripts", path)
return send_from_directory("/scripts", path)
# Set template variables to be injected
@app.context_processor

12
docker-compose-dev.yml

@ -1,19 +1,24 @@
version: '3'
version: '3.4'
services:
couch:
restart: always
build: couchdb
ports:
- "127.0.0.1:5984:5984"
env_file:
- ".env"
environment:
- "COUCHDB_USER"
- "COUCHDB_PASSWORD"
- "COUCHDB_NAME"
web:
restart: always
build: app
build:
context: app
ports:
- "127.0.0.1:6969:6969"
- "80"
env_file:
- ".env"
network_mode: host
depends_on:
- "couch"
@ -22,3 +27,4 @@ services:
- "COUCHDB_PASSWORD"
- "COUCHDB_NAME"
- "SECRET_KEY"
- "ADMIN_PASSWORD"

5
docker-compose.yml

@ -6,7 +6,7 @@ services:
ports:
- "127.0.0.1:5984:5984"
env_file:
- ".envrc"
- ".env"
environment:
- "COUCHDB_USER"
- "COUCHDB_PASSWORD"
@ -17,7 +17,7 @@ services:
ports:
- "80"
env_file:
- ".envrc"
- ".env"
network_mode: host
depends_on:
- "couch"
@ -26,3 +26,4 @@ services:
- "COUCHDB_PASSWORD"
- "COUCHDB_NAME"
- "SECRET_KEY"
- "ADMIN_PASSWORD"

Loading…
Cancel
Save