Development in dockerized install

(Anton S.) #1

I am using digitalocean one-click app for Discourse. I don’t have a lot of experience with Docker and Discourse, and I couldn’t find any recommended ways for creating theme/plugin inside dockerized environment.

As far as I see, the only things that are not located in container are db folder and uploads folder (well, and logs).
For development (let’s say I want to hack my own theme) I want the folder with my theme to be outside of container in host folder as well.
Are there any best practices to achieve easily hackable folders located on host machine, with my plugin and my theme, while running regular discourse one click app?

(Michael Howell) #2

Because the regular “production environment” pre-compiles everything, I don’t think it’s practical to develop a plugin in there. You’re supposed to pull down the Discourse GitHub repo, then follow one of the instruction sets to get a “development environment” set up. Then you develop your plugin within the plugins folder (alongside lazyYT and polls).

It’s still alpha, but does Janitor look interesting to you? It can get you a pre-configured development environment for Discourse (and Firefox, KDE, and a few other supported OSS projects) in a single click.

As for developing themes, you can do that in the UI at [your discourse]/admin/customize/themes. When you’re “done”, just click Export.