Commit Graph

108 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
6cac8d2c45 docs: add documentation on openresty includes 2023-11-03 04:17:17 -04:00
Jose Diaz-Gonzalez
f780a8a6f8 docs: fix shell output 2023-08-19 15:04:25 -04:00
Jose Diaz-Gonzalez
d61d91cf87 docs: use github admonitions
These still need to be properly parsed.
2023-08-19 14:24:12 -04:00
Jose Diaz-Gonzalez
5dd78e2b86 docs: update markdownlint rules for better formatting 2023-08-19 13:46:42 -04:00
Jose Diaz-Gonzalez
625ea14c8f feat: add openresty proxy implementation
This plugin is mostly compatible with the nginx plugin, but runs the proxy within a docker container. Users do not have direct access to add custom openresty configuration at this time, but instead receive the ability to setup automatic ssl on first request via letsencrypt integration.
2023-08-05 20:59:01 -04:00
Jose Diaz-Gonzalez
7f7a044a07 docs: clean up references in proxy plugins 2023-08-05 11:07:55 -04:00
Jose Diaz-Gonzalez
f8ccf52079 refactor: only use detected port mapping if override is not specified
Previously, we would always set the port mapping during a dockerfile build, making it difficult for users to override mappings. We also only _sometimes_ updated the detected port mapping, further confusing issues when users were migrating from Dockerfile to Buildpacks for builds.

Now, we always detect the port mapping during the build process, and only use that detected port mapping if an override is not specified. This greatly simplifies the experience around port mapping, as now a user can create an app, set a port mapping, and that first deploy will respect the port mapping without an additional deploy.

The builder always has the best context for what the app should be listening on, and thus we can always specify a "default" port mapping at this stage. Users can override this map as desired later.

This change also results in the removal of a ton of internal code that is now centralized in the ports plugin.

Closes #4067
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
4bc3de5540 feat: write auto-detected port mappings during a deploy
During an app build, we now auto-detect ports based on the source code. This is usually http:80:5000, with Dockerfile-based deploys having their ports extracted from the docker image or Dockerfile. Additionally, we add an https:443 mapping for any detected http:80 mapping when there is an ssl certificate, and all http port mappings are transformed to https mappings for Dockerfile-based deploys.

While the ports aren't currently consumed, a future refactor will provide the ability to fallback to the new detected ports when there is no user-specified port mapping.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
b44be8def9 refactor: rename port-map property to port 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
f842869c3d refactor: move the proxy port map from config to property
Also remove all direct references to DOKKU_PROXY_PORT_MAP from outside of ports.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
64f0f2674d refactor: move all port management code to standalone ports plugin
This change makes interacting with port mappings more clear - folks might previously set the port mapping to the proxy type or vice-versa.

The existing proxy:ports* commands still exist but will show a deprecation warning for a single minor release.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
60b343470b feat: add support for specifying multiple networks on a given app
Closes #5314
2023-08-05 10:58:46 -04:00
Jose Diaz-Gonzalez
d609299f3b Merge pull request #6068 from nickgal/patch-1
Fix typo in port management docs
2023-07-28 16:54:03 -04:00
Nick Gal
1accac821c Update port-management.md
Fix typo in command
2023-07-28 13:44:58 -07:00
Pablo Castellano
dcb2f2d0a7 Fix mistake in nginx.md 2023-07-28 13:31:52 +02:00
Jose Diaz-Gonzalez
73f61b75d5 docs: update docs to mention that files are extracted from source where source code is available
Recent Dokku changes invalidate a bunch of docs around where files need to be placed in order for Dokku to respect them. This doc change clarifies where files are extracted from in cases where source code is available, which should hopefully make users less confused about how the system works.

See https://railsnotes.xyz/blog/deploying-ruby-on-rails-with-dokku-redis-sidekiq-arm-docker-hetzner for the inspiration - I was reading through it and was like 'these docs are definitely incorrect...'.
2023-07-01 08:58:43 -04:00
Jose Diaz-Gonzalez
de09675d85 docs: add a note for each network type mentioning when they are best used 2023-06-16 23:40:38 -04:00
Arad Alvand
76674ec941 Add link to X-Forwarded-* docs in ssl.md 2023-06-14 07:50:55 +03:30
Arad Alvand
f452e9af89 Improve docs about X-Forwarded-* headers and move it to nginx.md 2023-06-13 14:46:31 +03:30
josegonzalez
11ab7e4442 Merge pull request #5719 from TkTech/udp_example
Give a quick example of what to do after disabling the proxy to expos…
2023-03-14 02:17:44 -04:00
josegonzalez
12f0498af8 docs: remove extra backtick from nginx docs 2023-03-11 14:18:45 -05:00
Tyler Kennedy
b229065fc5 Give a quick example of what to do after disabling the proxy to expose a UDP port. 2023-03-03 12:43:38 -05:00
Jose Diaz-Gonzalez
d1c4cc89bf docs: fix plugin name in haproxy docs 2023-02-11 20:55:59 -05:00
Jose Diaz-Gonzalez
78d66dc68a docs: note that https:443 is now supported 2023-02-11 17:40:05 -05:00
Jose Diaz-Gonzalez
cbd3c43176 feat: add letsencrypt support to haproxy plugin 2023-02-11 06:22:02 -05:00
Jose Diaz-Gonzalez
fd09beaf48 feat: add the ability to set the haproxy log level 2023-02-11 06:08:56 -05:00
Jose Diaz-Gonzalez
44543c979a docs: add requirement for docker-compose-plugin 2023-02-11 06:08:56 -05:00
Jose Diaz-Gonzalez
237aae9eec feat: first pass at haproxy plugin implementation 2023-02-11 06:08:56 -05:00
josegonzalez
697239b508 docs: add a note mentioning that network aliases only work when attached to a network other than bridge 2023-02-07 08:10:28 -05:00
josegonzalez
01cf2615bf docs: update list indentation explaining network property utilization 2023-02-07 02:30:00 -05:00
Jose Diaz-Gonzalez
fcb25e1842 chore: remove references to ubuntu 18.04 ahead of EOL
While we will still build for 18.04, we will now stop testing against it. Instead, we will test against 20.04, the next EOL release after 18.04.

