skrytka-app/README.md

32 lines
2.0 KiB
Markdown
Raw Normal View History

2023-03-12 14:08:35 +00:00
![Logo skrytki](skrytka-small.png)
2023-02-27 15:56:13 +00:00
# skrytka.app
2023-03-12 14:08:35 +00:00
![Badge z licencją AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-9cf)
2023-03-13 19:25:16 +00:00
**Be aware that this app is not stable yet and new commits may introduce breaking changes**
2023-02-27 15:56:13 +00:00
To start this application you need to:
2023-03-15 15:57:37 +00:00
2023-03-18 08:15:10 +00:00
1. You can use `git clone https://github.com/Skrytka-App/Skrytka.App` to download this app.
2. Configure database
2023-02-27 15:56:13 +00:00
- Install PostgreSQL DBMS
- Setup some database and user with permissions to it
2023-03-15 15:57:37 +00:00
- 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.
2023-03-18 09:45:29 +00:00
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.
2023-03-18 08:15:10 +00:00
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).
2023-03-18 08:15:10 +00:00
7. Run `npm start` in the main directory
8. App will run on localhost:5000
2023-03-15 15:57:37 +00:00
Note: pm2 or/and nginx may be used to run this app for production
2023-03-18 08:15:10 +00:00
## Updating
1. Stop the app. Execute `pm2 stop <your-app-name>` if you use pm2.
2. Use `git pull` to get latest changes.
2023-03-18 09:45:29 +00:00
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.
2023-03-18 08:15:10 +00:00
4. Go to client directory and enter `npm build`.
5. Start the app. If you use pm2, exectue `pm2 start <your-app-name>`.