philomena/README.md

54 lines
1.7 KiB
Markdown
Raw Normal View History

2019-08-15 02:32:32 +02:00
# Philomena
2019-12-21 22:20:13 +01:00
![Philomena](/assets/static/images/phoenix.svg)
2019-11-19 04:58:21 +01:00
2019-12-07 18:17:12 +01:00
## Getting started
2024-04-12 05:06:05 +02:00
On systems with `docker` and `docker compose` installed, the process should be as simple as:
2019-08-15 02:32:32 +02:00
2019-12-07 18:17:12 +01:00
```
2024-04-12 05:06:05 +02:00
docker compose build
docker compose up
2019-12-07 18:17:12 +01:00
```
2019-08-15 02:32:32 +02:00
2019-12-07 18:17:12 +01:00
If you use `podman` and `podman-compose` instead, the process for constructing a rootless container is nearly identical:
2019-08-15 02:32:32 +02:00
2019-12-07 18:17:12 +01:00
```
podman-compose build
podman-compose up
```
2019-08-15 02:32:32 +02:00
2021-09-30 21:10:09 +02:00
Once the application has started, navigate to http://localhost:8080 and login with admin@example.com / philomena123
## Troubleshooting
If you are running Docker on Windows and the application crashes immediately upon startup, please ensure that `autocrlf` is set to `false` in your Git config, and then re-clone the repository. Additionally, it is recommended that you allocate at least 4GB of RAM to your Docker VM.
If you run into an OpenSearch bootstrap error, you may need to increase your `max_map_count` on the host as follows:
2019-12-07 18:17:12 +01:00
```
sudo sysctl -w vm.max_map_count=262144
```
2019-08-15 02:32:32 +02:00
If you have SELinux enforcing (Fedora, Arch, others; manifests as a `Could not find a Mix.Project` error), you should run the following in the application directory on the host before proceeding:
2019-12-07 18:17:12 +01:00
```
chcon -Rt svirt_sandbox_file_t .
```
This allows Docker or Podman to bind mount the application directory into the containers.
If you are using a platform which uses cgroups v2 by default (Fedora 31+), use `podman` and `podman-compose`.
2019-12-07 18:17:12 +01:00
## Deployment
You need a key installed on the server you target, and the git remote installed in your ssh configuration.
git remote add production philomena@<serverip>:philomena/
The general syntax is:
git push production master
And if everything goes wrong:
git reset HEAD^ --hard
git push -f production master
(to be repeated until it works again)