Reddit 1.0
July 10, 2025 ยท View on GitHub
This version is an easier version to develop using docker.

Quickstart
create docker network and base image.
make setup
startup swank server and db, sendmail, etc...
make dev.up
connect swank by using emacs
(slime-connect "localhost" 4005)
load reddit
(ql:quickload :reddit)
migration (require once)
;; connect to database
(reddit.config:set-docker-config)
(reddit.main::connect-database)
;; load migration code
(ql:quickload :reddit-db)
;; migration
(reddit.db.migration:up)
;; disconnect database
(reddit.main::disconnect-database)
start up reddit application
(reddit:startup-reddit)
for shutting down
(reddit:shutdown-reddit)
shutting down develop server
make dev.down
for test
startup test server
make test.up
run tests
make test.run
shutdown test server
make tet.down
hint
configuration
Variables such as database user name can be overridden by environment variables.
| environment | type | name | value | environment vriable |
|---|---|---|---|---|
| docker | database | server | db | REDDIT_DATABASE_SERVER |
| port | 5432 | REDDIT_DATABASE_PORT | ||
| database | reddit | REDDIT_DATABASE_DATABASE | ||
| username | pgsql | REDDIT_DATABASE_USERNAME | ||
| password | pgcwip42: | REDDIT_DATABASE_PASSWORD | ||
| memcached | server | memcached | REDDIT_MEMCACHED_SERVER | |
| port | 11211 | REDDIT_MEMCACHED_PORT | ||
| server | mail | REDDIT_MAIL_SERVER | ||
| port | 25 | REDDIT_MAIL_PORT | ||
| username | username | REDDIT_MAIL_USERNAME | ||
| password | password | REDDIT_MAIL_PASSWORD | ||
| logger | logger-name | stdout | ||
| development | database | server | 127.0.0.1 | REDDIT_DATABASE_SERVER |
| port | 5432 | REDDIT_DATABASE_PORT | ||
| database | reddit | REDDIT_DATABASE_DATABASE | ||
| username | pgsql | REDDIT_DATABASE_USERNAME | ||
| password | pgcwip42: | REDDIT_DATABASE_PASSWORD | ||
| memcached | server | 127.0.0.1 | REDDIT_MEMCACHED_SERVER | |
| port | 11211 | REDDIT_MEMCACHED_PORT | ||
| server | 127.0.0.1 | REDDIT_MAIL_SERVER | ||
| port | 25 | REDDIT_MAIL_PORT | ||
| username | username | REDDIT_MAIL_USERNAME | ||
| password | password | REDDIT_MAIL_PASSWORD | ||
| logger | logger-name | stdout | ||
| test | database | server | db | REDDIT_DATABASE_SERVER |
| port | 5432 | REDDIT_DATABASE_PORT | ||
| database | reddit_test | REDDIT_DATABASE_DATABASE | ||
| username | pgsql | REDDIT_DATABASE_USERNAME | ||
| password | pgcwip42: | REDDIT_DATABASE_PASSWORD | ||
| memcached | server | memcached | REDDIT_MEMCACHED_SERVER | |
| port | 11211 | REDDIT_MEMCACHED_PORT | ||
| server | mail | REDDIT_MAIL_SERVER | ||
| port | 25 | REDDIT_MAIL_PORT | ||
| username | username | REDDIT_MAIL_USERNAME | ||
| password | password | REDDIT_MAIL_PASSWORD | ||
| logger | logger-name | stdout |
it's defined on src/config.lisp
routing
it's defined on src/main.lisp at initialize-dispatch-table.
mail server
To read email, open 'http://localhost:8025' .
- username: username
- password: password
To regenerate password, run this
docker-compse -f script/docker/sendmail.dev.yml run mailserver bcrypt newpassword
and read it.
https://github.com/mailhog/MailHog/blob/master/docs/Auth.md
for Production ...?
(help...)
setup movie
setting up
startup reddit server
...
- original Copyright 2018 Reddit, Inc.
- refactored Copyright 2018-2025 tamura shingo

