diff --git a/README.org b/README.org new file mode 100644 index 0000000..6888b26 --- /dev/null +++ b/README.org @@ -0,0 +1,45 @@ +#+#+title: Solarpunk Mastodon + +The solarpunk.moe mastodon configuration and customizations. + +* Build + +Building the project requires a couple of steps. + +** Copy files +To build, copy the content of this folder to a copy of the mastodon source code, then =docker compose build=. + +Assuming that your local mastodon checkout is located at =~/src/mastodon=, you can run the following from this project folder: + +#+begin_src sh + SOLARPUNK_REPO=$PWD + MASTODON_REPO=$HOME/src/mastodon + + cp -r $SOLARPUNK_REPO/* $MASTODON_REPO/ + cp -r $SOLARPUNK_REPO/.env.production $MASTODON_REPO/ +#+end_src + +Should you have your mastodon checkout in a different location, set =MASTODON_REPO= to that location. + +** Build docker images + +After copying the files, we can build the docker images with: + +#+begin_src sh + cd $MASTODON_REPO + docker compose build +#+end_src + +* WIP Running mastodon + +To run the instance, follow these steps: + +*Going to need vv to fill this part out.* + +** TODO Set up external networks + +** TODO Set up reverse proxy + +** TODO Set up cert-bot + +** TODO Run containers diff --git a/docker-compose.yml b/docker-compose.yml index 5681a46..4551f2d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,7 +17,7 @@ services: redis: restart: always - image: redis:6-alpine + image: redis:7-alpine networks: - internal_network healthcheck: @@ -25,26 +25,27 @@ services: volumes: - ./redis:/data - es: - restart: always - image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2 - environment: - - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - - "cluster.name=es-mastodon" - - "discovery.type=single-node" - - "bootstrap.memory_lock=true" - - "cluster.routing.allocation.disk.watermark.low=0.9" - - "cluster.routing.allocation.disk.watermark.high=0.94" - networks: - - internal_network - healthcheck: - test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"] - volumes: - - elasticsearch:/usr/share/elasticsearch/data - ulimits: - memlock: - soft: -1 - hard: -1 + #es: + # restart: always + # image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2 + # environment: + # - "ES_JAVA_OPTS=-Xms512m -Xmx512m" + # - "cluster.name=es-mastodon" + # - "discovery.type=single-node" + # - "bootstrap.memory_lock=true" + # - "cluster.routing.allocation.disk.watermark.low=0.95" + # - "cluster.routing.allocation.disk.watermark.high=0.97" + # - "cluster.routing.allocation.disk.watermark.flood_stage=0.98" + # networks: + # - internal_network + # healthcheck: + # test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"] + # volumes: + # - elasticsearch:/usr/share/elasticsearch/data + # ulimits: + # memlock: + # soft: -1 + # hard: -1 web: build: . @@ -78,7 +79,7 @@ services: # - es volumes: - ./public/system:/mastodon/public/system - + streaming: build: context: . @@ -107,7 +108,7 @@ services: depends_on: - db - redis - + sidekiq-mailers: build: . image: git.solarpunk.moe/solarpunk/mastodon:${MASTO_VERSION} @@ -141,6 +142,7 @@ services: - external_network - internal_network - mail + - httpsproxy volumes: - ./public/system:/mastodon/public/system @@ -159,6 +161,7 @@ services: - external_network - internal_network - mail + - httpsproxy volumes: - ./public/system:/mastodon/public/system @@ -177,6 +180,7 @@ services: - external_network - internal_network - mail + - httpsproxy volumes: - ./public/system:/mastodon/public/system