Migrate Manyfold (formerly Vandam) to Stacks

This commit is contained in:
Joey Hafner 2024-10-08 11:54:54 -07:00
parent 42bb35eae1
commit a982577afe
No known key found for this signature in database
5 changed files with 170 additions and 45 deletions

View File

@ -1,45 +0,0 @@
services:
vandam:
image: ghcr.io/floppy/van_dam:latest
container_name: vandam_vandam
env_file:
- path: ./vandam_secrets.env
required: false
volumes:
- ${STL_DIR}:/libraries
networks:
- web
- vandam
labels:
- traefik.http.routers.vandam.rule=Host(`3d.jafner.net`)
- traefik.http.routers.vandam.tls.certresolver=lets-encrypt
- traefik.http.routers.vandam.middlewares=traefik-forward-auth@file
depends_on:
- db
- redis
db:
image: postgres:latest
container_name: vandam_postgres
networks:
- vandam
env_file:
- path: ./db_secrets.env
required: false
volumes:
- db_data:/var/lib/postgresql/data
redis:
image: redis:latest
networks:
- vandam
container_name: vandam_redis
volumes:
db_data:
networks:
web:
external: true
vandam:

View File

@ -0,0 +1,54 @@
services:
manyfold:
image: ghcr.io/manyfold3d/manyfold:latest
container_name: manyfold_manyfold
environment:
PUID: "1001"
PGID: "1001"
REDIS_URL: "redis://redis:6379/1"
DATABASE_ADAPTER: "postgresql"
DATABASE_HOST: "postgres"
DATABASE_USER: "manyfold"
DATABASE_NAME: "manyfold"
env_file:
- path: ./manyfold.secrets
required: true
volumes:
- ${STL_DIR}:/libraries
networks:
- web
- manyfold
labels:
- traefik.http.routers.manyfold.rule=Host(`manyfold.jafner.net`)
- traefik.http.routers.manyfold.tls.certresolver=lets-encrypt
- traefik.http.routers.manyfold.middlewares=traefik-forward-auth@file
depends_on:
- postgres
- redis
postgres:
image: postgres:15
container_name: manyfold_postgres
networks:
- manyfold
environment:
POSTGRES_USER: manyfold
env_file:
- path: ./postgres.secrets
required: true
volumes:
- postgres_data:/var/lib/postgresql/data
redis:
image: redis:7
networks:
- manyfold
container_name: manyfold_redis
volumes:
postgres_data:
networks:
web:
external: true
manyfold:

View File

