Skip to content

Add Docker-based development/test setup - #786

Open
lfos wants to merge 1 commit into
archlinux:masterfrom
lfos:docker
Open

lfos wants to merge 1 commit into
archlinux:masterfrom
lfos:docker

Conversation

@lfos

@lfos lfos commented Nov 11, 2026

Copy link
Copy Markdown
Member

Allows for easily running an archweb development locally with a single command.

Allows for easily running an archweb development locally with a single
command.

@jelly jelly left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'm a bit on the fence but I suppose folks like to use containerized workflows so why not, but lets keep it vendor neutral.

Comment thread .dockerignore
*.db
collected_static
htmlcov
**/__pycache__

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is sadly not vendor neutral, there is containerignore but ofcourse docker does not support that....

Comment thread Dockerfile
COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-install-project

COPY . .

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

So I suppose this is why you neeed the .dockerignore? As you copy the whole working directory over?

Comment thread README.md

# Testing Installation

## Docker (recommended)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why is this recommended? I would like to use Podman instead for example.

Comment thread Dockerfile
@@ -0,0 +1,26 @@
FROM archlinux:latest

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This should be a Containerfile, which both podman/docker should support.

Comment thread README.md
See step 8 of the local installation below for customization notes.

All data is stored inside the container and is lost when the container is
removed.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Maybe it is useful to keep the DB around or allow bind mounting it?

@lfos

lfos commented Nov 12, 2026

Copy link
Copy Markdown
Member Author

I'm a bit on the fence but I suppose folks like to use containerized workflows so why not, but lets keep it vendor neutral.

I think it's very useful to have some way of running the whole project with as few steps as possible and as little "pollution" as possible to make it more likely for one-time contributors to submit small fixes/improvements. I don't think the exact technology matters too much, as long as it's somewhat widespread and achieves the goals of being quick and isolated.

@jelly - Before I address the other comments, let me know if you agree/disagree with this in general -- I think having this would benefit the project but I'm happy to keep the setup locally instead.

@jelly

jelly commented Nov 13, 2026

Copy link
Copy Markdown
Member

I'm a bit on the fence but I suppose folks like to use containerized workflows so why not, but lets keep it vendor neutral.

I think it's very useful to have some way of running the whole project with as few steps as possible and as little "pollution" as possible to make it more likely for one-time contributors to submit small fixes/improvements. I don't think the exact technology matters too much, as long as it's somewhat widespread and achieves the goals of being quick and isolated.

I didn't say I was against it, it should however not be docker specific if it can be.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants