Skip to content

Add docker-compose method for developing website#3078

Open
CannonLock wants to merge 2 commits intoPelicanPlatform:mainfrom
CannonLock:web-docker-compose
Open

Add docker-compose method for developing website#3078
CannonLock wants to merge 2 commits intoPelicanPlatform:mainfrom
CannonLock:web-docker-compose

Conversation

@CannonLock
Copy link
Contributor

Adds a docker compose file to simplify the setup and running of the the api and reverse proxy when you are developing the frontend.

Adds a docker compose file to simplify the setup and running of the the api and reverse proxy when you are developing the frontend.

Signed-off-by: clock <clock@wisc.edu>
@CannonLock CannonLock requested a review from h2zh February 5, 2026 18:29
@CannonLock CannonLock linked an issue Feb 5, 2026 that may be closed by this pull request
@CannonLock CannonLock assigned h2zh and unassigned h2zh Feb 5, 2026
@CannonLock CannonLock added internal Internal code improvements, not user-facing labels Feb 5, 2026
Adds a docker compose file to simplify the setup and running of the the api and reverse proxy when you are developing the frontend.

Signed-off-by: clock <clock@wisc.edu>
Copy link
Contributor

@h2zh h2zh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feature will be a big win for the development process! Though I'm not able to run docker compose run pelican-builder successfully yet, I got enough materials to raise a review ha

```

Then run the following command to start the website and the proxy.
To develop the Pelican frontend you must run the backend in a separately, as well as set up a proxy to serve your backend and frontend requests from the same host.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in a separately <?>
Poor word being captured by the alien.

```

If you would like to proxy the prometheus requests to another service you can do so by filling out .env.template and placing it as .env.local. Then run the docker statement like so to add those variables to the container.
If you would like to proxy the prometheus requests to another service you can do so by filling out .env.template and placing it as .env.local.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you provide an example/template for this addition?

- '8444:8444'
working_dir: /app
volumes:
- ../../dist/pelican_linux_arm64_v8.0/:/app
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This directory only exists in ARM64. Could you add a comment here to remind the user to replace it in other environments?

ports:
- '8443:8443'
env_file:
- ./dev/.env.local
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is not in the repo. Could you add a comment here to remind the user this config is optional? Also prompt user to look at the template you provided for this file in the writeup markdown.

working_dir: /app
volumes:
- ../../:/app
command: --clean --snapshot --config .goreleaser.dev.yml
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.goreleaser.dev.yml is not in this directory. Could you add this file to Git?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal Internal code improvements, not user-facing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve Web Development Environment

2 participants