Setup
- Install Docker Desktop
- Install Git
- Install .NET 9 SDK
- Clone daps (currently on Codeberg)
- Copy
daps.yaml.exampletodaps.yaml— this is your personal config file and is gitignored - Set up the
dapsmancommand (instructions below) - Set up a project (instructions below)
Setting up the dapsman command
Section titled “Setting up the dapsman command”Add <repo>/bin to your PATH once after cloning. The bin/ folder contains launcher scripts for each platform that delegate to dotnet run, so you always run from source without a separate build step.
Windows — add C:\path\to\daps\bin to your user PATH via System Properties, or for the current session:
$env:PATH += ";C:\path\to\daps\bin"Mac/Linux — make the script executable, then add to PATH:
chmod +x /path/to/daps/bin/dapsmanexport PATH="/path/to/daps/bin:$PATH" # add to ~/.zshrc or ~/.bashrc to persistAfter that, dapsman works from any directory.
Initializing a project from a template
Section titled “Initializing a project from a template”Daps has 2 templates currently, Wordpress (daps/templates/wordpress) and Grist (daps/templates/grist) — note both have readmes as well, worth looking at.
In this example I’ll create the Wordpress site at wp.dapster.org.
Assume that the setup steps above have been completed and Daps is cloned at C:\repos\daps.
- run init:
dapsman init --template wordpress --name dapster-wp --prod-url https://mywebsite.com- This creates a folder at
C:\repos\dapster-wp - it also replaces placeholder values in Caddy and Docker files for the project name and production URLs.
- see below for next steps if you omit the
--prod-urlswitch
- This creates a folder at
- run local build:
dapsman local build- dapsman will try to update your local
hostsfile to add this entry, but if you’re not running as administrator you will need to do it manually:127.0.0.1 dapster-wp.localhost - you may need to run
dapsman local caddy restartdepending on whether you’re adding a project to an existing setup
- dapsman will try to update your local
- visit
https://dapster-wp.localhostand set up your local Wordpress installation (e.g. themes, plugins, posts, etc.)
For production, see Deployment.
Omitting the —prod-url switch
Section titled “Omitting the —prod-url switch”If you run init without specifying the production URL, you’ll need to edit some files manually:
- edit caddy site files
- Open
C\repos\dapster-wp\_caddy_sites\dapster-wp.prod.caddyanddapster-wp.offline.caddy - replace text of
dapster-wp.example.comwith the actual domain, e.g.wp.dapster.org
- Open
- edit docker files
- Open
C\repos\dapster-wp\_docker\compose_dapster-wp.prod.yaml - set
WP_HOMEandWP_SITEURLURLs tohttps://wp.dapster.org
- Open
Initializing a project without a template
Section titled “Initializing a project without a template”TODO