Cannot start docker instance of writefreely

Hello,

I know that writefreely does not have an official docker instance, but I chose to still try to run it from docker, because it simplifies my setup significantly.

I chose to use the algernon-writefreely:latest docker image for this particular purpose.

The contents of my docker compose configuration file which I’m using are the following:

version: '2'

networks:
        writefreely:
                external: false

services:
    writefreely:
        image: algernon/writefreely:latest
        volumes:
            - "./data:/data"
        ports:
            - "8083:8080"
        restart: always
        networks:
            - writefreely
    db:
        image: mysql
        restart: always
        environment:
            - MYSQL_ROOT_PASSWORD=<redacted>
            - MYSQL_DATABASE=writefreely
            - MYSQL_USER=writeas
            - MYSQL_PASSWORD=<redacted>
        volumes:
            - ./db/:/var/lib/mysql
        networks:
            - writefreely

What I’m getting is the following error from the logs:

writefreely_1  | 2023/10/22 12:06:08 Created.
writefreely_1  | 2023/10/22 12:06:08 Creating table appmigrations...
writefreely_1  | ERROR: 2023/10/22 12:06:08 app.go:961: Error 1050 (42S01): Table 'appmigrations' already exists
writefreely_1  | 2023/10/22 12:06:08 Creating table collectionattributes...
writefreely_1  | 2023/10/22 12:06:08 Created.
writefreely_1  | 2023/10/22 12:06:08 Creating table collectionkeys...
writefreely_1  | 2023/10/22 12:06:08 Created.
writefreely_1  | 2023/10/22 12:06:08 Creating table collectionpasswords...
writefreely_1  | 2023/10/22 12:06:08 Created.
writefreely_1  | 2023/10/22 12:06:08 Creating table collectionredirects...
writefreely_1  | 2023/10/22 12:06:08 Created.
writefreely_1  | 2023/10/22 12:06:08 Creating table collections...
writefreely_1  | 2023/10/22 12:06:08 Created.
writefreely_1  | 2023/10/22 12:06:08 Creating table posts...
writefreely_1  | 2023/10/22 12:06:08 Created.
writefreely_1  | 2023/10/22 12:06:08 Creating table remotefollows...
writefreely_1  | 2023/10/22 12:06:08 Created.
writefreely_1  | 2023/10/22 12:06:08 Creating table remoteuserkeys...
writefreely_1  | 2023/10/22 12:06:08 Created.
writefreely_1  | 2023/10/22 12:06:08 Creating table remoteusers...
writefreely_1  | 2023/10/22 12:06:08 Created.
writefreely_1  | 2023/10/22 12:06:08 Creating table userattributes...
writefreely_1  | 2023/10/22 12:06:08 Created.
writefreely_1  | 2023/10/22 12:06:08 Creating table userinvites...
writefreely_1  | 2023/10/22 12:06:08 Creating table users...
writefreely_1  | ERROR: 2023/10/22 12:06:08 app.go:961: Error 1050 (42S01): Table 'userinvites' already exists
writefreely_1  | 2023/10/22 12:06:08 Created.
writefreely_1  | 2023/10/22 12:06:08 Creating table usersinvited...
writefreely_1  | ERROR: 2023/10/22 12:06:08 app.go:961: Error 1050 (42S01): Table 'usersinvited' already exists
writefreely_1  | 2023/10/22 12:06:08 Initializing appmigrations table...
writefreely_1  | 2023/10/22 12:06:08 Running migrations...
writefreely_1  | 2023/10/22 12:06:08 Database up-to-date. No migrations to run.
writefreely_1  | 2023/10/22 12:06:08 Done.
writefreely_1  | 2023/10/22 12:06:08 Closing database connection...
writefreely_1  | cp: can't stat 'writefreely.db': No such file or directory

These last messages just get looped over and over again.

The contents of my config.ini file are the following:

[server]
hidden_host          = 
port                 = 8080
bind                 = 0.0.0.0
tls_cert_path        = 
tls_key_path         = 
autocert             = false
templates_parent_dir = 
static_parent_dir    = 
pages_parent_dir     = 
keys_parent_dir      = 
hash_seed            = 
gopher_port          = 0

[database]
type     = mysql
filename = 
username = writeas
password = <redacted>
database = writefreely
host     = writeas_db_1
port     = 3306
tls      = false

[app]
site_name             = Alex's Blog!
site_description      = A blog where I talk about anime, tech and other geeky things
host                  = https://blog.transistor.one
theme                 = write
editor                = 
disable_js            = false
webfonts              = true
landing               = /read
simple_nav            = false
wf_modesty            = false
chorus                = false
forest                = false
disable_drafts        = false
single_user           = false
open_registration     = false
open_deletion         = true
min_username_len      = 3
max_blogs             = 5
federation            = true
public_stats          = true
monetization          = true
notes_only            = false
private               = false
local_timeline        = true
user_invites          = 
default_visibility    = unlisted
update_checks         = false
disable_password_auth = false

Does anyone have any idea what I should do?

Did you ever manage to get this started?

I did not. I gave up on that docker image.

Either that image was somehow flawed, or my setup was just incompatible with it.

I eventually went on and used the guide for developers at Docker — WriteFreely Documentation.

It’s not ideal, since it’s not for production, but it’s the only thing I’ve got

1 Like

Thanks for letting me know. It’s super disappointing that the developers couldn’t be more involved in trying to get this working

Sadly my knowledge of Docker is very limited :confused: That side of the project has been entirely developed and supported by the community.

Did the Docker guide linked in @meyou69’s comment work for you, @PWD?

Sadly not. Though I saw something got merged recently, hopefully that will solve the problem. I’ll give it another go.

1 Like