Browse Source

Merge pull request #407 from conor-f/docker-fixes

Dockerfile/docker-compose fixes
pull/418/head
Matt Baer 6 months ago
committed by GitHub
parent
commit
53ea85dc86
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      Dockerfile
  2. 28
      config.ini.example
  3. 51
      docker-compose.yml

12
Dockerfile

@ -1,17 +1,19 @@
# Build image
FROM golang:1.13-alpine as build
FROM golang:1.14-alpine as build
RUN apk add --update nodejs nodejs-npm make g++ git sqlite-dev
RUN apk add --update nodejs nodejs-npm make g++ git
RUN npm install -g less less-plugin-clean-css
RUN go get -u github.com/jteeuwen/go-bindata/...
RUN go get -u github.com/go-bindata/go-bindata/...
RUN mkdir -p /go/src/github.com/writeas/writefreely
WORKDIR /go/src/github.com/writeas/writefreely
COPY . .
ENV GO111MODULE=on
RUN make build \
&& make ui
&& make ui
RUN mkdir /stage && \
cp -R /go/bin \
/go/src/github.com/writeas/writefreely/templates \
@ -22,7 +24,7 @@ RUN mkdir /stage && \
/stage
# Final image
FROM alpine:3.11
FROM alpine:3.12
RUN apk add --no-cache openssl ca-certificates
COPY --from=build --chown=daemon:daemon /stage /go

28
config.ini.example

@ -1,28 +0,0 @@
[server]
hidden_host =
port = 8080
[database]
type = mysql
username = root
password = changeme
database = writefreely
host = db
port = 3306
tls = false
[app]
site_name = WriteFreely Example Blog!
host = http://localhost:8080
theme = write
disable_js = false
webfonts = true
single_user = true
open_registration = false
min_username_len = 3
max_blogs = 1
federation = true
public_stats = true
private = false
update_checks = true

51
docker-compose.yml

@ -1,32 +1,47 @@
version: "3"
volumes:
web-keys:
db-data:
networks:
external_writefreely:
internal_writefreely:
internal: true
services:
web:
build: .
writefreely-web:
container_name: "writefreely-web"
image: "writefreely:latest"
volumes:
- "web-data:/go/src/app"
- "./config.ini.example:/go/src/app/config.ini"
- "web-keys:/go/keys"
- "./config.ini:/go/config.ini"
networks:
- "internal_writefreely"
- "external_writefreely"
ports:
- "8080:8080"
networks:
- writefreely
depends_on:
- db
- "writefreely-db"
restart: unless-stopped
db:
writefreely-db:
container_name: "writefreely-db"
image: "mariadb:latest"
volumes:
- "./schema.sql:/tmp/schema.sql"
- db-data:/var/lib/mysql/data
- "db-data:/var/lib/mysql/data"
networks:
- writefreely
- "internal_writefreely"
environment:
- MYSQL_DATABASE=writefreely
- MYSQL_ROOT_PASSWORD=changeme
restart: unless-stopped
volumes:
web-data:
db-data:
networks:
writefreely:
restart: unless-stopped
Loading…
Cancel
Save