compose and entrypoint
This commit is contained in:
parent
2dad575042
commit
7525bcaabb
@ -6,13 +6,15 @@ RUN git clone -n --depth=1 --filter=tree:0 https://github.com/misskey-dev/misske
|
|||||||
git checkout
|
git checkout
|
||||||
RUN cd /misskey/packages/misskey-reversi && yarn --dev && yarn build && \
|
RUN cd /misskey/packages/misskey-reversi && yarn --dev && yarn build && \
|
||||||
cd ../misskey-js && yarn --dev && yarn build && \
|
cd ../misskey-js && yarn --dev && yarn build && \
|
||||||
cd ../backend && yarn add ../misskey-reversi ../misskey-js && yarn build
|
cd ../backend && yarn add ../misskey-reversi ../misskey-js && yarn --dev && yarn build
|
||||||
|
|
||||||
FROM node:22-bookworm-slim
|
FROM node:22-bookworm-slim
|
||||||
COPY --from=build --chown=node:node /misskey/.config /.config
|
COPY --from=build --chown=node:node /misskey/.config /.config
|
||||||
COPY --from=build --chown=node:node /misskey/packages/meta.json /built/meta.json
|
COPY --from=build --chown=node:node /misskey/packages/meta.json /built/meta.json
|
||||||
COPY --from=build --chown=node:node /misskey/packages/backend /fedired/backend
|
COPY --from=build --chown=node:node /misskey/packages/backend /fedired/backend
|
||||||
USER node
|
USER node
|
||||||
RUN cp /.config/example.yml /.config/default.yml
|
COPY ./default.yml /.config/default.yml
|
||||||
WORKDIR /fedired/backend
|
WORKDIR /fedired/backend
|
||||||
ENTRYPOINT ["yarn", "start"]
|
COPY ./entrypoint.sh .
|
||||||
|
EXPOSE 3000
|
||||||
|
ENTRYPOINT ["/bin/bash", "./entrypoint.sh"]
|
||||||
|
50
compose.yml
Normal file
50
compose.yml
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
services:
|
||||||
|
|
||||||
|
fedired-backend:
|
||||||
|
build: .
|
||||||
|
image: fedired-backend:develop
|
||||||
|
container_name: fedired
|
||||||
|
hostname: fedired
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
- postgres
|
||||||
|
expose:
|
||||||
|
- "3000"
|
||||||
|
volumes:
|
||||||
|
- ./files:/fedired/files
|
||||||
|
- ./default.yml:/.config/default.yml:ro
|
||||||
|
networks:
|
||||||
|
fedirednet:
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis
|
||||||
|
container_name: redis-fedired
|
||||||
|
hostname: redis-fedired
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./redis:/data
|
||||||
|
expose:
|
||||||
|
- 6379
|
||||||
|
networks:
|
||||||
|
fedirednet:
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: postgres:9.6
|
||||||
|
container_name: postgres-fedired
|
||||||
|
hostname: postgres-fedired
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./pg_data:/var/lib/postgresql/data
|
||||||
|
- ./pg_backups:/pg_backups
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=fedired
|
||||||
|
- POSTGRES_PASSWORD=fedired
|
||||||
|
- POSTGRES_DB=fedired
|
||||||
|
expose:
|
||||||
|
- 5432
|
||||||
|
networks:
|
||||||
|
fedirednet:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
fedirednet:
|
229
default.yml
Normal file
229
default.yml
Normal file
@ -0,0 +1,229 @@
|
|||||||
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
# fedired configuration
|
||||||
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
# ┌─────┐
|
||||||
|
#───┘ URL └─────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
# Final accessible URL seen by a user.
|
||||||
|
url: http://fedired-backend/
|
||||||
|
|
||||||
|
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
|
||||||
|
# URL SETTINGS AFTER THAT!
|
||||||
|
|
||||||
|
# ┌───────────────────────┐
|
||||||
|
#───┘ Port and TLS settings └───────────────────────────────────
|
||||||
|
|
||||||
|
#
|
||||||
|
# fedired requires a reverse proxy to support HTTPS connections.
|
||||||
|
#
|
||||||
|
# +----- https://example.tld/ ------------+
|
||||||
|
# +------+ |+-------------+ +----------------+|
|
||||||
|
# | User | ---> || Proxy (443) | ---> | fedired (3000) ||
|
||||||
|
# +------+ |+-------------+ +----------------+|
|
||||||
|
# +---------------------------------------+
|
||||||
|
#
|
||||||
|
# You need to set up a reverse proxy. (e.g. nginx)
|
||||||
|
# An encrypted connection with HTTPS is highly recommended
|
||||||
|
# because tokens may be transferred in GET requests.
|
||||||
|
|
||||||
|
# The port that your fedired server should listen on.
|
||||||
|
port: 3000
|
||||||
|
|
||||||
|
# You can also use UNIX domain socket.
|
||||||
|
# socket: /path/to/fedired.sock
|
||||||
|
# chmodSocket: '777'
|
||||||
|
|
||||||
|
# ┌──────────────────────────┐
|
||||||
|
#───┘ PostgreSQL configuration └────────────────────────────────
|
||||||
|
|
||||||
|
db:
|
||||||
|
host: postgres-fedired
|
||||||
|
port: 5432
|
||||||
|
|
||||||
|
# Database name
|
||||||
|
db: fedired
|
||||||
|
|
||||||
|
# Auth
|
||||||
|
user: fedired
|
||||||
|
pass: fedired
|
||||||
|
|
||||||
|
# Whether disable Caching queries
|
||||||
|
#disableCache: true
|
||||||
|
|
||||||
|
# Extra Connection options
|
||||||
|
#extra:
|
||||||
|
# ssl: true
|
||||||
|
|
||||||
|
dbReplications: false
|
||||||
|
|
||||||
|
# You can configure any number of replicas here
|
||||||
|
#dbSlaves:
|
||||||
|
# -
|
||||||
|
# host:
|
||||||
|
# port:
|
||||||
|
# db:
|
||||||
|
# user:
|
||||||
|
# pass:
|
||||||
|
# -
|
||||||
|
# host:
|
||||||
|
# port:
|
||||||
|
# db:
|
||||||
|
# user:
|
||||||
|
# pass:
|
||||||
|
|
||||||
|
# ┌─────────────────────┐
|
||||||
|
#───┘ Redis configuration └─────────────────────────────────────
|
||||||
|
|
||||||
|
redis:
|
||||||
|
host: redis-fedired
|
||||||
|
port: 6379
|
||||||
|
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
|
#pass: example-pass
|
||||||
|
#prefix: example-prefix
|
||||||
|
#db: 1
|
||||||
|
# You can specify more ioredis options...
|
||||||
|
#username: example-username
|
||||||
|
|
||||||
|
#redisForPubsub:
|
||||||
|
# host: localhost
|
||||||
|
# port: 6379
|
||||||
|
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
|
# #pass: example-pass
|
||||||
|
# #prefix: example-prefix
|
||||||
|
# #db: 1
|
||||||
|
# # You can specify more ioredis options...
|
||||||
|
# #username: example-username
|
||||||
|
|
||||||
|
#redisForJobQueue:
|
||||||
|
# host: localhost
|
||||||
|
# port: 6379
|
||||||
|
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
|
# #pass: example-pass
|
||||||
|
# #prefix: example-prefix
|
||||||
|
# #db: 1
|
||||||
|
# # You can specify more ioredis options...
|
||||||
|
# #username: example-username
|
||||||
|
|
||||||
|
#redisForTimelines:
|
||||||
|
# host: localhost
|
||||||
|
# port: 6379
|
||||||
|
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
|
# #pass: example-pass
|
||||||
|
# #prefix: example-prefix
|
||||||
|
# #db: 1
|
||||||
|
# # You can specify more ioredis options...
|
||||||
|
# #username: example-username
|
||||||
|
|
||||||
|
# ┌───────────────────────────┐
|
||||||
|
#───┘ MeiliSearch configuration └─────────────────────────────
|
||||||
|
|
||||||
|
# You can set scope to local (default value) or global
|
||||||
|
# (include notes from remote).
|
||||||
|
|
||||||
|
#meilisearch:
|
||||||
|
# host: localhost
|
||||||
|
# port: 7700
|
||||||
|
# apiKey: ''
|
||||||
|
# ssl: true
|
||||||
|
# index: ''
|
||||||
|
# scope: local
|
||||||
|
|
||||||
|
# ┌───────────────┐
|
||||||
|
#───┘ ID generation └───────────────────────────────────────────
|
||||||
|
|
||||||
|
# You can select the ID generation method.
|
||||||
|
# You don't usually need to change this setting, but you can
|
||||||
|
# change it according to your preferences.
|
||||||
|
|
||||||
|
# Available methods:
|
||||||
|
# aid ... Short, Millisecond accuracy
|
||||||
|
# aidx ... Millisecond accuracy
|
||||||
|
# meid ... Similar to ObjectID, Millisecond accuracy
|
||||||
|
# ulid ... Millisecond accuracy
|
||||||
|
# objectid ... This is left for backward compatibility
|
||||||
|
|
||||||
|
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
|
||||||
|
# ID SETTINGS AFTER THAT!
|
||||||
|
|
||||||
|
id: 'aidx'
|
||||||
|
|
||||||
|
# ┌─────────────────────┐
|
||||||
|
#───┘ Other configuration └─────────────────────────────────────
|
||||||
|
|
||||||
|
# Whether disable HSTS
|
||||||
|
#disableHsts: true
|
||||||
|
|
||||||
|
# Number of worker processes
|
||||||
|
clusterLimit: 2
|
||||||
|
|
||||||
|
# Job concurrency per worker
|
||||||
|
#deliverJobConcurrency: 128
|
||||||
|
#inboxJobConcurrency: 16
|
||||||
|
#relashionshipJobConcurrency: 16
|
||||||
|
# What's relashionshipJob?:
|
||||||
|
# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations.
|
||||||
|
|
||||||
|
# Job rate limiter
|
||||||
|
#deliverJobPerSec: 128
|
||||||
|
#inboxJobPerSec: 32
|
||||||
|
#relashionshipJobPerSec: 64
|
||||||
|
|
||||||
|
# Job attempts
|
||||||
|
#deliverJobMaxAttempts: 12
|
||||||
|
#inboxJobMaxAttempts: 8
|
||||||
|
|
||||||
|
# Local address used for outgoing requests
|
||||||
|
#outgoingAddress: 127.0.0.1
|
||||||
|
|
||||||
|
# IP address family used for outgoing request (ipv4, ipv6 or dual)
|
||||||
|
outgoingAddressFamily: dual
|
||||||
|
|
||||||
|
# Proxy for HTTP/HTTPS
|
||||||
|
#proxy: http://127.0.0.1:3128
|
||||||
|
|
||||||
|
#proxyBypassHosts:
|
||||||
|
# - api.deepl.com
|
||||||
|
# - api-free.deepl.com
|
||||||
|
# - www.recaptcha.net
|
||||||
|
# - hcaptcha.com
|
||||||
|
# - challenges.cloudflare.com
|
||||||
|
|
||||||
|
# Proxy for SMTP/SMTPS
|
||||||
|
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
|
||||||
|
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
|
||||||
|
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
|
||||||
|
|
||||||
|
# Media Proxy
|
||||||
|
# Reference Implementation: https://github.com/fedired-dev/media-proxy
|
||||||
|
# * Deliver a common cache between instances
|
||||||
|
# * Perform image compression (on a different server resource than the main process)
|
||||||
|
#mediaProxy: https://example.com/proxy
|
||||||
|
|
||||||
|
# Proxy remote files (default: true)
|
||||||
|
# Proxy remote files by this instance or mediaProxy to prevent remote files from running in remote domains.
|
||||||
|
proxyRemoteFiles: false
|
||||||
|
|
||||||
|
# Movie Thumbnail Generation URL
|
||||||
|
# There is no reference implementation.
|
||||||
|
# For example, fedired will point to the following URL:
|
||||||
|
# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4
|
||||||
|
#videoThumbnailGenerator: https://example.com
|
||||||
|
|
||||||
|
# Sign to ActivityPub GET request (default: true)
|
||||||
|
signToActivityPubGet: true
|
||||||
|
|
||||||
|
# For security reasons, uploading attachments from the intranet is prohibited,
|
||||||
|
# but exceptions can be made from the following settings. Default value is "undefined".
|
||||||
|
# Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)).
|
||||||
|
#allowedPrivateNetworks: [
|
||||||
|
# '127.0.0.1/32'
|
||||||
|
#]
|
||||||
|
|
||||||
|
# Upload or download file size limits (bytes)
|
||||||
|
#maxFileSize: 262144000
|
||||||
|
|
||||||
|
# PID File of master process
|
||||||
|
#pidFile: /tmp/fedired.pid
|
||||||
|
|
||||||
|
driveFilesRepository: /fedired/files
|
4
entrypoint.sh
Executable file
4
entrypoint.sh
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
./node_modules/.bin/typeorm migration:run -d ormconfig.js
|
||||||
|
yarn start
|
||||||
|
|
Loading…
Reference in New Issue
Block a user