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?