This version is an easier version to develop using docker.
create docker network and base image.
make setupstartup swank server and db, sendmail, etc...
make dev.upconnect 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.downstartup test server
make test.uprun tests
make test.runshutdown test server
make tet.downVariables 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
it's defined on src/main.lisp at initialize-dispatch-table.
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 newpasswordand read it.
https://github.com/mailhog/MailHog/blob/master/docs/Auth.md
(help...)
setting up
startup reddit server
...
- original Copyright 2018 Reddit, Inc.
- refactored Copyright 2018-2025 tamura shingo