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
2019-12-28 04:40:47 +01:00
## 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.
2019-12-07 18:17:12 +01:00
If you run into an Elasticsearch bootstrap error, you may need to increase your `max_map_count` on the host as follows:
```
sudo sysctl -w vm.max_map_count=262144
```
2019-08-15 02:32:32 +02:00
2020-11-05 22:15:55 +01: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.
2020-11-05 22:15:55 +01:00
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)