diff --git a/docker/mastodon/docker-compose.toml b/docker/mastodon/docker-compose.toml deleted file mode 100644 index 1a9067d..0000000 --- a/docker/mastodon/docker-compose.toml +++ /dev/null @@ -1,98 +0,0 @@ -[services.mastodon] -image = "lscr.io/linuxserver/mastodon:latest" -container_name = "mastodon" -restart = "unless-stopped" -env_file = ".env" -environment = [ - "PUID=1000", - "PGID=985", - "TZ=Europe/Helsinki", - "LOCAL_DOMAIN=korhonen.cc", - "WEB_DOMAIN=social.korhonen.cc", - "REDIS_HOST=redis", - "REDIS_PORT=6379", - "DB_HOST=postgres", - "DB_PORT=5432", - "DB_NAME=mastodon", - "DB_USER=mastodon", - "DB_PASS", - "VAPID_PRIVATE_KEY", - "VAPID_PUBLIC_KEY", - "SECRET_KEY_BASE", - "OTP_SECRET", - "SMTP_SERVER=smtp.migadu.com", - "SMTP_PORT=465", - "SMTP_TLS=true", - "SMTP_ENABLE_STARTTLS_AUTO=false", - "SMTP_AUTH_METHOD=plain", - "SMTP_LOGIN", - "SMTP_PASSWORD", - "SMTP_FROM_ADDRESS=social@korhonen.cc", - "S3_ENABLED=false", - "ES_ENABLED=false", - "ES_HOST=elasticsearch", - "ES_PORT=9200", - "ES_USER=elastic", - "ES_PASS=changeme", - "OIDC_ENABLED=true", - "OMNIAUTH_ONLY=true", - "OIDC_DISPLAY_NAME=Korhonen SSO", - "OIDC_DISCOVERY=true", - "OIDC_AUTH_ENDPOINT=https://sso.korhonen.cc/application/o/mastodon/.well-known/openid-configuration", - "OIDC_ISSUER=https://sso.korhonen.cc/application/o/mastodon/", - "OIDC_SCOPE=openid,profile,email", - "OIDC_UID_FIELD=preferred_username", - "OIDC_CLIENT_ID", - "OIDC_CLIENT_SECRET", - "OIDC_REDIRECT_URI=https://social.korhonen.cc/auth/auth/openid_connect/callback", - "OIDC_SECURITY_ASSUME_EMAIL_IS_VERIFIED=true", -] -networks = ["mastodon", "proxy", "postgres"] -volumes = ["/docker/mastodon:/config"] -labels = [ - "traefik.enable=true", - "traefik.docker.network=proxy", - "traefik.http.routers.mastodon-redirect.entrypoints=http", - "traefik.http.routers.mastodon-redirect.rule=Host(`social.korhonen.cc`)", - "traefik.http.routers.mastodon-redirect.middlewares=http2https@file", - "traefik.http.routers.mastodon.entrypoints=https", - "traefik.http.routers.mastodon.middlewares=secHeaders@file,compress@file", - "traefik.http.routers.mastodon.rule=Host(`social.korhonen.cc`)", - "traefik.http.routers.mastodon.service=mastodon", - "traefik.http.services.mastodon.loadbalancer.server.port=443", - "traefik.http.services.mastodon.loadbalancer.server.scheme=https", - "traefik.http.services.mastodon.loadbalancer.serverstransport=ignorecert@file", -] - -[services.elasticsearch] -image = "docker.elastic.co/elasticsearch/elasticsearch:8.5.3" -container_name = "mastodon-elasticsearch" -restart = "unless-stopped" -volumes = ["/docker/mastodon/elasticsearch:/usr/share/elasticsearch/data"] -networks = ["mastodon"] -environment = [ - "cluster.name=mastodon-es-cluster", - "node.name=mastodon-node", - "discovery.type=single-node", - "bootstrap.memory_lock=true", - "ES_JAVA_OPTS=-Xms200m -Xmx200m", -] -[services.elasticsearch.ulimits.memlock] -soft = -1 -hard = -1 - -[services.redis] -image = "redis:alpine" -container_name = "mastodon-redis" -networks = ["mastodon"] -restart = "unless-stopped" - - -[networks.mastodon] -external = false - -[networks.proxy] -external = true - -[networks.postgres] -external = true diff --git a/docker/misskey/docker-compose.toml b/docker/misskey/docker-compose.toml new file mode 100644 index 0000000..3458d57 --- /dev/null +++ b/docker/misskey/docker-compose.toml @@ -0,0 +1,39 @@ +[services.misskey] +image = "misskey/misskey" +container_name = "misskey" +restart = "unless-stopped" +depends_on = ["redis"] +ports = ["3082:3000"] +networks = ["misskey", "proxy", "postgres"] +volumes = [ + "/docker/misskey/files:/misskey/files", + "/docker/misskey/config:/misskey/.config:ro", +] +labels = [ + "traefik.enable=true", + "traefik.docker.network=proxy", + "traefik.http.routers.misskey-redirect.entrypoints=http", + "traefik.http.routers.misskey-redirect.rule=Host(`social.korhonen.cc`)", + "traefik.http.routers.misskey-redirect.middlewares=http2https@file", + "traefik.http.routers.misskey.entrypoints=https", + "traefik.http.routers.misskey.middlewares=secHeaders@file,compress@file", + "traefik.http.routers.misskey.rule=Host(`social.korhonen.cc`)", + "traefik.http.routers.misskey.service=misskey", + "traefik.http.services.misskey.loadbalancer.server.port=3000", +] + +[services.redis] +image = "redis" +container_name = "misskey-redis" +restart = "unless-stopped" +networks = ["misskey"] +volumes = ["/docker/misskey/redis:/data"] + +[networks.misskey] +internal = true + +[networks.proxy] +external = true + +[networks.postgres] +external = true