README.md 3.31 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

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

14 15 16
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.
17 18 19

## Getting started

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

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

Emma's avatar
Emma committed
24 25 26 27
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
28 29 30

### Setting up the backend

Emma's avatar
Emma committed
31 32 33 34
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`.
35

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

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

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

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

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

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

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

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

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

Emma's avatar
Emma committed
58 59 60 61 62 63
* 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.
64

Emma's avatar
Emma committed
65 66
## Contributions

Emma's avatar
Emma committed
67 68 69 70 71 72 73
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
74

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

Emma's avatar
Emma committed
78 79 80 81 82 83
## 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
84 85
## License

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


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