Find a file
2019-12-07 18:25:21 -05:00
assets Merge remote-tracking branch 'origin/staff-tools' 2019-12-06 17:57:26 -05:00
config add extra applications and post-receive hook 2019-12-07 13:00:31 -05:00
docker fix non-podman setup 2019-12-03 17:56:26 -05:00
lib fix warning 2019-12-07 18:25:21 -05:00
priv update stats counters when specific actions are taken 2019-12-05 14:23:26 -05:00
rel use fixed version and emulator reboots for now 2019-12-07 13:58:45 -05:00
test user links 2019-12-04 09:04:25 -05:00
.formatter.exs initial 2019-08-14 20:32:32 -04:00
.gitignore primitive sign in 2019-10-31 13:57:39 -04:00
.iex.exs galleries index 2019-11-17 23:47:09 -05:00
docker-compose.yml refactor processor architecture 2019-12-07 00:49:20 -05:00
LICENSE add totp & registration freeze 2019-08-17 18:06:11 -04:00
mix.exs use fixed version and emulator reboots for now 2019-12-07 13:58:45 -05:00
mix.lock add missing file roots 2019-12-07 10:16:59 -05:00
post-receive use fixed version and emulator reboots for now 2019-12-07 13:58:45 -05:00
README.md add release config 2019-12-07 12:17:12 -05:00

Philomena

Next generation imageboard.

Getting started

On systems with docker and docker-compose installed, the process should be as simple as:

docker-compose build
docker-compose up

If you use podman and podman-compose instead, the process for constructing a rootless container is nearly identical:

podman-compose build
podman-compose up

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

If you have SELinux enforcing, you should run the following in the application directory on the host before proceeding:

chcon -Rt svirt_sandbox_file_t .

This allows Docker or Podman to bind mount the application directory into the containers.

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)