Minimal filesystem based web notepad with versioning, multiple formats and
sharing. Data is stored directly on the filesystem making backups easy,
searching as simple as a grep
and limiting runtime dependencies to PHP.
Powered by Symfony on the backend with React, TypeScript, and BlueprintJS on the frontend.
These are roughly in order of increasing complexity where both the Docker
setup and the artifact download produce production builds and require
setting APP_ENV=prod
.
- Install Docker.
- Download/clone source from GitHub.
- Copy
.env.dist
to.env
and edit settings. - Run
docker build -t web2fs-notepad .
- Run
docker run -d -p 8080:80 -v note-data:/app/var/data web2fs-notepad
to serve on port8080
and use the persistentnote-data
volume.
- Install PHP 7.4.3+.
- Download and extract a
dist.tar.gz
from a GitHub release or CircleCI build. - Copy
.env.dist
to.env
and edit settings. - Point your web server with PHP support to
/public
.
Run ./bin/update release_version|circle_build_number
to update your
deployment (CircleCI artifact download has a runtime dependency on jq
).
- Install PHP 7.4.3+.
- Install
yarn
andcomposer
. - Download/clone source from GitHub.
- Copy
.env.dist
to.env
and edit settings. - Run
./bin/install
. - Point your web server with PHP support to
/public
.
If you're building for production, also run
composer dump-autoload --optimize
.
N.B. The PHP iconv
and ctype
extensions are required and are installed
by default in most environments.
Use the local build instructions above to install dependencies. Then, start
the development web server using ./bin/console server:run
.
Run tests and linters using ./bin/test
. CircleCI powers CI and mirrors
the test script's actions.
Autofix errors from Prettier, ESLint, Stylelint, and
PHP_CodeSniffer using ./bin/fix
.