Browse Source

Fixes broken Docker/docker-compose structures.

Updates versions and uses maria DB instead of sqlite in the
docker-compose. Also fixes things related to networks, generating
config, etc.
pull/407/head
Conor Flynn 3 years ago
parent
commit
0eb1a2deec
3 changed files with 40 additions and 51 deletions
  1. +7
    -5
      Dockerfile
  2. +0
    -28
      config.ini.example
  3. +33
    -18
      docker-compose.yml

+ 7
- 5
Dockerfile View File

@@ -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


+ 0
- 28
config.ini.example View File

@@ -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


+ 33
- 18
docker-compose.yml View File

@@ -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: "conor-f:writefreely"

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