-
Notifications
You must be signed in to change notification settings - Fork 0
Home
- Scaffold minimal/bare app skeleton
docker run --rm -v ${PWD}:/app ghcr.io/sgohl/wish:main bash -c 'cp -Rfv /www/app /app ; chmod -R 777 /app'- Use this example
compose.ymlto begin
version: '2.4'
x-image: &IMAGE "ghcr.io/sgohl/wish:main"
x-appname: &APPNAME "myapp"
services:
*APPNAME:
container_name: *APPNAME
stop_signal: "9"
image: *IMAGE
volumes:
- ./app:/www/app
ports:
- "80:80"
- "5000:5000"
environment:
APPNAME: "*APPNAME"
#env_file:
#- .env- start container
docker compose up -d
The plug folder in your app provides a way to outsource sub-apps to a limited extent.
Currently, the following resources are provided:
- pages
- fragments
- lib
- static
- bin
For views, there was an ambiguity problem I couldn't solve so I decided to not support views directly, but if you really want to use a plug view, you can create a main view and use the Render function to yield the plug view.
Currently, I don't see a nice and clean way to support multiple response headers (per page request), since HTTP excepts two empty new lines to terminate the headers from the body/response which prevents from providing a function to add an arbitrary number of headers because it won't know when no more headers come.
You may print your headers yourself and make sure that no body is written before your own two empty lines.
The only header that is set here is set-cookie within the Session function to let browser set the cookie after Login.
Of course, Bash does not provide namespaces by itself. There was a discussion about prefixing the app's functions with a name and some separator, but I like the simplicity of the current naming convention. However, nobody stops you from using a prefix in your app so you may never collide with the main app or another app or plug.