Giter Site home page Giter Site logo

writefreely-docker's Introduction

WriteFreely

WriteFreely is a clean, minimalist publishing platform made for writers. Start a blog, share knowledge within your organization, or build a community around the shared act of writing.


This project aim to provide an easy way to deploy WriteFreely using docker. It currently doesn't provide any docker image, but instead it provides you an easy way to build your own image. I believe that is better, so you can choose the version that you want to deploy (any version or commit from writefreely repository).

The way that it works is pretty simple. It will just clone and build writefreely using Alpine Linux docker image as a base.

Setup

Clone the repository:

git clone https://github.com/karlprieb/writefreely-docker.git

Edit .env file so you can:

  • choose the writefreely repository and version that you want
  • choose external port
  • set the admin username and password

Change/fill your writefreely configuration on config/config.ini

You can change your volumes bind on docker-compose.yml if you want.

Launch:

docker-compose up -d

It will create/populate data folder with keys, pages, templates and the sqlite db file. You can backup this folder and also change pages and templates. To update pages and templates you need to restart the container.

If you will run writefreely behind a reverse proxy, which is recommended, you will also need to implement that on docker-compose.yml or add the correct networks if you're already running a reverse proxy.

Please feel free to open issues, reporting problems or to request new features. Also open new PRs if you feel that make sense. ๐Ÿ˜

writefreely-docker's People

Contributors

karlprieb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

writefreely-docker's Issues

build fails on line 22

Hello!
Trying to build the image and running into an error on line 22 of the Dockerfile. i.e. either on "make build" or on "make ui".
The relevant parts from docker-compose.yml:

services:
  writefreely:
    build:
      context: ./writefreely-docker
      args:
        - REPOSITORY=$REPOSITORY
        - VERSION=$VERSION
    restart: unless-stopped
    volumes:
      - ./writefreely-docker/config:/config:Z
      - ./writefreely-docker/data:/data:Z

In .env I only put a user name and passowrd. Haven't touched the config file for now.
The file tree is:

/
docker-compose.yml
.env
    /writefreely-docker
    <all the docker files (where env is usually)>

Permissions error while creating directories

In both the Debian and the Arch Linux machines I've tried running the scripts on this repo, the container hangs and loops off and on, with the logs looping on the following message:

Copying default templates
cp: can't create directory '/data/templates/': Permission denied

I've managed to fix this issue on my side by editing the Dockerfile so that line 47 now reads:

USER root

And now the container runs well with no permissions issues.

I'm a Docker novice and I'm not sure if switching the USER for the container in the Dockerfile has any security disadvantages, but this was the only way I found to get the containers working.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.