added compose config; updated compose file to use it; updated README to match

This commit is contained in:
Brad Koehn 2018-11-24 19:10:11 -06:00
parent 223e385048
commit 1b30ff9351
3 changed files with 44 additions and 6 deletions

View File

@ -120,8 +120,19 @@ will shut down your environment without destroying your data.
### Using Docker for Production
Write Freely doesn't yet provide an official Docker pathway to production. We're
working on it, though!
A Docker image is available at [`writeas/writefreely`](https://hub.docker.com/r/writeas/writefreely/); you can use it with the included
[`docker-compose.yml`](https://github.com/writeas/writefreely/blob/master/docker-compose.yml).
To setup the compose environment,
1. Modify a copy of [`config.ini.docker-compose`](https://github.com/writeas/writefreely/blob/master/config.ini.docker-compose) and
put it in the same directory as your `docker-compose.yml`. Edit it as appropriate (the database configuration is already setup for the compose file).
2. Modify the `docker-compose.yml` file with a secure mysql password. Make the `config.ini.docker-compose` database patchword match.
3. Run `docker-compose run --rm web /bin/sh` to get a shell inside a running instance of the web container.
5. Run `bin/writefreely -init-db` to setup the database.
6. Run `bin/writefreely -gen-keys` to setup your instance-specific keys.
7. Run `exit` to exit and remove the container.
8. Run `docker-compose up -d` to launch the server.
9. Point your browser to http://localhost:8080 (or whatever URL you set up) to test your instance.
## Contributing

28
config.ini.docker-compose Normal file
View File

@ -0,0 +1,28 @@
[server]
hidden_host = 0.0.0.0
port = 8080
tls_cert_path =
tls_key_path =
[database]
type = mysql
username = root
password = changeme
database = writefreely
host = db
port = 3306
[app]
site_name = Write Freely 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

View File

@ -1,10 +1,10 @@
version: "3"
services:
web:
build: .
image: "writeas/writefreely"
volumes:
- "web-data:/go/src/app"
- "./config.ini.example:/go/src/app/config.ini"
- "web-data:/go/keys"
- "./config.ini.docker-compose:/go/config.ini"
ports:
- "8080:8080"
networks:
@ -15,7 +15,6 @@ services:
db:
image: "mariadb:latest"
volumes:
- "./schema.sql:/tmp/schema.sql"
- db-data:/var/lib/mysql/data
networks:
- writefreely