DEV Community

Cover image for Running dev.to in a container Part 2
Chuck Ha
Chuck Ha

Posted on

Running dev.to in a container Part 2

In my last post I covered building a docker image, but it was so rushed I won't even link it here.

This article aims to improve on that mess of a Dockerfile.

The commit can be found on my fork of the dev.to repo.

In order to get this version of dev.to running locally follow these steps (no cloning necessary):

# Setup a data directory for postgres
mkdir data

# Create the network that is shared between containers
docker network create devto

# Run the database
docker run --rm --network devto --name db -e POSTGRES_PASSWORD=devto -e POSTGRES_USER=devto -e POSTGRES_DB=PracticalDeveloper_development -v $(PWD)/data:/var/lib/postgresql/data postgres:10

and then in another terminal follow these steps for the application server:

# Setup the database and ensure dependencies are met
docker run --rm -it --network devto -e CONNECT_TIMEOUT=30 -e DATABASE_URL=postgresql://devto:devto@db:5432/PracticalDeveloper_development chuckdha/dev.to:latest bin/setup

# Run the webserver
docker run --rm -it --network devto -p 3000:3000 -e CONNECT_TIMEOUT=30 -e DATABASE_URL=postgresql://devto:devto@db:5432/PracticalDeveloper_development chuckdha/dev.to:latest bin/rails s

Then visit http://localhost:3000 in a web browser.

Let me know what you think!

Discussion (3)

Collapse
rhymes profile image
rhymes

Hi Chuck, maybe you want to contribute to or keep an eye on this pull request about adding Docker support to dev.to: github.com/thepracticaldev/dev.to/...

Collapse
chuck_ha profile image
Chuck Ha Author

I'm not 100% convinced dev.to should be run in a container to tell you the truth. It really depends on what the devs want but I'll put in my two cents. Thanks for the encouragement!

Collapse
rhymes profile image
rhymes

Sure, but it could lower adoption and contribution if people can have that option. I'm not much of a Docker user myself...