README.md 3.32 KB
Newer Older
1
# ![](docs/assets/postmill-128.png) Postmill
2

3 4 5 6
**Postmill** is a free, web-based, social link aggregator with voting and
threaded comments. It is built on the [Symfony](https://symfony.com/) framework.
Any similarities between this software and that of a large community symbolised
by an alien logo are purely coincidental.
Emma's avatar
Emma committed
7

8 9
## Requirements

Emma's avatar
Emma committed
10 11
* PHP >= 7.1 with the curl, gd, iconv, intl, json, mbstring, PDO_PGSQL and xml
  extensions.
Emma's avatar
Emma committed
12
* PostgreSQL >= 9.4
13 14
* [Composer](https://getcomposer.org/)

15 16 17
Postmill should be able to run under any Unix environment. It has been tested to
work under Linux, macOS, and Windows 10's Linux subsystem. Running directly on
Windows may work, but is unsupported.
18 19 20

## Getting started

Emma's avatar
Emma committed
21 22
Clone the repository somewhere and navigate there with the command line.

Emma's avatar
Emma committed
23
### Retrieving frontend assets
Emma's avatar
Emma committed
24

Emma's avatar
Emma committed
25 26 27 28
Download [the pre-built assets][assets] and unzip them into the `public/build`
folder such that this contains a large amount of files. Alternatively, you may
install Node and compile your own assets with `npm run build-dev`/`npm run
build-prod`.
Emma's avatar
Emma committed
29 30 31

### Setting up the backend

Emma's avatar
Emma committed
32 33 34 35
1.  Run `composer install`.

2.  You should now have a `.env` file in the project root. Edit this to your
    liking or leave the defaults alone, but you *must* change `DATABASE_URL`.
36

37 38 39
    Instructions for setting up a database can be found at
    [docs/database-setup.md](docs/database-setup.md).

Emma's avatar
Emma committed
40 41
3.  Run `vendor/bin/requirements-checker` to ensure your environment meets
    necessary requirements needed to run Postmill. Fix any errors that arise.
42

Emma's avatar
Emma committed
43
4.  Run `bin/console doctrine:migrations:migrate` to load the database schema.
44

Emma's avatar
Emma committed
45
5.  Run `bin/console app:user:add <username> --admin` to create a user account.
46

Emma's avatar
Emma committed
47
6.  Run `bin/console server:run` to start the application.
48

Emma's avatar
Emma committed
49 50
7.  Navigate to <http://localhost:8000/>. Log in with the credentials you chose
    in step 2.
51

Emma's avatar
Emma committed
52 53 54 55
## Support

We have a [support board][support] and a [Matrix channel][matrix] where you can
ask for help and support.
56

Emma's avatar
Emma committed
57
## Reporting issues
58

Emma's avatar
Emma committed
59 60 61 62 63 64
* Bugs and suggestions on how to improve existing functionality should be
  reported on the [issue tracker][issues].
* Feature requests are no longer acceptable on the issue tracker--I will not do
  free work for you.
* Support questions do not belong on the issue tracker. Use the aforementioned
  public support channels.
65

Emma's avatar
Emma committed
66 67
## Contributions

Emma's avatar
Emma committed
68 69 70 71 72 73 74
You are always welcome to submit merge requests for bug fixes, improvements,
documentation, translations, and so on.

If you want to contribute a new feature, you should start an issue on the issue
tracker to gauge the possibility of it being merged. A feature that's outside
the scope of the software is likely to be rejected. We don't want hurt feelings,
so please just ask beforehand.
Emma's avatar
Emma committed
75

Emma's avatar
Emma committed
76 77 78
If you'd like to support me with money, you can send Bitcoins to
`1AXAH2ZaHfVsq2xnbXRN9497FpUAri8x72`.

Emma's avatar
Emma committed
79 80 81 82 83 84
## Contact

You can email emma1312@protonmail.ch to discuss something in private with the
creator of the software. **Do not email me for asking for support**--use the
public support channels instead.

Emma's avatar
Emma committed
85 86
## License

87
The software is released under the zlib license. See the `LICENSE` file for
Emma's avatar
Emma committed
88
details.
89 90


91
[issues]: https://gitlab.com/edgyemma/Postmill/issues
92
[matrix]: https://matrix.to/#/#postmill:matrix.org
Emma's avatar
Emma committed
93
[support]: https://community.postmill.xyz/f/Support
Emma's avatar
Emma committed
94
[assets]: https://gitlab.com/edgyemma/Postmill/-/jobs/artifacts/master/download?job=build-assets%3Aprod