Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added compose config; updated compose file to use it; updated README … #37

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
15 changes: 13 additions & 2 deletions README.md
Expand Up @@ -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

Expand Down
28 changes: 28 additions & 0 deletions config.ini.docker-compose
@@ -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

7 changes: 3 additions & 4 deletions docker-compose.yml
@@ -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:
Expand All @@ -15,7 +15,6 @@ services:
db:
image: "mariadb:latest"
volumes:
- "./schema.sql:/tmp/schema.sql"
- db-data:/var/lib/mysql/data
networks:
- writefreely
Expand Down