A minimalistic website to store and view my favourite poems. https://poems.xirion.net/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Victor Roest 67814d339f
Update deps
5 months ago
config added tests 9 months ago
docs Docs and better dockerfile 9 months ago
k8s Prometheus exporter 9 months ago
lib Initial translator implementation 7 months ago
priv Make poems flexboxes 6 months ago
rel Add peerage 9 months ago
test Add tests 7 months ago
.credo.exs added search 9 months ago
.dockerignore Added dockerimage 9 months ago
.drone.yaml Update deps 5 months ago
.formatter.exs Initial commit 9 months ago
.gitattributes Add favicon 9 months ago
.gitignore Added basic auth 9 months ago
.iex.exs Minor changes 9 months ago
Dockerfile Update deps 5 months ago
README.md Docs and better dockerfile 9 months ago
docker-compose.yaml Add docker-compose 9 months ago
mix.exs Updated Dependencies and wrap pre 8 months ago
mix.lock Update deps 5 months ago



A minimalistic website to store and view my favourite poems.

An online version is hosted at https://poems.xirion.net/

For screenshots see screenshots.md



  • Docker (Optional, but very useful)
  • Elixir and mix

To run dps in dev mode:

docker-compose up -d db # Start local postgres db inside a docker container
mix.ecto.reset     # Migrate and seed the database
mix phx.server     # Start the live reload server

For running the tests simply do

# Start db if it isn't running already
docker-compose up -d db

# Run tests
mix test


Some notes on how to deploy The application.

For deploying on k8s the files in k8s give an example of how to do so.

Make sure to set the FQDNs and the env vars correctly.

Docker deployment

To deploy in docker you can use docker-compose.yml like so.

# Build the container
docker build . -t dps

# Start the docker-compose db
docker-compose up -d db

# Setup schema
mix ecto.reset

# Start dps itself
docker-compose up -d dps

# Verify its working
curl localhost:4000

Running locally

To run the application locally in release mode do the following:

# Generate static digests (make sure to not commit these)
mix phx.digest

# Build the release
MIX_ENV=prod mix release

# Ensure database is populated
mix ecto.reset

# Run the program with correct parameters
DATABASE_URL=ecto://postgres:postgres@localhost/dps_prod \
RELEASE_COOKIE=secret-cookie \
SERVICE_NAME=localhost.svc \
APP_HOST=localhost \
APP_PORT=4000      \
PORT=4000 \
_build/prod/rel/dps/bin/dps start

Deployment References