@ -0,0 +1,58 @@
{
"data": "ENC[AES256_GCM,data:/rLRtCdOwj3TWKs/HL3VQiSagekUueSs+A1F9SwrswgOF7bdR8DsrNMCgmb6Insg+djIj7a9D23AuoSsDTroQzgGHdAWEn9l8YKKTr/n909EBhDsszqtM9mK5PxcDnQUJydTZbK6BY4K0hkQiOuBpRcq4WCh+M78xboVYgOPTTmusCAs,iv:kFPdTG+sOuRy4ey7j5w3Fx41ODX6VYSTJCi/5jD0cAs=,tag:3td1E9sMkBjQJ+8sTBo0mg==,type:str]",
"sops": {
"shamir_threshold": 2,
"key_groups": [
{
"hc_vault": null,
"age": [
{
"recipient": "age1zswcq6t5wl8spr3g2wpxhxukjklngcav0vw8py0jnfkqd2jm2ypq53ga00",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOY1BhOTltekVMU2E3Rm8z\ndjNJR3ZXVjdZdi9jVURGNDlUN3Bocm5SMWhRCkVFL1k1TytxL1BuV0x2NmFwdWEr\nSURLNUkzWU9ObzNHMms3eE9iSEtRQncKLS0tIEtBVE52eUc0aTB4OHRNUlpQMTBW\nTHcyZFdmYVErdCtHMnc3S3d4cHVMVW8KKPbqsFNbZrIpQWsHFT+rELNc256XpfI5\nn/YjKoItQisiq9bTV2uakAfOHbEMIJLfaa63skTlAuAE7Y72ulz02bI=\n-----END AGE ENCRYPTED FILE-----\n"
}
]
},
{
"hc_vault": null,
"age": [
{
"recipient": "age1zswcq6t5wl8spr3g2wpxhxukjklngcav0vw8py0jnfkqd2jm2ypq53ga00",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxc29HTk53bGJpOHRXNW1h\ncDhNVU9YL2w4TE14UkxycG5FZWl6Tmk1aFdZClQ5Y0tQUy9YaG9ORHFoVXNxa0dS\nUjRHVUtYYXJzSUtqbFBwZ3dvMjF0Yk0KLS0tIGdtZEY4bkswQnBWRTkxbFJoMEVM\nb28rWnVtT0ErUjhHVG9LVkhoR2hYenMKHvSZjkQSYD1cAcaFJvt5dm1gP5irqmv+\ny/pjWgP0v2TirS03Cao3yMg9apu77ACYMLjsRetqwNuOV7uqZtOs7d4=\n-----END AGE ENCRYPTED FILE-----\n"
}
]
},
{
"hc_vault": null,
"age": [
{
"recipient": "age193t908fjxl8ekl77p5xqnpj4xmw3y0khvyzlrw22hdzjduk6l53q05spq3",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLQjQ2K3h3YytsQWZkUWww\nSHZwRDYvQ1JFSzd1RFRBeGhoTEZMS2sxcEZnClZ4QnZWNE9Qb3lYMlVkWHlBWk9E\nQVY5ZHM0anpvemhNdVJuUXIwanJaOW8KLS0tIHE0cDRDSTR2c1JXT3FIOXBlMDhR\nWUluUEVYd21uSHUvLzJqQ2d4TnF3TFUK7ATZTe1SnO4gepF+lwQEmFGvoiBUvCM9\nYlR3vtwklFDXr1nk5ldjePRownCpG/Yb/nWRXAOh3rNkrUniEA3VeeA=\n-----END AGE ENCRYPTED FILE-----\n"
}
]
},
{
"hc_vault": null,
"age": [
{
"recipient": "age13prhyye2jy3ysa6ltnjgkrqtxrxgs0035d86jyn4ltgk3wxtqgrqgav855",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaSXU1OU1SR0lmSHlxNGNO\nTWRpRkE2YngzcHlWUlkyaGI2dkhYZzBYekhjCksxd1EzaUJDUC9xMDZkVEI2M3VL\nWWloeHBKeXY2WjZ3d0pjeTVvN25EaFUKLS0tIG9sOGwwVTE5M3hYb2RxTE9iQlYy\ndmdqNytKRURsV2Zod2d5VWh4WlVoRncK0Lf+BCDkDh3W/MSbntWBaayY3271Id7M\ns0es3/cLGoIj25XCsShFNKvCqZdpCnOlcBwSucKbQI04zUnPhy7D6GM=\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1n20krynrj75jqfy2muvhrygvzd4ee8ngamljqavsrk033zwx0ses2tdtfe",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzcDBQQlkvQytSWmd6dmd3\ndzIvZkpmdU5lZS9jN1VXaGg4ZzFMaHkxM0FNCkw4d2IzWWw4U3V3Ty9UNjdQU3Vv\nMEszZTArbTFMQnNEREgxcnZwNGlrQjQKLS0tIFg3aUZqOVM1QndRNXE5dGtENXFu\nSHRVQ0RoTGg2WlRaSDZmQzh4TlIyVDgKp9k8Hakqeulcq1aB0EhRj6g2QO7eIqgu\n2bZ/na1+hTjzE7uXDITS7m7P/XBImXk2wupYNQWjPiqFKP/30F7nNck=\n-----END AGE ENCRYPTED FILE-----\n"
}
]
}
],
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": null,
"lastmodified": "2024-10-08T18:54:39Z",
"mac": "ENC[AES256_GCM,data:9om/bmA4LAovlO5D0Q/TLLSY4IGeUXaBG6EAx7S0NmEOp8ctBXDq4f2DBWJyUVsI443wX1rTLArO1lyG84TgpB0/JXPdwVLa4vsqnJJCvm/rGU7X3rCk32GuktE9MaIkKQQJbQH1dSBLt+swyKTGH8qztolcenngP6pp5nciLec=,iv:bLmB5Q+mVERTR1VLLB1d+gxhSV8QGPpN/MCpwK6rGYA=,tag:sBRJWDo3RrmLotHuuNIZcg==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.9.0"
}
}

View File

