Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

improvement: simplify local development by replacing external services with Docker alternativess

Aperta
#4,138 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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

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

Area: Documentation Enhancement Needs Discussion
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

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di processing/p5.js-web-editor

Tutte le issue di processing/p5.js-web-editor

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.