skrytka-app/README.md
2023-03-18 10:45:29 +01:00

32 lines
2.0 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

![Logo skrytki](skrytka-small.png)
# skrytka.app
![Badge z licencją AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-9cf)
**Be aware that this app is not stable yet and new commits may introduce breaking changes**
To start this application you need to:
1. You can use `git clone https://github.com/Skrytka-App/Skrytka.App` to download this app.
2. Configure database
- Install PostgreSQL DBMS
- Setup some database and user with permissions to it
- Create .env file in the main directory and fill it in with fields DB_USER, DB_PASS, DB_HOST, DB_PORT, DB_NAME and COOKIE_SECRET. In case of confusion you may check exemplary .env file saved as .env.example in the root directory of this repository.
3. Run `npm install` in the main directory.
4. Run SQL migrations. To do that you should have knex installed globally too (npm install knex -g) and then execute `knex migrate:latest` in the root directory. For app to be usable it is also recommended to insert some data to the database.
- Note: Images should be added in media/images directory and image paths inserted into database should only contain part starting with images/ for example image may be uploaded at media/images/wozLEFT.webp and path in database should be images/wozLEFT.webp.
5. Run `npm install` in the client directory.
6. Run `npm build` in the client directory.
- You need to do this after every update of app's frontend (you can do it every time you pull new version of this app).
7. Run `npm start` in the main directory
8. App will run on localhost:5000
Note: pm2 or/and nginx may be used to run this app for production
## Updating
1. Stop the app. Execute `pm2 stop <your-app-name>` if you use pm2.
2. Use `git pull` to get latest changes.
3. Run `knex migrate:latest` in the root directory. Remember you need to have knex installed both globally and locally (it is in package.json so if you run `npm install` you will have it installed) to do that.
4. Go to client directory and enter `npm build`.
5. Start the app. If you use pm2, exectue `pm2 start <your-app-name>`.