Once Ubuntu 18.04 is EOL, any references to it will also be removed.

Note that 18.04 support was already deprecated in Dokku 0.28.0, so this change is just acknowledging that deprecation.
2023-01-16 01:39:59 -05:00
josegonzalez
f4be860867 docs: fix the image and app reference for service proxying 2023-01-14 23:17:48 -05:00
Jose Diaz-Gonzalez
b846248064 docs: document how to route to server-local apps via a service proxy
The previous static-web-listener network property doesn't work with caddy and traefik as resolution of requests works quite differently given that they only proxy to docker containers. The new method uses the dokku/service-proxy docker image to proxy requests in a lightweight manner.

Closes #5409
Closes #5586
2023-01-14 22:53:34 -05:00
Nicolas Le Manchet
7dfb897b69 docs: improve instructions for disabling the default nginx site
The previous instructions for disabling the default site left things in
an in-between state: it still returned an error page and did not disable
the default HTTPS site unless the user figured out how to generate
a valid SSL certificate.

The changes made in this commit assume that the user actively disabling
the default site considers all requests to unknown vhosts as bogus.
Therefore there is no point in responding and providing a valid SSL
certificate to them.

As such, the recommended error code is now `444` to close the connection
without responding and the HTTPS default site is disabled with
a self-signed certificate.

Also as all distributions supported by Dokku use systemd, make use of it
instead of the legacy `service` command which does not work anymore on
some distributions like Arch.
2023-01-14 14:06:54 +01:00
Kurtis Jensen
966daac040 addresses feedback on docs 2023-01-02 04:48:02 +00:00
Kurtis Jensen
60d1422b26 wording update 2023-01-02 03:53:18 +00:00
Kurtis Jensen
f0e87d2226 adds note about default nginx site 2023-01-02 03:49:29 +00:00
josegonzalez
84a727a3aa Document potential deployment downtime
Closes #5435
2022-12-01 22:38:32 -05:00
Jose Diaz-Gonzalez
e26b0ba1db feat: add ability to set a custom priority for traefik routing rules 2022-11-27 22:23:06 -05:00
josegonzalez
c29967eaa5 Merge pull request #5480 from dokku/5112-procfile-cleanup
Cleanup zero'd out processes when a Procfile omitting those process types is set
2022-11-27 16:13:44 -05:00
Jose Diaz-Gonzalez
b91b8adf4d docs: remove extra whitespace 2022-11-25 19:58:37 -05:00
Jonathan M. Hethey
345e28891e fix minor typos in proxy docs 2022-11-25 23:59:15 +01:00
Jose Diaz-Gonzalez
f4913e1bf5 docs: add monorepo reference to nginx docs 2022-11-25 17:40:38 -05:00
Jose Diaz-Gonzalez
17814d4847 refactor: only extract the nginx.conf.sigil from the source code and not an app path
The previous method was a bit more difficult for users to interact with as they needed to ensure the file was at a certain path in the built image. This change divorces the file from the built artifact, better aligning the nginx.conf.sigil handling with the rest of Dokku's monorepo support.

A side effect of this is now building proxy configurations does not require access to the built image.

Closes #5207
2022-11-23 19:32:53 -05:00
Jose Diaz-Gonzalez
b475b4de5b Merge pull request #5430 from pablobm/clarify-config-build
Clarify that proxy:build-config is required for any nginx:set call
2022-11-07 21:54:17 -05:00
Jose Diaz-Gonzalez
e8fad562d6 docs: add a note for every nginx:set command 2022-11-07 21:53:49 -05:00
Jose Diaz-Gonzalez
9bd927a598 docs: fix compose install link
The old link broke. Might be worth running some sort of linter for broken links in our documentation.
2022-11-05 23:44:51 -04:00
Pablo Brasero
4fd0b586b0 Applies to all hsts* values, per-app & globally 2022-10-27 22:05:41 +01:00
Pablo Brasero
3d252cc930 Clarify details of the default template 2022-10-27 15:45:32 +01:00
Jose Diaz-Gonzalez
47c1bfe26d docs: rename upgrading index to allow supporting navigation indexes 2022-09-05 17:18:00 -04:00