improvement: simplify local development by replacing external services with Docker alternativess
I maintainer di solito rispondono entro 3 giorni
@parthjadhao01 ci sta già lavorando.
Dal 30/5/2026.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- docker, javascript
- Ambito
- developer-experience, devops, infrastructure
Direzione di ricerca
Inizia da docker-compose-development.yml, contributor_docs/installation.md, contributor_docs/s3_configuration.md e server/utils/mail.ts. Esegui la configurazione Compose di sviluppo esistente e traccia i percorsi di configurazione degli upload e delle e-mail. Il lavoro è completato quando lo sviluppo locale può usare i servizi Docker documentati senza credenziali AWS o Mailgun, mantenendo invariato il comportamento in produzione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Increasing Access
This improvement increases access by lowering the barrier for new contributors
to set up a local development environment. Currently, contributing to features
like file uploads or email verification requires creating AWS and Mailgun
accounts — both of which may require credit cards and can be confusing for
first-time open source contributors, students, or people in regions where
these services are restricted.
By replacing these with zero-config Docker alternatives (MinIO for S3, MailHog
for email), any contributor can run the full application locally with a single
docker compose up — no accounts, no credit cards, no 30-minute setup detours.
Feature enhancement details
Problem
Setting up the p5.js Web Editor for local development currently requires
creating accounts and generating API keys for external paid/third-party
services .This creates unnecessary
friction for contributors.
The two biggest pain points are:
1. AWS S3 (file uploads)
The contributor_docs/s3_configuration.md guide requires contributors to:
- Create an AWS account
- Create an S3 bucket
- Configure bucket CORS policy
- Create an IAM user with S3 permissions
- Generate and copy access keys into
.env
This is a ~30-45 minute detour just to test the file upload feature locally.
2. Mailgun (email)
Email features (signup verification, password reset) require:
- Creating a Mailgun account
- Registering and verifying a domain
- Generating an API key
Currently server/utils/mail.ts throws an error at startup if
MAILGUN_KEY is missing, meaning contributors working on unrelated
features still cannot run the server without a Mailgun key.
Proposed Solution
Add local service alternatives to docker-compose-development.yml that
require zero external accounts:
S3 → MinIO
MinIO is a fully S3-compatible object storage server
that runs in Docker. The existing AWS SDK code works with it unchanged —
only the endpoint needs to point to the local container.
minio:
image: minio/minio
command: server /data --console-address ":9001"
ports:
- '9000:9000'
- '9001:9001'
environment:
- MINIO_ROOT_USER=minioadmin
- MINIO_ROOT_PASSWORD=minioadmin
volumes:
- miniodata:/data
.env.example defaults for local dev:
AWS_ACCESS_KEY=minioadmin
AWS_SECRET_KEY=minioadmin
AWS_REGION=us-east-1
S3_BUCKET=p5-local
S3_ENDPOINT=http://minio:9000
S3_BUCKET_URL_BASE=http://localhost:9000/p5-local
A small init script or startup instructions in the docs would handle
bucket creation and CORS on first run via the MinIO console at
http://localhost:9001.
Mailgun → MailHog
MailHog is a local SMTP server
that captures all outgoing emails and displays them in a web UI at
http://localhost:8025. No emails are actually sent.
mailhog:
image: mailhog/mailhog
ports:
- '1025:1025' # SMTP
- '8025:8025' # Web UI
server/utils/mail.ts would need a small change to use SMTP transport
when a SMTP_HOST env var is set, falling back to Mailgun in production:
SMTP_HOST=mailhog
SMTP_PORT=1025
Benefits
- New contributors can run the full application including uploads and
email with a single docker compose up - No AWS account, no Mailgun account, no credit card required
- Production behavior is unchanged — these are dev-only defaults
- Significantly lowers the barrier for first-time contributors
Related Files
- contributor_docs/installation.md
- contributor_docs/s3_configuration.md
- server/utils/mail.ts
- docker-compose-development.yml
- Lingua principale
- JavaScript
- Stelle
- 1.7k
- Fork
- 1.7k
- Merge medio
- 2g 7h
- PR unite (30g)
- 8
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di processing/p5.js-web-editor
-
Renaming a folder doubles the folder name in file paths (console errors show /lib/lib/helper.js)ApertaAwaiting Maintainer Approval Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
processing/p5.js-web-editor#4365 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
p5 logo is broken on verification emailsForse già presa @sourabh65mehta l’ha presa 11 giorni fa. ApertaBug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
processing/p5.js-web-editor#4364 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 3 giorni
-
`PATCH /editor/project/visibility` returns 200 with `null` and doesn't update when `projectId` is a slugForse di nuovo libera @Prbhtsgh l’ha presa 18 giorni fa e non c’è nessuna pull request aperta. ApertaAwaiting Maintainer Approval Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
processing/p5.js-web-editor#4348 · 3 commenti ·
I maintainer di solito rispondono entro 3 giorni
-
Fix: example.js stores defaultHTML function reference instead of calling it, causing examples to display raw JavaScript source in previewForse di nuovo libera @syedbarkath980 l’ha presa 22 giorni fa e non c’è nessuna pull request aperta. ApertaAwaiting Maintainer Approval Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
processing/p5.js-web-editor#4344 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
signup form gets stuck when signup request fails due to network errorForse già presa @PS01K l’ha presa 52 giorni fa. ApertaAwaiting Maintainer Approval Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
processing/p5.js-web-editor#4285 · 3 commenti ·
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di processing/p5.js-web-editor
Issue simili
-
enhancement p2 setup
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
vercel/eve#5419 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Query Log shows "Upstream" for CNAME cloaking, schedule, NXDOMAIN hijack and response IP blocksApertabug good first issue query-log web
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
ferrous-networking/ferrous-dns#326 ·
I maintainer di solito rispondono entro 1 giorno
-
type: typos
Difficoltà 1/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 4 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
Ylianst/MeshCentral#8294 ·
I maintainer di solito rispondono entro 1 giorno