@ -0,0 +1,58 @@
{
"data": "ENC[AES256_GCM,data:YVUtJ7/TMEHZt1a+vruciEfG/veqNGFGBHyKWH7/+xDeHvE8nZ4iF5h9tEGA6XmIVQfHN21K8v4wmhKvxJKfhAc3,iv:pthOj8UfK2mPhiG+VfLaBt36IQAQX516vlSkAu4q6bo=,tag:XBWRS4/71VFLIvhxuFwI8w==,type:str]",
"sops": {
"shamir_threshold": 2,
"key_groups": [
{
"hc_vault": null,
"age": [
{
"recipient": "age1zswcq6t5wl8spr3g2wpxhxukjklngcav0vw8py0jnfkqd2jm2ypq53ga00",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxcGZLdWhwNzF5YUNKdlVD\nVytzdXlSRmRIYlpROHFZZThMZWhLTktwQnlRClhjdkxYV2hDOTRIcVNXUXphMUtC\nam5XWnIxOFFaSkthM2w5QVZac0RBVXMKLS0tIFdLY3pndmNwTHRxV0VWOEEzVlR2\nL0tUVWZCSUQ3VDJOZWxNMUhSeUNpNkEKkRqifh3mIhUGZ+BT2vZLaefpd7pDH9/p\n9sAcVETkjlDY1wVEOHXJGTeOpy5PbamDvVuHPlIq3lL1qDbtYZTHodQ=\n-----END AGE ENCRYPTED FILE-----\n"
}
]
},
{
"hc_vault": null,
"age": [
{
"recipient": "age1zswcq6t5wl8spr3g2wpxhxukjklngcav0vw8py0jnfkqd2jm2ypq53ga00",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByQ3NwNGpCdlhPSVB3RThM\nSVpDSmtPS2djOUNHVUNQNFBodlVoRmRka0Y0CkRMa0x5eGNiZFVTdStTa3Yzb3Ny\nckVwTTUzNzRkM3N5QmtrZU95RTV2S2MKLS0tIGpTSmJhRnRPNFY2Wmk2cllSd0VO\nU3dsVWRtaDc0N0lDTy95eUFNTlNvbEkKt3Oe8Jm+4NOcvXYT7pbpyVy1gdJQ1WSC\nZdLobZsEJScuTmlRdG6jb37Z5tjq4jBcmnAOg8Z+i2xy8uAODMIzgcw=\n-----END AGE ENCRYPTED FILE-----\n"
}
]
},
{
"hc_vault": null,
"age": [
{
"recipient": "age193t908fjxl8ekl77p5xqnpj4xmw3y0khvyzlrw22hdzjduk6l53q05spq3",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHdXlRNzlwSy9XTVFzc3hX\nTmxRZTNETGhqUmJjRTNPUldDa0NSZGNqcWpnClExaFM2czRCa2xNSENMS3kybFp3\nTk9QSE5ISFlqQ1VZRjJJUzI1cXFjaHcKLS0tIDRFNXNKbktwSFFRQXRoT3dJdzE2\nMnBJbkhpMUJzZnZjUDByelRLb0xvNUEKwPSHI4jY2Cw2tsvdY30TJgYkJb8KNREy\nc+XjlKez3vuuuCmeUNeCBTcBOw+qJjB/BkraXR3f/C6AJ1hZrg1g1Zk=\n-----END AGE ENCRYPTED FILE-----\n"
}
]
},
{
"hc_vault": null,
"age": [
{
"recipient": "age13prhyye2jy3ysa6ltnjgkrqtxrxgs0035d86jyn4ltgk3wxtqgrqgav855",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRVGhKbkV3ZUdGWU1vb1A5\nem9nNzcxaTdlY3lVV3ROcHJIWFhvdDVXNlJnCksrODNQc0g3ZzR6VlR4ekFvTWxl\na01ka25HU2YvYWhYTVc0NmtjTHBpc28KLS0tIG4yYkhIRmRNcG1EWGxnRC9OclNT\nOW1CQnZXZFBkNjg4TDloWDNQQ3ZkMTQKgbFSxtERB1vBfObKIIj/EWOK9RYa2/Y8\nrbpkxqEtFmtSPJ7wMM/IxpLsYSuLm9ZnlpjQlWvnpO1aJ201qgnY8BM=\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1n20krynrj75jqfy2muvhrygvzd4ee8ngamljqavsrk033zwx0ses2tdtfe",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYZ3ZvbGpxd3p2U21LNkps\ncVNvdnc5MUp6Nk5Ed0crb3lTSVIzOWJ6SlJnCk90TE5FZU54T3BwUmlaRE5KUDVT\nbkt2U1ZUOEdqNjVPOHo0ZmlOTzhpYUkKLS0tIGxOYVVIc1djZVIwSXlYV09IVkh4\nbllqZkJTTFI0ZDM3Y3pObTd4a2VPbTAKQHhjG5bRazEilzGkHLwNio8hkvZNqgvI\nxGH7HPh2KKe/3UkiTNA2jdEmdCSC5DA+R01nDgBNX8shNz7NPUY2uew=\n-----END AGE ENCRYPTED FILE-----\n"
}
]
}
],
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": null,
"lastmodified": "2024-10-08T18:54:39Z",
"mac": "ENC[AES256_GCM,data:szIgJj+CaEms9yg6PV7FffMyVRb1X3WsPcXTCzPlflNp05tlqY64gCuCwNiIIu8BxZgNi2LDTrIuvwwunKxFxW5xONdz4Ji7r1swmhY4c0BJggQXAMmLDg7t+p0n4rXAxGPrNHTiBWkha+IxI9faydHUpiZ0dMEvIRdJRmUqnN8=,iv:I6wMEPRLl3S3J349R63hWCCLgZRp83mU80zJNdsvD14=,tag:FntjWMXkNWy9JT0KiIXMlw==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.9.0"
}
}