1
1
Fork 0
deployed-nixos-server-and-apps/nixos-apps/cutesealfanpage.love
Bill Ewanick 1ac23158c8 Add seal images back 2023-08-12 10:28:11 -04:00
..
.vscode Add seal site partial 2023-08-12 10:28:01 -04:00
css Add seal site partial 2023-08-12 10:28:01 -04:00
images Add seal images back 2023-08-12 10:28:11 -04:00
templates Add seal site partial 2023-08-12 10:28:01 -04:00
.envrc Add seal site partial 2023-08-12 10:28:01 -04:00
.gitconfig Add seal site partial 2023-08-12 10:28:01 -04:00
.gitignore Add seal site partial 2023-08-12 10:28:01 -04:00
README.md Add seal site partial 2023-08-12 10:28:01 -04:00
about.rst Add seal site partial 2023-08-12 10:28:01 -04:00
config.dhall Add seal site partial 2023-08-12 10:28:01 -04:00
contact.markdown Add seal site partial 2023-08-12 10:28:01 -04:00
flake.lock Add seal site partial 2023-08-12 10:28:01 -04:00
flake.nix Add seal site partial 2023-08-12 10:28:01 -04:00
index.html Add seal site partial 2023-08-12 10:28:01 -04:00
site.hs Add seal site partial 2023-08-12 10:28:01 -04:00
website.cabal Add seal site partial 2023-08-12 10:28:01 -04:00

README.md

Cute Seal Fanpage

An experiment using Nix, Hakyll, Haskell, and shell scripts to automate a simple website deployment pipeline.

Why Seals?

It's an in-joke.

What's all this code?

seal-blog/

  • devops/

    • build.sh

      • Uses a nix-shell expression to build the Hakyll executable
    • configuration.nix

    • newSealPost.sh

      • Script to be called daily by a cron job on the server. Generates the post for the day, builds and commits.
  • website/

    • A basic Hakyll site, slightly modified to serve seals. Most of the site is generated from the site.hs file. Check the Hakyll documentation for more info.

Work to be done

  • The blog post generation and the hosting of the website are currently intertwined when they should be separated
    • Seal post generator just makes posts
    • Hakyll blog imports or calls the post generator
    • The deployed server/nix config file has a cron job for adding a new blog and committing every day
  • Need to move the blog and post generation inside nixos-apps on my beefier server
    • The configuration file here is for it's own Linode, the current small one running, but I have a better setup for that now
    • Pull out the useful parts for my deployed server, remove anything not necessary for a small config file
    • Also switch to using caddy if not already
  • Experiment with * A records
    • For the seal blog
    • Instead of having www and git and ... subdomains spelled out in Namecheap
    • Just have a * record and have caddy do the filtering